اخي العزيز " عريبى محمود " اشكرك من كل قلبي علي كلامك الطيب .. شكرااا لك اخي الكريم ..
انت انسان مبدع .. وتقدم الكثير من الدعم لكل سائل .. جزاك الله خيرااا ..
السلام عليكم
اخى الاستاذ عبدالله حجازى
العفو اخى الحبيب اشكرك من كل قلبى على اهتمامك بموضوعى وكل مواضيع الاخوة الذى يستفسرون عن مختلف المواضيع اعانك الله وزادك من علمه لانك لا تبخل ابدا عن مساعدة السائلين البرنامج شغال 100% لكن اريد فى الضغطه الــثالثة يضىء الرجل RB0 اولا ثم تأخير 15 ثانية ثم تضىء الرجل RB1 ( ارجو من حضرتك شرح كود البرنامج كل سطر على حده ....)اشكرك مرة اخرى وفعلا انا استفيد منك جدا والسلام عليكم
|
السلام عليكم ورحمه الله ..
اشكرك علي كلامك الطيب .. اخي الكريم ..
نبدأ بشرح البرنامج ..
__________________________________________________ __________________________
اولا .. تم تعريف متغير من نوع الأرقام الصحيحه .. اسم المتغير "" X "" وهو اساس البرنامج لأن من خلاله سيتم مقارنته داخل أوامر شرطيه لكي نتحكم في سير البرنامج ...
__________________________________________________ __________________________
وبعد ذالك ندخل علي الدالة الرأسيه ..
وهي الداله اللتي يبدأ البرنامج منها ... وهي اساسيه في جميع البرامج في لغة السي ..
__________________________________________________ _______________________
وهذا السطر لتعريف ارجل الميكرو اللتي نريد استخدامها .. وهنا عرفنا البورت "" B " أول 2 رجول خرج ... والرجل رقم " 7 " دخل لكي نستخدمها مع المفتاح ..
__________________________________________________ ____________________________
وهذ الأمر هو أمر تكرار

يجعل الميكرو يكرر قرأة الكود بالكامل الي ما لا نهايه ..
----------------------------------------------------------------------------------------------
والأن نبدأ في أوامر البرنامج من خلال هذا الأمر
هذا الأمر هو أمر يختبر المفتاح هل تم الضغط علي المفتاح أم لا ... لو تم الضغط علي المفتاح الموصل علي الرجل رقم 8 في البورت "" B "" يتحقق الشرط .. ويدخل يذيد قيمه المتغير "" X "" الي " 1 " وينتظر " 250 ميلي سانيه "" لكي تستطيع رفع يدك من علي المفتاح ... وسوف اذكر لك فائدة هذا الوقت في أخر الشرح ..
ايذااا المتغير "" X "" اصبحت قيمته = 1 ... وهنا تأتي فائدة الأمر القادم ..
لاحظ أمر الشرط اعلاة .. هو يختبر قيمه المتغير "" X "" هل = 1 ..
وهنا نحن ضغطنا علي المفتاح مرة واحدة وأصبح المتغير "" X =1 "" وهنا سوف يتحقق الشرط ويدخل في تنفيذ الكود الموجود داخل حلقة الشرط .. وهنا الأمر الموجود داخل حلقة الشرط .. هو جعل قيمه البورت " B " = واحد .. وبالتالي البن رقم 0 تخرج 5 فولت ويضيئ الليد ..
------------------------------------------------------------------------------------
طيب لو تم الضغط علي المفتاح مرة اخري .. ستذداد قيمه المتغير " X "" الى 2 .. وهنا يأتي دور أمر الشرط الثاني ..
وهنا اصبحت قيمه المتغير "" X "" ز 2 وهنا يتحقق الشرت الثاني ..
وهنا الأوامر الموجودة في الأمر الثاني هي جعل قيمه البورت "" B "" =صفر .. وبالتالي اطفاء الليد ..
__________________________________________________ ___________________
وهنا لو تم الضغط مرة اخري علي المفتاح .. ستصبح قيمه المتغير " X "" = ثلاثه ..
ومن خلال أمر الشرط الثالث
يتحقق الشرط لأن قيمه المتغير ""X "" = ثلاثة .. وهنا يتم تنفيذ الأوامر الموجودة داخل أمر الشرط
وهي جعل قيمه البورت " B "" = اثنان .... ومن ثم ينتظر الي 15 سانيه ويجعل قيمه البورت " B " = ثلاثه وبعد ذالك يجعل قيمه المتغير "" X "" = اربعه .. وهنا لماذا رقم 4 .. الجواب حتي لا تفضل قيمه المتغير "" X "" = ثلاثه وهنا أمر الشرط يكون متحقق بستمرار وهنا يدخل في تنفيذ الأوامر .. وهي جعل قيمه البورت " B "" = اثنان .... ومن ثم ينتظر الي 15 سانيه ويجعل قيمه البورت " B " = ثلاثه و يكرر تنفيذ الأوامر بستمرار .. وهنا فائدة جعل قيمه المتغير "" X " = اربعه .. حتي لا تتوافق مع أي امر شرط موجود ..
__________________________________________________ ______________________________
وهنا لو تم الضغط علي المفتاح مرة اخري ....
سوف تجعل قيمه المتغير " X "" = خمسه ..
وهنا يتحقق الشرط ...
والأوامر الموجودة داخل امرالشرط ..
جعل قيمه البورت "" B "" = صفرر ... وايضاااا جعل قيمت المتغير "" X "" = صفر .... ولماذا جعلنا قيمه المتغير = صفر .ز
لأن لو ترقنا المتغير بدون ان نجعل قيمته = صفر .. وتم الضغط علي المفتاح مرة أخري ماذا يحدث سوف يذداد قيمه المتغير وتصبح = 6 وهنا لا يوجد أوامر شرط تتحكم في قيمه المتغير وهو = 6 .. وسوف يحدث فشل في اداء البرنامج لأن لو تم الضغط علي المفتاح مرة اخرة .. سوف تذداد قيمه المتغير .. ولا يحدث أي شئ جديد في البرنامج ..
وهنا جعلنا المتغير = صفر لكي يبدأ البرنامج من جديد ..
وهنا يأتي شرح فائدة الوقت 250 ميلى سانيه ..
كما نعلم ان الميكرو يستطيع تنفيذ الأوامر بشكل سريع جدااا وعندما نضغط علي المفتاح سوف يكون الميكرو أختبر الضغطه علي المفتاح .. تم اختبار الضغط أكثر من مرة .. ولا تستطيع توقع خرج البرنامج ..
وهنا عندما نضغط على المفتاح يتحقق الشرط ويدخل البرنامج فى تنفيذ الأوامر وهي ذيادة المتغير " X " بواحد وينتظر 250 ميلي سانيه لكي يعطيك الوقت الكافي لكي تستطيع رفع يدك من علي المفتاح ..
قبل ان يدخل ويختبر الشرط مرةأخري ويذيد المتغير بواحد أخر ..
ارجو ان اكون موفق في الشرح
لأن موضوع الشرح دة موهبه من عند الله ..
وبصراحه انا لا اتقن الشرح بشكل جيد ..
بالتوفيق