تمارين على تجربة الرابعة
صفحة 1 من اصل 1
تمارين على تجربة الرابعة
اهلا وسهلا بكم في منتدى المعهد التقني المتوسط الاول
---------------------------------------
بسم الله
وسأقوم الآن بمراجعة سريعة على بعض الأشياء المهمة في الدرس السابق والتي يجب أن تعرفها جيدا لتكمل مسيرتك في احتراف برمجة البك إن شاء الله ..
أولا :: عندما نريد من البك تكرار تنفيذ مجموعة من الأوامر فإنه يجب علينا استخدام أمر يسمى for (أو جملة for ) .. فعلى سبيل المثال
كما تعلم لو أردنا أن نجعل البك يضيء الليد الموصل بالرجل b0 ثم يطفئه فإننا سنكتب الكود التالي
في الكود السابق .. سيضيء الليد الموصل بالرجل b0 ثم ينتظر البك لمدة ثانية ثم يطفئ الليد ثم ينتطر لمدة ثانية .
---------------------------------------
بسم الله
وسأقوم الآن بمراجعة سريعة على بعض الأشياء المهمة في الدرس السابق والتي يجب أن تعرفها جيدا لتكمل مسيرتك في احتراف برمجة البك إن شاء الله ..
أولا :: عندما نريد من البك تكرار تنفيذ مجموعة من الأوامر فإنه يجب علينا استخدام أمر يسمى for (أو جملة for ) .. فعلى سبيل المثال
كما تعلم لو أردنا أن نجعل البك يضيء الليد الموصل بالرجل b0 ثم يطفئه فإننا سنكتب الكود التالي
- الكود:
void main()
}
TRISB=0;
PORTB+0XFF;
delay_ms(1000(;
PORTB=0;
delay_ms(1000);
{
في الكود السابق .. سيضيء الليد الموصل بالرجل b0 ثم ينتظر البك لمدة ثانية ثم يطفئ الليد ثم ينتطر لمدة ثانية .
ولكن ماذا نفعل إذا أردنا أن نجعل البرنامج السابق يتكرر تنفيذه خمسة عشر مرة أي أن عدد المرات التي سيضيء فيها الليد ثم ينطفئ هي خمسة عشر مرة .. في هذه الحالة لابد من استخدام أمر يقوم بعملية التكرار هذه .. وهذا الأمر كما ذكرت هو for أو ما يسمى بجملة for .. ولكن كيف نستخدم جملة for لتكرار تنفيذ مجموعة من الأوامر عدد معين من المرات (وليكن 60 مرة ) .. ببساطة سنكتب الكود التالي
- الكود:
for(m=0;m<60;m++)
}
هنا نكتب الاوامر التي تريد تكرار تنفيذها
60
مرة
{
كلام جميل ... ولكن ماذا لو أردت أن أغير هذا العدد .. أي أجعل البك يكرر تنفيذ مجموعة من الأوامر وليكن 19 مرة .. (ببساطة غير الرقم 60 واجعله 19 كما يلي)
ولكن قبل هذا لا بد ان اكتب في بداية البرنامج الامر التالي
ولكن ماذا تعني بهذا الامر char m ؟؟؟ هذا الامر نسميه تعريف المتغير
متغير ؟؟؟ نعم المتغير هذا هو مكان نحجزه في الذاكرة (ذاكرة البك ) فائدته اننا نستخدمه في الكثير من العمليات وايضا نستخدمه في تخزين قيمة معينة
بمعنى اننا الان حجزنا مكان في الذاكرة ( واخترنا له اسم هو m وهذا المكان يمكننا ان نضع فيه قيمة معينة ( 5 مثلا او 18 او 3 او اي قيمة ) كما يمكننا ان نغير هذه القيمة فمثلا لو كانت صفر يمكننا ان نجعلها بعد مدة براحد او باي قيمة اخرى بما اننا نستطيع تغير قيمته لذلك نطلق عليه اسم متغير
ولكن ما فائدة هذا المتغير في جملة for ؟؟؟؟
فائدته سنعرفها عندما نعرف كيف تعمل جملة for وهذا ما ساشرحه بعد قليل
والان لنكتب الكود الذي سيجعل الليد يضيء وينطفئ 15 مرة
انها تعني ان المتغير الذي حجزناه في الذاكرة يتكون من 8 بت
وهذا يعني أن هذا المتغير يمكن أن تكون قيمته صفر أو واحد أو 2 أو 3 .... أو 255 ولا يمكن أن تزيد قيمته عن 255 ... لماذا ؟؟ لأنه يتكون من 8 بت والبت bit هذا إما أن يكون واحد أو صفر ( بالنظام الثنائي ) ومن المعلوم أن أكبر رقم يمكن الحصول عليه من 8 بت بالنظام الثنائي هو 11111111 وهو يساوي 255 بالنظام العشري ... (راجع الأنظمة الرقمية الثنائي والعشري والسادس عشري .. وابحث عنها إذا لم تكن تعرفها جيدا..؟؟)
مما سبق يتضح أننا لو أردنا أن نعرف متغير هذا المتغير قيمته من 0 - 255 فإننا نستخدم النوع char ..
وهذا يعني أننا لو استخدمنا جملة for وكان عدد مرات التكرار هو 255 أو أقل فإننا في بداية البرنامج سنعرف متغير هذا المتغير من النوع char ..
ولكن ماذا لو أردنا أن نكرر تنفيذ مجموعة من الأوامر ألف مرة مثلا ... في هذه الحالة لا نستطيع استخدام char وسنستخدم بدلا منه نوع آخر اسمه int . هذا النوع يتكون من 16 بت (وبهذا يمكن أن تكون قيمة هذا المتغير من 0 إلى 65535 )
كلام جميل ... هيا بنا الآن نكتب كود يقوم بتكرار تنفيذ مجموعة من الأوامر ألف مرة
وسنشرح المتغيرات بإستزادة أكثر في دروس قادمة إن شاء الله ..
- الكود:
for(m=0;m<19;m++)
ولكن قبل هذا لا بد ان اكتب في بداية البرنامج الامر التالي
- الكود:
Char m;
ولكن ماذا تعني بهذا الامر char m ؟؟؟ هذا الامر نسميه تعريف المتغير
متغير ؟؟؟ نعم المتغير هذا هو مكان نحجزه في الذاكرة (ذاكرة البك ) فائدته اننا نستخدمه في الكثير من العمليات وايضا نستخدمه في تخزين قيمة معينة
بمعنى اننا الان حجزنا مكان في الذاكرة ( واخترنا له اسم هو m وهذا المكان يمكننا ان نضع فيه قيمة معينة ( 5 مثلا او 18 او 3 او اي قيمة ) كما يمكننا ان نغير هذه القيمة فمثلا لو كانت صفر يمكننا ان نجعلها بعد مدة براحد او باي قيمة اخرى بما اننا نستطيع تغير قيمته لذلك نطلق عليه اسم متغير
ولكن ما فائدة هذا المتغير في جملة for ؟؟؟؟
فائدته سنعرفها عندما نعرف كيف تعمل جملة for وهذا ما ساشرحه بعد قليل
والان لنكتب الكود الذي سيجعل الليد يضيء وينطفئ 15 مرة
- الكود:
void main()
}
char x;
TRISB=0;
FOR(X=0;X<15;X++)
}
PORTB=0XFF;
delay_ms(1000);
PORTB=0;
delay_ms(1000);
{
{
انها تعني ان المتغير الذي حجزناه في الذاكرة يتكون من 8 بت
وهذا يعني أن هذا المتغير يمكن أن تكون قيمته صفر أو واحد أو 2 أو 3 .... أو 255 ولا يمكن أن تزيد قيمته عن 255 ... لماذا ؟؟ لأنه يتكون من 8 بت والبت bit هذا إما أن يكون واحد أو صفر ( بالنظام الثنائي ) ومن المعلوم أن أكبر رقم يمكن الحصول عليه من 8 بت بالنظام الثنائي هو 11111111 وهو يساوي 255 بالنظام العشري ... (راجع الأنظمة الرقمية الثنائي والعشري والسادس عشري .. وابحث عنها إذا لم تكن تعرفها جيدا..؟؟)
مما سبق يتضح أننا لو أردنا أن نعرف متغير هذا المتغير قيمته من 0 - 255 فإننا نستخدم النوع char ..
وهذا يعني أننا لو استخدمنا جملة for وكان عدد مرات التكرار هو 255 أو أقل فإننا في بداية البرنامج سنعرف متغير هذا المتغير من النوع char ..
ولكن ماذا لو أردنا أن نكرر تنفيذ مجموعة من الأوامر ألف مرة مثلا ... في هذه الحالة لا نستطيع استخدام char وسنستخدم بدلا منه نوع آخر اسمه int . هذا النوع يتكون من 16 بت (وبهذا يمكن أن تكون قيمة هذا المتغير من 0 إلى 65535 )
كلام جميل ... هيا بنا الآن نكتب كود يقوم بتكرار تنفيذ مجموعة من الأوامر ألف مرة
- الكود:
void main()
}
int x;
for(x=0;x<1000;x++)
}
هنا نكتب الاوامر التي ستتكرر الف مرة
{
{
وسنشرح المتغيرات بإستزادة أكثر في دروس قادمة إن شاء الله ..
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الجمعة يونيو 05, 2015 4:22 am من طرف hazeem
» دارة كاميرا تصوير وارسال الصور عن طريق واي فاي
الثلاثاء أبريل 28, 2015 10:39 pm من طرف luay.alkanaan
» مقاومات Resistor
الأحد مارس 02, 2014 10:22 pm من طرف أيمن الإبراهيم
» مسجلات الازاحة Shift Register
الأحد مارس 02, 2014 9:20 pm من طرف أيمن الإبراهيم
» تمارين على تجربة الرابعة
الخميس فبراير 13, 2014 11:47 am من طرف أيمن الإبراهيم
» التجربة الرابعة في برمجة الماكروكنترولر
الأربعاء فبراير 12, 2014 10:39 pm من طرف أيمن الإبراهيم
» دارات مبرمجة الماكروكنترولر
الثلاثاء فبراير 11, 2014 10:52 pm من طرف أيمن الإبراهيم
» التجربة الثالثة في برمجة الماكروكنترولر
الثلاثاء فبراير 11, 2014 1:12 pm من طرف أيمن الإبراهيم
» ماذا تعرف عن الميكروبروسيسور microprocessor
الأحد فبراير 09, 2014 6:30 pm من طرف أيمن الإبراهيم