فلوكود .. برمجة الميكروكنترولر

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
بسم الله الرحمن الرحيم​

البرمجة ببرنامج FlowcodeV3

في الموضوع التالي سنتعرف على أسلوب جديد في البرمجة : البرمجة بواسطة الرسم : Programmation Graphique
من بين البرامج الخاصة بهده الطريقة المتفردة البرنامج الرائع Flowcode (نزل البرنامج من هنا و التكملة من هنا) ..
فلوكود برنامج يعلمك البرمجة بأسلوب سلس وفي نفس الوقت يمنحك القدرة على إعداد و تنفيذ مشاريع متميزة وحقيقية بالميكروكنترولر ..
ومن خلال البرمجة به تكتشف بالتدريج منطق البرمجة ونظامها الظاهر والخفي..
1/ طريقة عمل فلوكود :
1 - تفتح البرنامج وتبدأ المشروع بضبط اعدادات اساسية من خلال الضغط على ايقونة configure و تبني المسار الخطي لبرنامجك مستخدما الادوات (الرموز والايقونات) التي يوفرها لك البرنامج..ثم تجرب عمله داخل البرنامج ذاته .
2- بعد ذلك وبالضغط على الايقونة compile to Hex فلوكود يحول المسار الخطي الى كود السي المتوافق مع لغة C Ansi التي تعتبر احسن مرجعية للغة السي ، بالكومبيلر boostc المدمج أصلا مع برنامج فلوكود ثم الى ملف اسمبلي واخيرا الى كود HEX الذي سيستقر في ذاكرة المتحكم ..
بعد ذلك ينقل الكود هيكس ببرنامج الحرق + مبرمجة + كومبيتر.​

تنصيب Flowcode V3 :
بعد تنزيل البرنامج من هنا
تنصبه كالمعتاد وتتابع بتنصيب المكمل PPPV3
لا تتجاوز هذه الخطوة بل اضغط على install PPP3.9 ثم تابع الخطوات المتبقية لاكمال التنصيب .
بعد تنصيب البرنامج يمكنك إذا رغبت في ذلك ، ان تحول النسخة ديمو الى نسخة كاملة بالملف الذي ستجده هنا ..http://www.dbaasco.com/vb/redirector.php?url=http://rapidshare.com/files/136489499/Flowcode.rar.html


تطبيقات عملية - مشاريع برمجة ب Flowcode :
المشاريع التالية ..
الهدف منها تعليمي يتمثل في التعريف بخطوات بناء مشروع وخاصة:
* اختيار متحكم مناسب : PIC16F84A هذه المرة
* اختيار تردد مذبذب المتحكم : 4000.000 هرتز مثلا (كريستالة 4Mhz)
* ضبط الاعدادات الاولية المعروفة ب Configuration
الخطوات :
ننشأ مجلدا جديدا في جانب من جهازك ثم تتابع بالخطوات الاساسية التالية :
1- اعدادات شريحة المتحكم الاولية: Configure
هي إعدادات ضرورية لتوليد ملفات هيكس صالحة لتنفيذ مشروع حقيقي .. (هنا)
2- اعداد برنامج تشغل المتحكم :
3- توليد ملف Hex:
انتهينا من التجربة على فلوكود ونريد الحصول على ملف Hex : نضغط على ايقونة Compile to Hex
- يفترض ان الاعدادات الاولية قد تمت سابقا وهو شرط نجاح البرمجة الفعلية (على الواقع).
ملاحظة:
-البرنامج المكمل PPPV3 هو من يمكنك (دون ان يظهر) من ضبط الاعدادات المذكورة وذلك عندما تضغط على ايقونة Chip
ثم على Configure واذا لم يتعرف فلوكود على مكان PPPV3 ستظهر لك رسالة تحذيرية تشير الى ذلك ..
المطلوب إذن: البحث في جهازك عن PPPV3 لادماجه مع فلوكود .
- للتذكير فإنك ستجد PPPV3 في جهازك شرط ان تكون قد نصبته سابقا مع فلوكود عندما طلب منك ذلك: install PPP3.9 .
او تبحث عنه في ملفات تنصيب فلوكود بجهازك ..​

1/ فلاشر_01:
269.imgcache.gif

Pic16f84a
ملفات المحاكاة + الشرح بالصور
(هنا)
2/ فلاشر 02
270.imgcache.gif

PIC16F84A
(هنا)
 

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
ايضاحات مكملة :
1- الدورة الحالية ترتكز على تعلم البرمجة بفلوكود النسخة الثالثة : FlowcodeV3
بالرغم من ظهور النسخة الرابعة حاليا ..
(النسخة الرابعة لمن يريد الاطلاع عليها وعلى إمكاناتها القوية: هنا من المصدر )
وعليه فكل التطبيقات المقبلة ان شاء الله ستكون بالنسخة الثالثة ..
وكلما حدث استثناء نشير اليه في حينه ان شاء الله
2- المصطلحات في البرنامج بلغة اجنبية ..
هذه محاولة شخصية للتعريب لتسهيل مهمة الشرح ..
هنا
3- تنصيب البرنامج المكمل PPV3 يكون ضمن خطوات تنصيب برنامج فلوكود ..هذا المكمل ضروري لادماج الاعدادات الاساسية الخاصة بالبيك .. وهي المعروفة ب Config..
إذا تم تنصيب PPV3 فعلا ، لكن لم يتعرف فلوكود على مكان التنصيب في جهازك .. هذه طريقة إعادة ادماجه معه:
هنا
4- روابط مباشرة للنسخة 3 موضوع الدورة:
البرنامج:
هنا
التكملة: هنا
 

المرفقات

  • 100453404.gif
    100453404.gif
    79.5 KB · المشاهدات: 1,099
  • codes.jpg
    codes.jpg
    76.3 KB · المشاهدات: 1,571
التعديل الأخير:

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
تذكير

تنصيب Flowcode V3 :
(النسخة 3 موضوع الدورة الحالية)
1/ بعد تنزيل البرنامج من هنا
يتم تنصيبه كالمعتاد مع جميع البرامج وتتابع بتنصيب المكمل PPPV3
(تنصيب هذا المكمل ضروري لنجاح البرمجة على أرض الواقع )
لا تتجاوز هذه الخطوة بل اضغط على install PPP3.9 ثم تابع الخطوات المتبقية لاكمال التنصيب .
بعد تنصيب البرنامج يمكنك إذا رغبت في ذلك ، ان تحول النسخة ديمو الى نسخة كاملة بالملف الذي ستجده هنا ..
2/ إذا تم تنصيب PPV3 فعلا ، لكن لسبب ما لم يتعرف فلوكود على مكان تنصيبه في جهازك .. هذه طريقة إعادة ادماجه معه: هنا
3/ تطبقات توضحة بسيطة: هنا
3/ برنامج المحاكاة : PROTEUS
طريقة مبسطة لمحاكاة دوائر الميكروكنترولر : هنا
 

المرفقات

  • Simul.rar.zip
    257 KB · المشاهدات: 2,988
  • Test_01.rar
    99.4 KB · المشاهدات: 1,652
التعديل الأخير:

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
توظيف مداخل المتحكم

إضافة سويتش تحكم

FlowcodeV3

الاهداف :
1- طريقة ادخال سويتش للتحكم في عمل الدارة
2- التعرف على معنى"macro "
3- طريقة استبدال جزء من نفس البرنامج ب ماكرو macro



الملف بالمرفقات
 

المرفقات

  • switch_1.zip
    92.3 KB · المشاهدات: 1,507

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
إشارات المرور الضوئية

إشارات المرور الضوئية

الهدف :
تركيز تعلم توظيف مداخل ومخارج المتحكم
وتعليمات التوقيت

875789995.png


Flowcode V3
froute.png



PIC16F84A


4Mhz



الملف بالمرفقات
 

المرفقات

  • 3f_or.rar
    83.3 KB · المشاهدات: 1,565

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
عداد الكتروني ثنائي

عداد ثنائي تصاعدي تنازلي : 00000000 / 11111111

( 0 / 255 عشري)


الأهداف : تعلم إجراء عمليات حسابية على المتغيرات
استخدام أدوات الشرط والاختبار واتخاذ قرار​

Flowcode V3


657081124.png


الملف بالمرفقات
 

المرفقات

  • ctr1.rar
    71.1 KB · المشاهدات: 1,163

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
استخدام لوحة مفاتيح Keypad

توصيل كيباد keypad

Flowcode V3

attachment.php

(ممكن يكون التطبيق الحالي مناسبة للتمرن على التطبيقات السابقة : توصيل الكيباد مع دوائر الفلاشر)
 

المرفقات

  • key.PNG
    key.PNG
    17.3 KB · المشاهدات: 11,159
  • kp_1.rar
    31.6 KB · المشاهدات: 1,058

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
Lcd .. عداد إلكتروني

عداد الكتروني
شاشة LCD


Flowcode V3
attachment.php



الهدف : تعلم طريقة توصيل الشاشة و استخدامها للعرض

attachment.php




ملف الشرح والتوضيح والتطبيق بالمرفقات​
 

المرفقات

  • LCD_Num.rar
    678 KB · المشاهدات: 1,948
  • lcd1.PNG
    lcd1.PNG
    70.5 KB · المشاهدات: 11,021
  • lcd_n.PNG
    lcd_n.PNG
    39.7 KB · المشاهدات: 11,121

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
الكتابة على LCD
attachment.php


بدل استخدام دالة "كتابة عدد".
PrintNumber
كما في الملف السابق (عداد الكتروني : هنا للتذكير )
نستخدم هذه المرة
دالة "كتابة حروف اوكلمات" :
PrintASCII

attachment.php

(FlowcodeV3)

لكتابة حروف توجد طريقتان هذه أولاهما:

1- طريقة كتابة الكلمة حرفا بحرف :

نكتب كل حرف داخل العلامة ' مرتين .. مثال :
Welcome​
تكتب الحروف متفرقة هكذا :​


'W'
'e'
'l'
'c'
'o'
'm'
'e'
الفراغ يترك فراغا :​

' '​





الملفات بالمرفقات​
 

المرفقات

  • welcome.PNG
    welcome.PNG
    21.9 KB · المشاهدات: 3,638
  • lcd_ASCII.rar
    39.1 KB · المشاهدات: 710
  • wlcme.PNG
    wlcme.PNG
    60.4 KB · المشاهدات: 3,707

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
الكتابة على LCD
الطريقة الثانية​

2 - كتابة سلسلة حروف دفعة واحدة:


هذه المرة نستخدم الدالة المناسبة:​


PrintString


الطريقة : نكتب الكلمة او الجملة داخل العلامتين : " "


مثال:


"zaki chaker"




الملفات بالمرفقات
 

المرفقات

  • lcd3.rar
    20.4 KB · المشاهدات: 505

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
قياس قيم تناظرية ..استخدام المكون adc

مقياس حرارة

طريقة إدخال قيم تناظرية (غير رقمية) للمتحكم

مثال عن طريقة الاستفادة من المكون ADC في برنامج Flowcode لقياس جهود غير رقمية (تناظرية - analog )
معلوم ان المدخل الرقمي في البيك لا يأخذ الا قيمتين :
القيمة 0 منطقي اي 0 فولت تقريبا
القيمة 1 منطقي اي جهد (5 فولت في الدارة ) ولا يستطيع التعرف على القيم التي تتوسط 0 و5 فولت ..
ومعلوم ان البيك PIC16F84a لا يتوفر على محول تناظري / رقمي بينما البيك PIC16F877a (وآخرون) يتوفرون على هذه الميزة التي تمكن من قياس جهد يتراوح من 0 فولت (بل وأقل من 0 فولت) الى اكثر ..مما يسمح ببناء دارات قياس كمقياس الحرارة وقياس الجهد (فولتمتر) او شدة التيار (امبيرمتر) والتحكم في سرعة موتور بواسطة مقاومة متغيرة ...
اضافة مقاومة متغيرة سمحت بالاستفادة من التطبيق TUT_26 المرافق لفلوكود وتحويله لمقياس حرارة ، حتى يكون نموذجا لاستعمالات أخرى.
اختبار التطبيق :
1- افتح فلوكود ثم "ملف" ثم "امثلة" واختر المثال Tut_26
2- سجله في مكان آخر تحت اسم تختاره.
3- غير، ان شئت، المتحكم منPIC16F88 الى PIC16F877a وسرعة تردد البيك .
4- اضغط على الايقونة المناسبة لتوليد ملفات c وasm و HEX
5- جرب عمل الدارة ببرنامج بروتوس بعدما تدمج فيه الملف HEX.
اضافات:
- مفاتيح LM35 ( +/-) الافتراضية ، تمكنك من تغيير درجة الحرارة
- المقاومة وظيفتها الضبط مرة واحدة : فهي تمكنك من جعل الرقم المسجل على مجس الحرارة يتوافق مع درجة الحرارة المسجلة على شاشة العرض LCD

ملف التجربة: في المرفقات
 

المرفقات

  • adc.rar
    139.4 KB · المشاهدات: 1,014

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
ساعة رقمية

ساعة رقمية LCD


PIC16F84A


(ملف التجربة بالمرفقات)
attachment.php


