قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 17-10-2015, 09:21 PM المشاركة 1   
افتراضي أساسيات برمجة الميكروكونترولر و عملية تطوير البرنامج Twitter FaceBook Google+



أساسيات برمجة الميكروكونترولر
أ- الافكار الرئيسية فى برمجة الميكروكونترولر ( او اى جهاز يعمل بمبدأ الكومبيوتر) هى :
1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set يمكنه التعرف على كل تعليمة وتنفيذها .
2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات ماخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة machine code (.
3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة من خلال تعليمات البرنامج ويفعل تماما ما تخبره به كل تعليمة أن يفعله لا اكثر ولا اقل فيما عدا عند حدوث تحويل مؤقت (المقاطقة) .
· حتى الان هذا امر بسيط ولكن الصعوبة تكمن فى :
4- يجب على المبرمج إيجاد طرق أو وسائل لتجزئة وترجمة أفكاره على شكل خطوات يمكن للميكروكونترولر القيام بها حيث كل خطوة فى جوهرها يجب ان تكون تعليمة من مجموعة تعليماته.
ب‌- مشكلة البرمجة
مشكلة البرمجة ملخصة فى الشكل رقم 1.



فنحن كبشر نعبر عن افكارنا بطريقة معقدة وغالبا ما يكون تعريفها باشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى الى اقصى الحدود ويفعل تماما ما يؤمر به.
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟
هناك ثلاثة طرق لسد هذه الفجوة تفرض نفسها وهى :
1- ان يتعلم الانسان لغة الالة .
وهذا ما كان يستخدمه المبرمجين فيما مضى .
بمشقة يكتب المبرمج كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر قراءتها .
وهذه الطريقة بطيئة للغاية ومملة وعرضة للأخطاء ولكن على الاقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .
2- استخدام لغات البرمجة ذات المستوى المرتفع .
وهذه الطريقة كما لو كنا بطريقة ما نطلب من الميكروكونترولر(أو الكومبيوتر) تعلم لغتنا . فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بادراكنا للغتنا .
فى هذه الحالة نحتاج الى برنامج كومبيوتر اخر يسمى مفسر أو مترجم يقوم بتحويل برنامجنا الى كود لغة الالة الذى يفهمها الميكروكونترولر.
بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .
والنتيجة فان المبرمج ينفصل عن امكانيات الميكروكونترولر وقد يؤدى ذلك الى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .
3- استخدام لغة الاسمبلى وهذا هو الحل الوسط .
فى هذه اللغة تستخدم مجموعة من التعليمات وكل تعليمة من مجموعة التعليمات تحتوى على كلمة تذكير (تفكير – مفكرة ) mnemonic وهى كلمة مكونة من ثلاثة او اربعة حروف تستخدم للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تلك التعليمات .فى هذه اللغة يتعامل المبرمج مباشرة مع الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الاقل فان المبرمج لديه مفكرات mnemonics لأستخدامها افضل من التعامل بشفرة لغة الالة .
يوجد برنامج كومبيوتر خاص يسمى الاسمبلر المتقاطع Cross-Assembler ويختصر بالاسمبلر يعمل على الكومبيوتر الشخصى ويحول الكود من الاسمبلى الى كود لغة الالة التى يفهمها الميكروكونترولر .
طريقة كتابة البرنامج بلغة الاسمبلى ، على سبيل المثال
العملية الفعلية فى الكتابة بلغة الاسمبلى موضحة بالشكل رقم 2 .





1- يكتب مبرمج الميكروكونترولر البرنامج بلغة الأسمبلى .ويمكن فعل ذلك فقط باستخدام محرر نصوص .
فى الشكل سطرين من برنامج بلغة الاسمبلى وهما من مجموعة تعليمات عائلة الميكروكونترولر PIC 16 لتوضيح الفكرة فقط .
2- المصطلح Cross-Assembler اى الأسمبلر المتقاطع يعنى ان الكومبيوتر الذى يعمل عليه يقوم بعمل شفرة الأسمبلى لنوع آخر من الكومبيوتر وهو فى حالتنا الميكروكونترولر واتفق على تسميته اختصارا بالاسمبلر.
3- يقوم الأسمبلر بتحويل البرنامج من لغة الاسمبلى (بمفكراتها) إلى شفرة لغة الآلة الجاهزة (المطلوبة) للميكروكونترولر .
فى الشكل قام الأسمبلر بتحويل سطرين من أسطر كود لغة الأسمبلى إلى شفرة لغة الآلة على شكل كلمات ذات 14-bits لعائلة الميكروكونترلر PIC 16 .
4- يستخدم جهاز برمجة خاص لتحميل download البرنامج بشفرة الآلة من الكومبيوتر الشخصى إلى ذاكرة البرنامج فى الميكروكونترولر .


عملية تطوير البرنامج :
عملية الكتابة بلغة الأسمبلى يجب أن توضع فى السياق الأوسع فى تطوير المشروع .
المراحل الممكنة فى عملية تطوير البرنامج لنظام مشروع بسيط مبينة فى الشكل رقم 3 .




وتتم فى الخطوات التالية :
1- يكتب المبرمج البرنامج الذى نسميه شفرة او كود المصدر source code بلغة الأسمبلى .
2- يتم تحويله شفرة البرنامج باستخدام الأسمبلر وكومبيوتر شخصى إلى ملف سداسى عشر .
3- اذا كان لدى المبرمج محاكى simulator يقوم المبرمج باختبار البرنامج بالمحاكاة ومن المرجح أن يؤدي هذا البرنامج إلى اكتشاف الأخطاء الأمر الذي يتطلب تغيير شفرة المصدر الأصلي .
4- عندما نشعر بالارتياح لهذا البرنامج عندئذ يقوم المبرمج بتحميل البرنامج فى ذاكرة البرنامج للميكروكونترولر نفسه مستخدماإما جهاز برمجة منفصل متصل بكومبيوتر شخصى او استخدام إمكانيات نظام المشروع نفسه فى ذلك.
5- يقوم المبرمج باختبار البرنامج بتشغيله فعليا على الجهاز hardware ومرة اخرى قد يقودنا ذلك إلى ان نحتاج إلى التغيير فى شفرة المصدر .

من الواضح أنه لتطوير ولو مشروع بسيط فإن اختيار البرمجيات software المختلفة يكون مفيدا . وعادة ما تكون هذه البرمجيات مجمعة فيما يعرف بيئة التطوير المتكاملة واختصارا IDE .



http://micro-es.com/vb4/forum.php


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 17-10-2015 الساعة 09:27 PM
اعلانات
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:12 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025