ahmad130 مدير عام
عدد المساهمات : 717 تاريخ التسجيل : 02/12/2007 العمر : 37 العمل/الترفيه : الانترنيت المزاج : مرح
| موضوع: PIC16F84a : مقاربة مختلفة للبرمجة 3/6/2009, 6:42 am | |
| السلام عليكم 1/ مراحل برمجة المتحكم PIC16F84a وغيره: في إطارها الصحيح ، تمر عملية برمجة اي ميكروكونترولر من 3 مراحل أساسية:1- كتابة المسار الخطي flowchart , Organigramme لبرنامج تشغيل المتحكم 2- إعداد ملف HEX:هذا الاعداد يتم بدوره عبر عدة مراحل :ا- اختيار لغة معروفة لبرمجة البيك مثل : الاسمبلي أو السي أو البيزك او غيرها..ب- اختيار كومبيلر خاص باللغة المطلوبة مهمته: تحرير برنامج تشغيل البيك وبناء المشروع" build" وتصحيحه ومحاكاته اذا توفرت فيه هذه الخاصية.وهذه امثلة عن بعض الكومبيلرات المشهورة، بحسب اللغات:لغةالاسمبلي:برنامج MPLAB (وهو الاقوى والاكثر شهرة للاسمبلي وكذلك كمكمل لبعض كومبيلرات اللغات الاخرى c او basic ) او غيره..لغة MikroC : C او CCS او PICC او BoostC او غيرها وكل برنامج يختلف قليلا او كثيرا عن الاخر في تركيب بعض التعليمات لغة Picbasic : Basic او pro Proton او Mikrobasic...او غيرها. وهنا ايضا كل برنامج يختلف قليلا او كثيرا عن الاخر في تركيب بعض التعليمات .ج- كتابة البرنامج باللغة المختارة المناسبة للكومبيلر المختار د - توليد الملفات ومن أهمها ملف Hex فهو الملف الوحيد الذي سيمرر الى شريحة المتحكم ويستقر فيه .. 3- نقل محتوى الملف Hex الى شريحة المتحكم:عملية تتم وفق الخطوات التالية:وضع المتحكم في المبرمجةوربط المبرمجة بالمنفذ المناسب في الكومبيوتر ثم إرسال الملف Hex الى "داخل" المتحكمبواسطة احد البرامج المختصة مثل winpic او ic prog او غيرها شريطة ان يدعم المبرمجة المختارة.winpic او ic prog او غيرها برامج بها إعدادات جد هامة لهذه المرحلةمن البرمجة يجب الانتباه اليها ، ولابد من ضبطها بالشكل الصحيح.بعد هذه المقدمة نأتي الى موضوعنا الاساسي: 2/ البرمجة ببرنامج Flowcode أسهل طريقة لبرمجة المتحكم PIC16F84a وغيره: 1- الهدف من الموضوع:ميزة هذا النوع من البرمجة هو اختزال مراحل البرمجة الثلاث السابقة ، في مرحلتين فقط هما المرحلة الاولى والاخيرة فلا حاجة عموما للمرحلة الثانية وهي الاصعب: هكذا كل ماعليك هو :- انشاء المسار الخطي و الضغط على أيقونة مناسبة بالبرنامج فلوكود لتوليد الملف Hex- تمرير الملف Hex الى شريحة المتحكمالهدف من هذه الدورة اذن هو :استكشاف البرمجة باستخدام الرسومات Programmation graphique عوض كتابة التعليمات في ملف بلغة برمجة اسمبلي او سي او بيك بيزك او غيرها ، ثم تحويله بكومبيلر (مترجم) الى ملف هيكس،عوض ذلك ، توظف هنا أشكال هندسية بسيطة داخل منظومة خوارزمية واضحة لكن ميسرة،مع تحديد المداخل والمخارج للمتحكم (من نوع بيك بالنسبة لموضوعنا الحالي) .. وتوصيل مداخل البيك بالمفاتيح والحساسات او مولدات نبضات خارجية..والمخارج بالليدات او العارضات او شاشات LCD العادية والملونة وغيرها ...كل تلك العناصر موجودة بالبرنامج للمحاكاة وبالوان جميلة..ومن تم يولد البرنامج حزمة ملفات من بينها ملف هيكس الذي سيودع في البيك..2- البرامج الخاصة بهذا النوع من البرمجة:هناك عدة برامج تؤدي هذا الغرض ، والفكرة ليست جديدة .لكن الآن، بعض هذه البرامج حقق درجة جيدة من التطور، مما جعلها تأخذ مكانا بارزا في المناهج التعليمية المعتمدة في بعض المعاهد الأوروبية..من بين هذه البرامج : Flowcode V33- شرح طريقة انشاء مشروع ب Flowcode افترض انني اريد برمجة متحكم بيك (PIC16F84a) مثلا، يؤدي المهمة التالية:بمجرد توصيل الدارة بمصدر التغذية، يخرج الطرف A0 للمتحكم ، جهدا 5 فولت يشعل الليد الاحمر الموصول به عبر مقاومة 330 اوم. بداية .. ننشأ مجلد جديد ونضع له الاسم الذي نريد. هذا المجلد سيستقبل كل الملفات التي سيولدها برنامج Flowcode بعد الانتهاء من عملية البرمجة.. وخصوصا ملف Hex ، الهدف المنشود. ثم نتبع الخطوات التالية ، (هناك مرونة في ترتيب الخطوات):الخطوات :1 -بناء المشروع والتجربة بفلوكود :لإظهار الصور اضغط هناالصورة 1بعد تشغيل البرنامج وفتح ملف جديد واختيار الميكروكونترولر تظهر الخطاطة المبدئية:رسم يمثل بداية برنامج عمل البيك BEGIN... والإعلان عن نهايته END .ما بين BEGIN و END ستوضع الأشكال التي ترمز إلى المهمات اوالقرارات اوتوصيلات مداخل او مخارج البيك ...الصورة 2:نختار- بالضغط على Chip - تردد مذبذب المتحكم (هناك خيارات اخرى لانحتاجها الان)الصورة 3:ليكن مثلا 4Mhz وهي ذبذبة الكريستالة في الدارة.الصور 4 - 5 - 6 - 7: اختيار طرف من أطراف البيك من احد المنفذين PORTA أو PORTB لتحويله الى مخرج نوصل به الليد:ا- نجعل الطرف RA0 من المنفذ A مخرجا .. ( أطراف المنافذ في البيك ، يمكن ان تبرمج كمداخل او كمخارج حسب المطلوب من المشروع).ب- كيف نحدد هذا الطرف مخرجا او مدخلا ؟ببساطة نضغط على ايقونة المخارج التي تحمل بداخلها الحرفO(وليس ايقونة المداخل I)ج- نضع ان شئنا اسما للطرف علما انRA0 هي A0 في فلوكود فيصبح مثلا Led_on ونختصر PORTA فنحتفظ فقط بالبيت الذي سيوصل معه الليد في هذا التطبيق البسيط جدا..A0الصورة 8 : نضغط على ايقونة Run لبدإ المحاكاة2- توليد ملف Hex:انتهينا من التجربة على فلوكود ونريد توليد ملف هيكس ..ملف هيكس نحتاجه لتجربة عمل الدارة على برنامج محاكاة مثل بروتوس او للتجربة الحقيقية على المتحكم PIC:صورة توضيحية: اضغط هنا ------------------------------------------------------------- تطبيقات توضيحية :1- مشروع ليد يومض باستمرار : أ - بنية المسار الخطي : بنية بسيطة تتكون من الرموز التالية:بداية Begin بداية اشتغال حلقة لانهائية Loop تحديد الطرف المطلوب و اسناد قيمة 1 له ، تجعل الليد يشتعلDelayاسناد قيمة 0 لنفس الطرف تجعل الليد ينطفئDelayنهاية الحلقة Loopنهاية البرنامجEnd ب - التجربة على فلوكود:خطوات بناء المشروع بتفصيل :- ننشئ مجلدا جديدا لاستقبال الملفات النهائية ونختار له اسم حسب الرغبة. - نفتح صفحة مشروع جديد في برنامج فلوكود ونختار متحكم ما ، ليكن مثلا 16F84.1-نضغط على chip فتظهر امامنا بعض الخيارات ، نكتفي في هذه المقاربة التحسيسية بالخيار clock speed2- نختار السرعة 4 ميغاهرتز (السهم يساعد في الاختيار المطلوب).3- نسحب الرموز المطلوبة لتنفيذ البرنامج، من قائمة اليسار ، ونضعها ما بين Begin وEnd.نسحب اولا الرمز loop (مكون الحلقة اللامنتهية) ونضعه بين Beginو End. (هذا الرمز مزدوج وذو طابع شرطي. له بداية تحمل اسم wile 1 و له نهاية.) ثم ، ثانيا، نضع ما بين بدايته ونهايتة رمز المخارج مرتين ورمز المؤقت مرتين .. كما هي دون اكتراث بأسمائها الأولية ولا بمدة التوقيت واذا شئنا ،نستغل هذه الفرصة لإعداد الليدات:- نختصر مجموعة الليدات الى ليد واحد مناسب وهو الليد B7 . اسمه هكذا لانه سيوصل بالطرف RB7 من البورت B او PORTBواذ لم نشأ ، نترك اعدادات الليد الى الخطوة 4 4- نقوم بالتغييرات اللازمة المناسبة لاستعمالنا ، كما تبدو في الصورة 4 اي تحديد المخرج المناسب والقيمة المسندة اليه وزمن اشعال واطفاء الليد .5- نضغط على المثلث الازرق Run لتبدا عملية محاكاة البرنامج الذي انتهينا الان من اعداده.اذا تمت العملية بنجاح سيبدأ الليد في الوميض بالوثيرة التي تم اختيارها سابقا في المكون Delay. ولا يشترط ان يكون زمن الاشعال وزمن الاطفاء متساويان .. لك الاختيار.التفاصيل بالصور:تم بناء المشروع وتجربته على فلوكود كانت ناجحة ننتقل الى مرحلة توليد ملف هيكس .[b]ملف هيكس هو الملف الذي نحتاجه إما :[/b] [b]1- لتجريب الدارة على برنامج محاكاة مثل Proteus او :[/b] [b]2- لبرمجة البيك بواسطة الكومبيوتر + برنامج winpic او غيره + مبرمجة مناسبة[/b] او لهما معا وهو الافضل: تجربة على بروتوس اولا ثم التجربة الحقيقية على البيك ..ج - توليد ملف Hex للمشروع :نضغط على ايقونة compile to hex للحصول على الملف Hex .اذا عدنا للمجلد الذي بدأنا بإنشائه ، سنجد ملفات Cو asm وHex وملفات اخرى متعلقة بالبرنامج فلوكود.توليد ملف هيكس Hex بالصور:http://www3.0zz0.com/2009/02/25/17/920338344.gif-----------تطبيق 2- فلاشر :باتباع الطريقة السابقة يمكنك تنفيذ هذه التجربة للتأكد مما تم اكتسابه: يمكن اختيار نماذج أخرى بإسناد قيم مختلفة للبورت B الذي تم توصيله مع الليدات ..--------------مكملات :1-تنزيل فلوكود مباشرة اضغط هنا :Flowcode PIC Free Demo2-الامثلة التعليمية المرافقة لبرنامج فلوكود:تجدها مباشرة في مجلد فلوكود على الجهاز الذي نصبت فيه البرنامج، او باتباع المسار:File /open/C/Program Files/Matrix Multimedia/Flowcode V3/ Examples3- الموقع:http://matrixmultimedia.com/Flowcode3a-X.php4-برنامج بروتوس لبناء الدوائر ومحاكاة التجارب الالكترونية، اضغط هنا:proteus v7.1 ---------------------------------------------------------------ملفات التجارب :http://filaty.com/f/902/70486/Test_01.rar.html | |
|