3rmcTnUdr
3rmcTnUdr 3rmcTnUdr
الدالة الرئيسية أي برنامج من برامج لغة السي البد أن حيتوي على دالة تعرف بالدالة الرئيسية وهي الدالة اليت يبدأ املعاج تنفيذ الربنامج منها ومنها ميكن تنفيذ أي أمر أو أي دالة أخرى وهي تكتب كاالتي: هنا يتم كتابة األوامر املطلوب من امليكروكنرتولر تنفيذها void main() { } وبناء على هذا نستطيع أن نقول أن أي برنامج سنكتبه سوف حيتوي على هذه الدالة، ولكن األوامر اليت بداخلها فستكون على حسب املشروع الذي نريد أن نقوم بتنفيذه. احللقات التكرارية لن نقوم بشرحها بالتفصيل يف هذا اجلزء وإمنا سنكتفي فقط بشرح إحداهم وهي while واليت تستخدم لتنفيذ جمموعة من األوامر بعد اختبار شرط معني فطاملا كان الشرط حمقق تستمر يف تنفيذ هذه األوامر مرة بعد مرة ولكن عندما يتغري الشرط ويصبح غري حمقق تنتهي هذه احللقة من تكرار هذه األوامر وينتقل التنفيذ للسطر التالي هلا، وهي تكتب بالشكل االتي: ) الشرط املراد اختباره while( { } جمموعة األوامر املطلوب تنفيذها إذا حتقق الشرط وهذا مثال لتوضيح ذلك: مثال: نريد من امليكروكنرتولر أن يقوم بتشغيل التكييف إذا زادت درجة احلرارة عن 21 درجة: while( temperature > 30 ) { Operate the air conditioning code ; } elgammalelectronics.com 67 ميكروبيديا - موسوعة امليكروكنرتولر
ربال يتال فإذا كان درجة احلرارة أكرب من 21 بني القوسني } { واليت هي أوامر تشغيل التكييف. ملحوظة: عندنا تكون فعال 21 (Temperature > 30) احلرارة أقل من 21 درجة فان امليكروكنرتولر سوف يستمر يف تنفيذ األوامر اليت درجة احلرارة أكرب من درجة ففي هذه احلالة يكون الشرط قيمته تساوى واحد فيتم تنفيذ األوامر ولكن إذا كانت درجة درجة فإن قيمته ستكون بصفر، ولكن while تنفذ األوامر بداخل أقواسها فقط إذا كان الشرط حمقق أي إذا كانت قيمته تساوى واحد، ومن هنا نسأل سؤال وهو إذا كانت while مكتوبة كما بالشكل اآلتي فكم مرة سيتم تنفيذ األوامر اليت بداخلها: while( 1 ) { move the robot forward 3 seconds ; } اإلجابة ...سيتم تنفيذها عدد النهائي من املرات دون توقف ... ملاذا ؟؟؟ ... ألنه يف املرة األوىل ستقوم while باختبار الشرط فتجد قيمته واحد فتنفذ ما بداخلها ثم تقوم باختبار الشرط فتجده بواحد فتنفذ ما بداخلها وهكذا، وحيث أن الشرط دائما حمقق )يساوي واحد( وال يوجد أي طريقة جتعله يتغري )كتغري احلرارة يف املثال السابق( فإن احللقة تستمر يف التكرار إىل ما النهاية !!! يف نهاية هذا اجلزء حنب أن نوضح أنه بطبيعة عمل امليكروكنرتولر الذي ينفذ وظيفة معينة باستمرار فإن معظم امج اليت يقوم امليكروكنرتولر بتنفيذها ينفذها ما النهاية من املرات وليس فقط مرة واحدة ثم يقف بعد ذلك عن العمل، ولذا فان الغالبية العظمى من الربامج اليت سنكتبها ستكون بالشكل التالي: هنا تكتب جمموعة من األوامر سنتعرض هلا الحقا تعرف ب void main() { while( 1 ) { Initialization & data direction األوامر املراد تنفيذها } } الفصل الرابع: أساسيات برجمة البك بلغة السي 68 elgammalelectronics.com
- Page 31 and 32: :Test Board وتستخدم لتوص
- Page 34 and 35: الفصل الثاني قراءة
- Page 36 and 37: وال clock عبارة عن إشا
- Page 38 and 39: امليكرو 16F877A السابق
- Page 40 and 41: اليت يوصل عليها الط
- Page 42 and 43: رجول املخرج RA0,RA1,RA2,R
- Page 44 and 45: الفصل الثالث الربا
- Page 46 and 47: برنامج من تصميم وإن
- Page 48 and 49: القائمة :View وتستخدم
- Page 50 and 51: قائمة :Build وتستخدم ل
- Page 52 and 53: الفصل الثالث: الر
- Page 54 and 55: وبعد االنتهاء من كت
- Page 56 and 57: نوافق على اتفاقية ت
- Page 58 and 59: نضغط إلجياد ملف الر
- Page 60 and 61: نغلق هذه النافذة بع
- Page 62 and 63: ثم اضغط Update النافذة
- Page 64 and 65: احلصول على املكونا
- Page 66 and 67: إضافة السويتش Switch م
- Page 68 and 69: ثانيا: إضافة املك
- Page 70 and 71: إضافة األرضي (Ground) ت
- Page 72 and 73: إضافة جهاز قياس )ك
- Page 74 and 75: الفصل الثالث: الر
- Page 76 and 77: توجد أنواع أخرى من
- Page 78 and 79: ثم اضغط زر الربجمة:
- Page 81: الفصل الرابع أساسي
- Page 85 and 86: Reference 4 فمثال إذا كن
- Page 87 and 88: يتم هذا من خالل أمر
- Page 89 and 90: وبنفس طريقة األمر TR
- Page 91 and 92: • حيث متثل الكلمة ty
- Page 93 and 94: ملحوظة: املتغري ذ
- Page 95 and 96: الفصل اخلامس مشاري
- Page 97 and 98: يوجد مشكلة بسيطة يف
- Page 99 and 100: للمشروع حتى يتولد م
- Page 101 and 102: بقي خطوة إضافية وجد
- Page 103 and 104: • ملحوظات هامة هنا
- Page 105 and 106: الربوجرامر وكابل ا
- Page 107 and 108: ثانيا: توصيل املي
- Page 109 and 110: وعند تشغيل املشروع:
- Page 111 and 112: ثم قم بعمل Build للربن
- Page 113 and 114: وحيث أننا ال نريد ع
- Page 115 and 116: الفصل اخلامس: مشا
- Page 117 and 118: يتال مشروع العداد ا
- Page 119 and 120: احملاكاة اخلطوة ال
- Page 121 and 122: وهكذا حتى نصل إىل ا
- Page 123 and 124: أي أن األمر يكافئ ا
- Page 126 and 127: الفصل السادس التعا
- Page 128 and 129: ومن هنا فإنه يوجد ط
- Page 130 and 131: حيث مت توصيل كل الل
الدالة الرئيسية<br />
أي برنامج من برامج لغة السي البد أن حيتوي على دالة تعرف بالدالة الرئيسية وهي الدالة اليت يبدأ املعاج<br />
تنفيذ الربنامج منها ومنها ميكن تنفيذ أي أمر أو أي دالة أخرى وهي تكتب كاالتي:<br />
هنا يتم كتابة األوامر املطلوب من امليكروكنرتولر تنفيذها<br />
void main()<br />
{<br />
}<br />
وبناء على هذا نستطيع أن نقول أن أي برنامج سنكتبه سوف حيتوي على هذه الدالة، ولكن األوامر<br />
اليت بداخلها فستكون على حسب املشروع الذي نريد أن نقوم بتنفيذه.<br />
احللقات التكرارية<br />
لن نقوم بشرحها بالتفصيل يف هذا اجلزء وإمنا سنكتفي فقط بشرح إحداهم وهي<br />
while<br />
واليت<br />
تستخدم لتنفيذ جمموعة من األوامر بعد اختبار شرط معني فطاملا كان الشرط حمقق تستمر يف تنفيذ<br />
هذه األوامر مرة بعد مرة ولكن عندما يتغري الشرط ويصبح غري حمقق تنتهي هذه احللقة من تكرار<br />
هذه األوامر وينتقل التنفيذ للسطر التالي هلا، وهي تكتب بالشكل االتي:<br />
) الشرط املراد اختباره while(<br />
{<br />
}<br />
جمموعة األوامر املطلوب تنفيذها إذا حتقق الشرط<br />
وهذا مثال لتوضيح ذلك:<br />
مثال: نريد من امليكروكنرتولر أن يقوم بتشغيل التكييف إذا زادت درجة احلرارة عن 21 درجة:<br />
while( temperature > 30 )<br />
{<br />
Operate the air conditioning code ;<br />
}<br />
elgammalelectronics.com<br />
67 ميكروبيديا - موسوعة امليكروكنرتولر