برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C برنامجك الأول :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C برنامجك الأول :
برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C
برنامجك الأول :
اتبع الخطوات التالية :
• قم بتشغيل برمجيات المترجم CCS C ، يظهر لك بيئة التطوير المتكاملة . إذا وجدت أى ملف مفتوح انقر على File > Close All لغلق جميع الملفات .
• انقر على File > New > Source File لإنشاء ملف مصدر جديد . تظهر لك نافذة الحفظ باسم Save As .
• قم بتحديد مسار المجلد الذى ترغب فى حفظ الملفات به ، وأدخل الاسم المناسب للملف ، على سبيل المثال EX1 .
• اكتب البرنامج التالى :
ملاحظات مختصرة :
• فى الثلاثة سطور الأولى من البرنامج : يتم تعريف بيئة الهاردوير الأساسية ، فهى توضح أن الميكروكونترولر المستخدم هو PIC16F877A ، وأنه يعمل بساعة خارجية عند تردد 20 Mhz . هذه السطور تسمى توجيهات قبل المعالج ( سوف نتعرف عليها لاحقا) .
• فى السطر الرابع : يستخدم التوجيه #define فى استخدام التسمية GREEN_LED فى البرنامج بدلا من تسميتة PIN_A5 ، وذلك لتحسين قابلية قراءة البرنامج .
• فى السطر الخامس : الصيغة void main () تسمى الدالة الرئيسة ، وهى تشير إلى مكان بداية البرنامج وتضم بين قوس بدايتها "{" وقوس نهايتها "}" كتلة البرنامج الرئيسى الذى سوف يتم تنفيذه (سوف نستعرض الدوال بشكل مفصل لاحقا) .
• فى السطر السادس : استخدام العبارة “while (TRUE)” ما هى إلا وسيلة بسيطة لإنشاء حلقة لا تتوقف مطلقا .
• فى السطر السابع : الأمر (أو الدالة) output_low(GREEN_LED) يتسبب فى جعل الطرف المتصل بالليد فى الحالة المنخفضة (0V) .
• فى السطر الثامن : الأمر delay_ms(1000) تتسبب فى تأخير زمنى (إنتظار) لفترة واحد ثانية (1000 ملى ثانية ) .
• فى السطر التاسع : الأمر output_high(GREEN_LED) يتسبب فى جعل الطرف المتصل بالليد فى الحالة المرتفعة (+5V) .
• فى السطر العاشرة : الأمر delay_ms(1000) تتسبب فى تأخير زمنى (إنتظار) لفترة واحد ثانية (1000 ملى ثانية ) .
• فى السطر الحادى عشر : قوس نهاية حلقة While ، حيث يقفز تنفيذ البرنامج إلى مكان قوس البداية مرة أخرى .
• السطر الثانى عشر : قوس نهاية الدالة الرئيسية main .
النتيجة : يومض الليد ، أى يضىء لمدة ثانية ويطفىء لمدة ثانية ، ويتكرر ذلك بصفة مستمرة .
الآن إلى المحاكاة ببرنامج بروتيس Proteus :
الدائرة الكهربائية :
برنامجك الأول :
اتبع الخطوات التالية :
• قم بتشغيل برمجيات المترجم CCS C ، يظهر لك بيئة التطوير المتكاملة . إذا وجدت أى ملف مفتوح انقر على File > Close All لغلق جميع الملفات .
• انقر على File > New > Source File لإنشاء ملف مصدر جديد . تظهر لك نافذة الحفظ باسم Save As .
• قم بتحديد مسار المجلد الذى ترغب فى حفظ الملفات به ، وأدخل الاسم المناسب للملف ، على سبيل المثال EX1 .
• اكتب البرنامج التالى :
- الكود:
#include <16f877.h>
#fuses HS,NOLVP,NOWDT,PUT
#use delay(clock=20000000)
#define GREEN_LED PIN_A5
Void main() {
while(TRUE) {
utput_low(GREEN_LED);
delay_ms(1000);
output_high(GREEN_LED);
delay_ms(1000);
}
}
ملاحظات مختصرة :
• فى الثلاثة سطور الأولى من البرنامج : يتم تعريف بيئة الهاردوير الأساسية ، فهى توضح أن الميكروكونترولر المستخدم هو PIC16F877A ، وأنه يعمل بساعة خارجية عند تردد 20 Mhz . هذه السطور تسمى توجيهات قبل المعالج ( سوف نتعرف عليها لاحقا) .
• فى السطر الرابع : يستخدم التوجيه #define فى استخدام التسمية GREEN_LED فى البرنامج بدلا من تسميتة PIN_A5 ، وذلك لتحسين قابلية قراءة البرنامج .
• فى السطر الخامس : الصيغة void main () تسمى الدالة الرئيسة ، وهى تشير إلى مكان بداية البرنامج وتضم بين قوس بدايتها "{" وقوس نهايتها "}" كتلة البرنامج الرئيسى الذى سوف يتم تنفيذه (سوف نستعرض الدوال بشكل مفصل لاحقا) .
• فى السطر السادس : استخدام العبارة “while (TRUE)” ما هى إلا وسيلة بسيطة لإنشاء حلقة لا تتوقف مطلقا .
• فى السطر السابع : الأمر (أو الدالة) output_low(GREEN_LED) يتسبب فى جعل الطرف المتصل بالليد فى الحالة المنخفضة (0V) .
• فى السطر الثامن : الأمر delay_ms(1000) تتسبب فى تأخير زمنى (إنتظار) لفترة واحد ثانية (1000 ملى ثانية ) .
• فى السطر التاسع : الأمر output_high(GREEN_LED) يتسبب فى جعل الطرف المتصل بالليد فى الحالة المرتفعة (+5V) .
• فى السطر العاشرة : الأمر delay_ms(1000) تتسبب فى تأخير زمنى (إنتظار) لفترة واحد ثانية (1000 ملى ثانية ) .
• فى السطر الحادى عشر : قوس نهاية حلقة While ، حيث يقفز تنفيذ البرنامج إلى مكان قوس البداية مرة أخرى .
• السطر الثانى عشر : قوس نهاية الدالة الرئيسية main .
النتيجة : يومض الليد ، أى يضىء لمدة ثانية ويطفىء لمدة ثانية ، ويتكرر ذلك بصفة مستمرة .
الآن إلى المحاكاة ببرنامج بروتيس Proteus :
الدائرة الكهربائية :
مواضيع مماثلة
» أساسيات برمجة السلسلة PIC16 بلغة السى مع المترجم CCS C :
» برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C : المفاهيم الأساسية للغة السى :
» تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX_8PIN
» تدريبات كتاب برمجة الميكروكونترولر PIC بلغة السى والمترجم mikroC PRO : التدريب الأول
» برمجة الميكروكونترولر PIC بلغة لسى مع المترجم ميكروسى برو خطوة بخطوة :
» برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C : المفاهيم الأساسية للغة السى :
» تدريبات على البرمجة بلغة السى مع المترجم CCS C التدريب الأول الميكروكونترولر 8 طرف EX_8PIN
» تدريبات كتاب برمجة الميكروكونترولر PIC بلغة السى والمترجم mikroC PRO : التدريب الأول
» برمجة الميكروكونترولر PIC بلغة لسى مع المترجم ميكروسى برو خطوة بخطوة :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS - C
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى