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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 08:56 PM المشاركة 1   
افتراضي الجزء العملى من دورة برمجة الميكروكونترولر PIC بلغة السى On Line Twitter FaceBook Google+



الجزء العملى من دورة برمجة الميكروكونترولر PIC بلغة السى On Line

المترجم (الكومبيلر) MIKROC PRO للميكروكونترولر PIC




تمهيد :
أول شيء تحتاجه لكتابة برنامج للمتحكم هو برنامج كمبيوتر والذي يفهم لغة البرمجة التي تستخدمها (لغة السى فى هذه الحالة) ويوفر نافذة لكتابة البرنامج . الى جانب ذلك ، يجب أن يعرف البرنامج بنية المتحكم المستخدم . هذه الحالة أنت تحتاج إلى مترجم للغة السى .
لا يوجد مترجم لاستخدامه من أجل متحكم واحد بعينه كما لا يوجد مترجم لاستخدامه في جميع المتحكمات . أى برنامج يستخدم لمجموعة من المتحكمات المتماثلة ولصانع واحد .
هذا الجزء يعطي وصفا للمترجم mikroC PRO الخاص بالميكروكونترولر PIC. وكما هو واضح من الاسم فإن الغرض من المترجم هو كتابة برامج للميكروكنترولر PIC بلغة السى .
يتضمن هذا المترجم كافة البيانات للبناء الداخلى لهذه المتحكمات وتشغيل الدوائر الخاصة ومجموعة التعليمات وأسماء السجلات وعناوينها الدقيقة وشكل الأطراف الخ .
تثبيت MikroC for PIC:

تثبيت mikroC PRO للميكروكونترولر PICيشبه تثبيت أى برنامج ويندوز :
معالج التثبيت هو المسؤول عن جميع الإجراءات ، يجب عليك فقط النقر فوق الخيارات
Next, OK, Next, Next... باستثناء الخيارات الغير مطلوبة , حيث لن نقوم بتثبيت أى مبرمج خاص سواء برمجياته softwareأو الدرايفر driverالخاص به (الدرايفر هو برنامج يتيح للبرمجيات التى قمت بتثبيتها على جهاز الكمبيوتر بالاتصال communicate بين الأجهزة hardware مع بعضها البعض) . ولماذا ذلك ؟ مهمة المترجم هي تحويل البرنامج المكتوب بلغة السى إلى كود سداسى عشر HEX code .والذى يتم برمجة الميكروكونترولر به فيما بعد باستخدام إى جهاز برمجة (بجزئيه hardware و software ) .


1- ابدأ التثبيت بالنقر المزدوج على أيقون البرنامج كالعادة :








2- يظهر معالج التثبيت الذى سوف يقودك لخطوات التثبيت بسرعة وأمان :







3- نتبع الإرشادات




















































بيئة التطوير المتكاملة للمترجم IDE FOR MIKROC PRO FOR PIC

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 08:57 PM المشاركة 2   
افتراضي


بيئة التطوير المتكاملة للمترجم IDE FOR MIKROC PRO FOR PIC
الشكل التالى يبين بيئة التطويرالمتكاملة للمترجم :





لسوء الحظ، الوصف المفصل لجميع الخيارات المتاحة في هذا المترجم يأخذ الكثير من وقتنا ، لذلك سنتخطي ذلك. وبدلا من ذلك ، سوف نصف فقط عملية كتابة البرنامج في لغة السى والتحقق بالمحاكاة، فضلا عن التحميل فى حيز ذاكرة المتحكم . لمزيد من المعلومات راجع تعليمات المساعدة [F1].

مدير مشروع PROJECT MANAGER

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 08:59 PM المشاركة 3   
افتراضي


مدير مشروع PROJECT MANAGER






البرنامج المكتوب بالمترجم mikroC ليس وثيقة منفصلة ، ولكنه جزءا من مشروع project والذي يتضمن ملف كود الهيكس Hex وملف كود الأسمبلى assembly وملف الرأسheaderوغيرها من الملفات. يتم إنشاء بعض منهم خلال عمل المترجم، في حين يتم استيراد البعض الآخر من البرامج الأخرى. ومع ذلك، فإن نافذة مدير المشروع تمكنك من التعامل مع كل منهم. يكفي أن تنقر بالزر الأيمن فوق أي مجلد وتختار الخيار الذى تحتاج لمشروعك.

متصفح (مستكشف) الكود CODE EXPLORER









نافذة مستكشف الكود تتيح لك بسهولة تحديد مكان (موقع) الوظائفfunctions والإجراءات procedures ضمن البرامج الطويلة . على سبيل المثال ، إذا كنت تبحث عن وظيفة مستخدمة في البرنامج، فإن مجرد النقر المزدوج على اسمها في هذه النافذة يؤدى إلى وضع المؤشر تلقائيا عند النقطة المناسبة في البرنامج.

