3rmcTnUdr

3rmcTnUdr 3rmcTnUdr

micropediastore
from micropediastore More from this publisher
30.03.2015 Views

الدالة الرئيسية أي برنامج من برامج لغة السي البد أن حيتوي على دالة تعرف بالدالة الرئيسية وهي الدالة اليت يبدأ املعاج تنفيذ الربنامج منها ومنها ميكن تنفيذ أي أمر أو أي دالة أخرى وهي تكتب كاالتي:‏ هنا يتم كتابة األوامر املطلوب من امليكروكنرتولر تنفيذها 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

الدالة الرئيسية<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 ميكروبيديا - موسوعة امليكروكنرتولر

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!