البرنامج مأخوذ من التطبيق TUT_22
من بين التطبيقات المرافقة لبرنامج فلوكود في ملف التنصيب ..
أجريت عليه تعديلات حتى يناسب أكثر الاستعمال المطلوب ..
مرونة برنامج فلوكود وقوته تسمح بذلك .. وتشجع عليه
1-اخترت كريستال يسهل الحصول عليه من ساعات صينية رخيصة الثمن، كوارتز صغير أسطواني الحجم ، خاص بالساعات ويتميز بدقة جيدة.. 2-وكان لابد من اجراء تعديل في ماكرو مقاطعة تايمر البيك وبالضبط في اعدادات التدرج..
3- أضفت كذلك ماكرو ضبط الدقائق والساعات ليصبح البرنامج عمليا..
يمكن بسهولة الوقوف على هذه التعديلات بمقارنة البرنامج الاصلي مع المعدل..وهي فرصة لاجراء مزيد من التعديلات لمن يرغب ، امثلة:
اضافة ايام الاسبوع ، الشهر، السنة..
مؤقت تنبيه واحد او أكثر..
تغيير العرض من LCD الى 7segments
وغير ذلك..
مع هذ الملف نأتي الى ختام هذه السلسلة من التطبيقات التوضيحية لالاستخدامات المعتادة
أتمنى ان تكون هذه المساهمة
قد حققت ولو بعضا من أهدافها :
تقريب البرمجة وتبسيطها
فلوكود برنامج قوي للبرمجة وقادر لوحده على بناء مشاريع متميزة
كما انه ينتج ملفات بلغة سي يمكن ان يساعد كل من يبرمج بهذه اللغة
دمتم بخير
والى لقاء قادم بإذن الله



زكي شاكر
 

المرفقات

  • clock.rar
    22.5 KB · المشاهدات: 588
  • clklcd.PNG
    clklcd.PNG
    28.1 KB · المشاهدات: 1,903

7neen

عضو جديد
إنضم
3 يوليو 2009
المشاركات
7
مجموع الإعجابات
0
النقاط
0
والله كلام مفيد جدا وشكلو البرنامج دا خطيييير
انا بصدد تصميم لوحة اعلانات بأستخدام المايكروكنترولا
ياريت لو لقيت اي شئ ممكن يفيدني تنزله لي واكون شاكرة واكيد ح احاول استخدم هذا البرنامج الخطيييير

جزاك الله خير.....
 

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
والله كلام مفيد جدا وشكلو البرنامج دا خطيييير
انا بصدد تصميم لوحة اعلانات بأستخدام المايكروكنترولا
ياريت لو لقيت اي شئ ممكن يفيدني تنزله لي واكون شاكرة واكيد ح احاول استخدم هذا البرنامج الخطيييير

جزاك الله خير.....
فعلا البرنامج قوي ويمنحك القدرة على انجاز وتنفيذ مشاريع ميكروكنترولر pic حقيقية ومميزة ..
مشروعك قابل للتحقيق بفلوكود ..
ومع فلوكود البرمجة بلا حدود ..
 

noornader

عضو جديد
إنضم
5 يناير 2007
المشاركات
21
مجموع الإعجابات
1
النقاط
0
السلام عليكم أخى العزيز/ زكى شاكر
مرحبا بك فى ملتقى المهندسين
الموضوع غاية فى الاهمية فهو يكسر حاجز الخوف
امام كل مبتدئ يريد الدخول فى برمجة الميكروكنترولر بدون تعقيد
فلوكود عملاق فى مجاله ويستحق الاقتناء

بارك الله فيك وجعل عملك فى ميزان حسناتك ..

شكرا لك وتقبل تحياتى
 

زكي شاكر

عضو جديد
إنضم
7 يوليو 2009
المشاركات
117
مجموع الإعجابات
4
النقاط
0
وعليكم السلام أخى العزيز/ نورنادر
الحق ما تقول اخي العزيز

فلوكود عملاق فى مجاله
شكرا لك على كلماتك الطيبة بارك الله فيك
وان شاء الله معا نستمر مع فلوكود ، أسلوب البرمجة بلا حدود ..
تقبل تحياتى
 

noornader

عضو جديد
إنضم
5 يناير 2007
المشاركات
21
مجموع الإعجابات
1
النقاط
0
إضاءة ليدات بصفة دورية - فلاشر 3

السلام عليكم ورحمة الله وبركاته

مشاركة منى لأخى العزيز/ زكى شاكر فى هذا الموضوع الهام والخاص ببرمجة الميكروكنترولر باستخدام فلوكود العملاق

اقدم اول مشرع لى فى هذا الملتقى الطيب

فلاشر 3

get-7-2009-4w6t1f2t.GIF


فى هذا المشروع تضاء الليدات بصفة دورية من اليسار الى اليمن دون توقف

get-7-2009-4bxbo4tv.JPG


صورة لمخطط تنفيذ المشروع ببرنامج فلوكود

get-7-2009-lhk64ow7.png


صورة لمخطط محاكاة المشروع ببرنامج بروتس


الهدف: ادراك تنفيذ الحركة الضوئية فى الليدات
المتحكم المستخدم: PIC16F84a

ملف الفلوكود من هنا
ملف بروتس والهيكس من هنا

وبالتوفيق إن شاء الله
 
أعلى