إعدادات المشروع PROJECT SETTINGS


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 09:00 PM المشاركة 4   
افتراضي


إعدادات المشروع PROJECT SETTINGS










لتمكين المترجم من العمل بنجاح،من الضروري تزويده بمعلومات أساسية عن المتحكم المستخدم وكذلك معلومات عن ما هو متوقع منه بعد عملية الترجمة :
  • الجهازDevice : عند اختيار (تحديد) المتحكم، فإن المترجم يعرف تلقائيا ملف تعريفه والذى يحتوي على جميع سجلاته الخاصة SFR registers وعناوين ذاكرتها وأشياء مماثلة لاستخدامها.
  • المذبذبOscillator : يستخدم هذا الخيار لتحديد سرعة تشغيل للمتحكم. على أساس ذلك ، فإن المترجم يقوم بإجراء تغييرات في كلمة التهيئة configuration word . يتم تعيين سرعة التشغيل وذلك لتمكين المذبذب الداخلى للمتحكم من العمل مع كريستال كوارتز محدد.
  • نوع البناء Build type "إفراج أو تحرير" release : بعد إكتمال عملية الترجمة فإن المترجم ليس له أي تأثير على تنفيذ البرنامج . لغرض التصحيحdebugging ، يمكن استخدام المحاكاة بالبرمجيات.
  • نوع البناء "تصحيح بالدائرة " ICD debug: عند إكتمال عملية الترجمة وبرمجة المتحكم يظل المترجم على اتصال بالمتحكم وما زال يمكنه أن يؤثر على عمله. يتم تأسيس الاتصال عبر وحدة برمجة والتي تتصل بجهاز الكمبيوتر عن طريق كابل الاتصال التسلسلي . يسمى البرنامج الذى يقوم بكل هذا العمل ICD (In Circuit Debugger) "التصحيح بالدائرة" . وهو يمكن من تنفيذ البرنامج خطوة خطوة ، ويوفر الوصول إلى المحتوى الحالي لجميع سجلات المتحكم. وهذه ليست محاكاة بل قراءة فعلية وتحكم فعلى .
محرر الكود CODE EDITOR :


محرر الكود جزءا أساسيا من نافذة المترجم يستخدم لكتابة البرنامج. يوجد عدد كبير من خيارات تحديد وظيفته وشكل التخطيط layout في قائمة أدوات / خيارات Tools/Options menu [F12].

المحاكاة البرمجية SOFTWARE SIMULATOR


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 09:01 PM المشاركة 5   
افتراضي


المحاكاة البرمجية SOFTWARE SIMULATOR









قبل بدء المحاكاة اختار (حدد) النظام (الوضع) المناسب فى نافذة إعدادات المشروع :
Project Settings Window (Build type - release) وانقر على الخيار Run /Start Debugger "تشغيل / بدء المصحح " .
يتم وضع المترجم تلقائيا في نظام المحاكاة. حيث يتم مراقبة (رصد) monitorحالة جميع خانات السجلات . كما أنه يمكنك من تنفيذ البرنامج خطوة بخطوة أثناء مراقبة تشغيل المتحكم على الشاشة (أى محاكاة العمل ).

سوف تضاف عدة أيقونات إلى شريط الأدوات عند تحديد هذا النظام والتى تستخدم فقط لتشغيل هذه المحاكاة.





معنى الأيقونات :
Step Into : عند النقر على هذه الأيقونة يتم تنفيذ سطر واحد من البرنامج والذى يوضع عنده المؤشر.

Step Over : هذا الأمر يشبه الأمر السابق .
إذا تم وضع المؤشر في سطر يستدعى callبرنامج فرعى عندئذ سيتم تنفيذه أولا ثم يتقدم البرنامج فى التنفيذ عند أول سطر تالى فى البرنامج . فيبدو كما لو أنه تم تخطى سطر واحد من البرنامج حتى ولو تم تنفيذ البرنامج الفرعى كله.ونتيجة لذلك تتغير حالة السجلات . يشيع استخدام هذا الأمر عندما يكون من الضرورى تسريع تنفيذ حلقات برنامج طويلة .

