|
السلام عليكم
اخى حيدر ممكن تشرح هذا الكود بالتفصيل
اعنى الكود الخاص باضاءه اللد واطفاءه بسويتش واحد
شكرا جزيلا
|
وعليكم السلام اخي احمد . وجدتك اليوم منذ الصباح على الموقع وبعثت لك رسالة يبدو انك لم تقرأءها .
تفاصيل الكود
كود:
loop:
if(porta.f4==0){portb.f0=1;
|
هنا عند الضغط على الزر سوف يتم اشتغال الليد حيث قيمة A4 ستكون صفر
ولكن الى متى سيبقى يشتغل .فنحن نريد فترة الاشتغال تكون غير محددة يعني مسيطر عليها اذن الكود التالي
سيبقى الليد مشتغلا مادمنا ضاغطين على الزر حيث ان معنى الكود هو
طالما A4=0 لاتنفذ اي شيء واستمر في هذه الدوامة .حيث جعلنا ما بين الاقواس فارغا .وهذه فكرة الاستاذ احمد في آخر كود كتبه في الدورة
الان رفعنا يدنا من الزر فعلينا ان نبقي الليد على استمرارة في الاشتغال وهذا الكود سيفعل ذلك
ومعناه طالما A4=1 لاتنفذ اي شيء واستمر في هذه الدوامة وهنا ايضا تركنا الاقواس فارغة
الى الآن نحن ضغطنا على الزر A4=0 فاشتغل الليد ثم تركنا الزر A4=1 واستمر الليد بالاشتغال
الان لو اردنا ان نطفيء الليد ماذا سنفعل سنضغط على الزر لتصبح A4=0 يعني سنجعل البرنامج يفلت من الكود السابق وياتي الى الكود الذي بعده
والذي سيؤدي الى انطفاء الليد ونعيد نفس الطريقة بالضبط للتحكم باستمرارية انطفاء الليد . حسنا ما الذي يجعل الليد مستمرا بالانطفاء الى ان نرفع يدنا من الزر ثم نضغط عليه مرة اخرى فهذان السطران سيعملان نفس عمل الكودان اللذان سبقاهما
حيث يتم هنا تعقب حركة الزر وتغيره من حالة لاخرى فالآن قيمة A4=1 والليد مستمر بالانطفاء .ماذا نفعل لتشغيل الليد لمرة ثانية .اكيد سوف نضغط على الزر لتكون A4=0 وعندها سيفلت البرنامج من الكود السابق لينفذ ما هو آت
سيتم غلق قوس عبارة IF ثم تنفيذ عبارة goto ثم الذهاب الى عبارة IF فيجد ان الشرط متحقق فيشتغل الليد وهكذا
ارجو ان اكون قد وفقت في ايصال الفكرة ومستعد لتوضيح اي غموض فيها ان شاء الله