Run To Cursor : يستخدم هذا الأمر لتنفيذ جزء معين من البرنامج، أي من آخر سطر تم تنفيذه إلى السطر الذى يوضع عنده المؤشر .
Step out : عند النقر على الأيقونة يخرج البرنامج من الروتين (برنامج فرعى) الذي يجري تنفيذه حاليا .
المحاكى simulator والمصحح debugger لها نفس وظيفة رصد (مراقبة) حالة السجلات أثناء تنفيذ البرنامج . الفرق هو أن المحاكى ينفذ البرنامج على الكمبيوتر، بينما يستخدم المصحح متحكم حقيقى .
أي تغيير فى الحالة المنطقية للطرف ينعكس على منطق السجل المناسب (المنفذ). كما أن نافذة المراقبة
Watch Window تسمح لك بمراقبة حالة جميع السجلات , فمن السهل أن تتحقق ما إذا كانت حالة الطرف بصفر أو بواحد .
لتفعيل هذه النافذة يجب أن تختار View/Windows والنقر على خيار Watch Values بعد ذلك يمكنك عمل قائمة بحالة السجلات التي تريد مراقبتها.










إذا أردت معرفةكم من الوقت يلزمللمتحكم لتنفيذ جزء من البرنامج ، اختار الخيار
Debug Windows/ Stopwatchتظهر لك نافذه كما فى الشكل التالى وهى سهلة الاستخدام .









أدوات المترجم COMPILER’S TOOLS


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 09:02 PM المشاركة 6   
افتراضي


أدوات المترجم COMPILER’S TOOLS


يوفر هذا المترجم أدوات خاصة لتبسيط عملية كتابة البرنامج. جميع هذه الأدوات متاحة من القائمة أدواتTools. ونحن بصدد تقديم وصفا موجزا لبعض منهم.





الوحدة الطرفية USART TERMINAL"المرسل المستقبل التزامني اللاتزامني العام "








الوحدة الطرفية USART هى بديل للوحدة الطرفية القياسية لبرنامج الوندوز المعروفة باسم
Windows Hyper Terminal . يمكن أن تستخدم فى التحقق من عمل الميكروكونترولر الذى يستخدم الاتصال عن طريق USART حيث يحتوى على جهاز داخلى ويتم إتصاله بالمنفذ التسلسلى RS232 بالكومبيوتر عن طريق كابل تسلسلى .
نافذة USART مبينة بالشكل وتحتوى على خيارات لضبط الاتصال التسلسلى وعرض البيانات المرسلة والمستقبلة .
محرر الذاكرة EEPROM EDITOR








إذا اخترت الخيار EEPROM Editor من القائمة Tools تظهر لك نافذة كالمبينة بالشكل . وهى تبين شكل ذاكرة EEPROM الموجودة بالميكروكونترولر .
إذا كنت تريد تغيير محتوياتها بعد تحميلها بالبميكروكونترولر فهذا هو المكان الصحيح . يجب أن تختار نوع البيانات (char, int or double) ثم إدخال القيمة فى الحقل (المكان) Edit Value وانقر على Edit . بعد ذلك انقر على زر Save لحفظ البيانات بامتداد .hex إذا كان الخيار Use EEPROM in Project مفعل فإن البيانات سوف يتم تحميلها تلقائيا بالشريحة أثناء عملية البرمجة .

خريطة أسكى ASCII CHART
إذا أردت التمثيل العددى لأى حرف من حروف أسكى فقط اختار الخيار المناسب من قائمة Tools فيظهر لك جدول كالمبين بالشكل .
كما ترى الحروف ممثلة بأعداد ومكافئات غريبة . لهذا السبب أمر برنامج لعرض العدد 7 على شاشة وحدة العرض الكريستال السائل LCDلن يؤدى إلى عرض أي شيء مشابه لهذا الرقم. بدلا من ذلك، سيتم عرض ما يعادل الأمر. إذا قمت بإرسال نفس العدد كحرف، فسوف تحصل على النتيجة المتوقعة أى العدد 7. وبناء عليه ، إذا كنت ترغب في عرض عدد بدون تحويله مسبقا إلى حرف فمن الضروري إضافة العدد 48 لكل رقم يتكون منه العدد .






محرر السبع شرائح SEVEN SEGMENT EDITOR


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 09:03 PM المشاركة 7   
افتراضي


محرر السبع شرائح SEVEN SEGMENT EDITOR
يمكنك محرر السبع شرائح من إيجاد وبسهولة الرقم الذى يجب وضعه فى مخرج المنفذ لعرض الرمز المطلوب. بالطبع يجب توصيل أطراف المنفذ بشرائح العرض بالطريقة الصحيحة . فقط ضع المؤشر على أى شريحة وانقر عليها يظهر لك على الفور العدد الى يجب عليك نسخه إلى البرنامج .






تخصيص حروف وحدة العرض LCDLCD CUSTOM CHARACTER






يمكن للميكروكونترولر إرسال الحروف القياسية علاوة على حروف يمكنك إنشاؤها بنفسك للعرض . باختيار أداة LCD custom character سوف تخلص نفسك من العمل الشاق فى إنشاء وظائف للكود المناسب المرسل للعرض . مجرد إنشاء رمز بالنقر على مربعات صغيرة فى نافذة LCD custom character واختيار المكان (الموضع) والصف والنقر على زر GENERATE . يظهر الكود المطلوب فى نافذة أخرى .لن تحتاج إلى نقرات أخرى . إنسخ إلى الحافظة والصق Copy to Clipboard – Paste.



مولد الصور النقطية للشاشات الكريستال السائل الجرافيك
GRAPHIC LCD BITMAP GENERATOR






هذة أداة أخرى لا يمكن الاستغناء عنه في حال أن المتحكم الذي يتم كتابة برنامجه يستخدم وحدة عرض جرافيك (GLCD). تمكنك هذه الأداة من عرض أي صورة نقطية بسهولة. للاستفادة منها اختار
Tools/Glcd Bitmap Editor فتظهر لك النافذة المناسبة . اختار نوع وحدة العرض المستخدمة وحمل الصورة النقطية ( فى هذا المثال 128 x 64 pixels ) .بعد ذلك الإجراء هو نفسه كما في المثال أعلاه نسخ إلى الحافظة...

الكود المتولد بأدوات التحكم فى وحدات العرض LCD و GLCD يحتوي على وظائف للمكتبة للمكتبة Lcd library .اذا استخدمتها في البرنامج لا تنسى أن تتحقق وتختار المربع الموجود بجوار هذه المكتبة في نافذة Library Manager وذلك لتمكين المترجم من التعرف على وظائفها بشكل صحيح.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 06-10-2011, 09:04 PM المشاركة 8   
افتراضي


المكتبات LIBRARIES







واحد من الخيارات الأكثر فائدة من هذا البرنامج هو مدير المكتبة Library Managerويستحق اهتمامنا بالتأكيد.
الميزة الرئيسية للغات البرمجة عالية المستوى مثا السى إنها تمكنك من استخدام المعرفة والعمل من أشخاص آخرين. مكتبات الدالة functionهي أفضل مثال على ذلك. فإذا كنت في حاجة الى وظيفة لأداء مهمة معينة أثناء كتابة البرنامج ، فما عليك إلا البحث عنها في بعض المكتبات (والتي هي جزء متكامل فى المترجم ) واستخدامها . على سبيل المثال ، إذا كنت في حاجة إلى وظيفة لتوليد صوت sound على بعض الأطراف ، افتح مكتبة الصوت Sound library في نافذة إدارة المكتبة Library Manager والنقر المزدوج على الوظيفة المناسبة Sound_Play . يظهر وصفا مفصلا لهذه الوظيفة على الشاشة. إنسخها إلى البرنامج وعين البارامترات المناسبة. إذا التعليم checked على هذه المكتبة، فسوف يتم التعرف على وظائفها تلقائيا خلال عملية الترجمة بحيث لا يكون من الضروري استخدام أمر التضمين #include.


الوصول إلى الخانات الفردية (المنفصلة) ACCESSING INDIVIDUAL BITS
يسمح لك المترجم mikroC PRO for PIC بالوصول إلى كل خانة من خانات المتغيرات ذات الثمانى خانات باسمها أو بموقعها (مكانها) فى البايت:






INTCON.B0 = 0 ; : مسح clear الخانة الأولى bit0 لسجل التحكم فى المقاطعة INTCON
ADCCON0.F5 = 1 ; : عمل set للخانة السادسة bit5 لسجل التحكم فى المحولA/D الأول ADCON0 .
INTCON.GIE = 0 ; : مسح خانة تمكين المقاطعة الشاملة GIE لسجل التحكم فى المقاطعة INTCON

الخانات من النوع SBIT
يوجد بالمترجم mikroC PRO for PIC نوع خاص من البيانات يسمى sbit والذى يوفر الوصول للسجلات وسجلات الوظائف الخاصة والمتغيرات ..ألخ . للإعلان عن خانة من متغير يكفى أن نكتب :





السطر الأول : تعريف خانة نوع sbit باستخدام التعبير extern sbit بالاسم Some_Bit
السطر الثانى : تعريف متغير نوع حروف char بالاسم MyVar ( حجز بايت ذاكرة لمتغير )
السطر الثالث : الإعلان عن خانة من نوع sbit باستخدام التعبير sbit ……at…..

إذا قمت بالإعلان عن متغير نوع sbit فى وحدة بحيث تشير إليه كخانة من سجل وظائف خاصة فمن الضرورى استخدام الكلمة sfr فى الإعلان لأنك تشير إلى متغير معرف كمتغير لسجل وظائف خاصة :




إضافة رد

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

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

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


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

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