كيف اعمل هدا البرنامج بالميكروسي


(system) #1

اسلام عليكم

انا اردت ان اعمل برنامج بحيت يكون 4 ليد موصولين مع الميكرروكنترولر ومفتاح واحد موصول معه كدالك واريد عمل برنامج بحيت ادا ضغطت على زر يضئ ليد معين و عندما اضل ضاغط على زر لا يفعل اي شيء سيبقة ليد الدي اضاء مرة الاولة مضئ وعندما ارفع يدي على زر واضغط مرة اخرة يضئ ليد اخر
انا عملت دالك البرنامج بحيت استعملت متغير كلما يزيد عدد يضيء ليد معين



ولكن مشكلة :


[SIZE=4]انا اريد

[/size]
حينما اضل ضاغط على زر لا يفعل الميكرو اي دور وحينما ارفع يدي من زر واضغط يعمل دور معين


ارجو من المهندسين الكرام المساعدة جزاكم الله خيرا

(system) #2

ارجو من الاخوان الكرام المساعدة والله انا في امس حاجة لهدا البرنامج


(system) #3

السلام عليكم ورحمة الله
أنا هقول لحضرتك فكرة ان شااااء الله تنفع يابشمهندس

انت أكيد بتختبر البينة اللى عليها السويتش لما تلاقيه انضغط بتعمل ديلاى علشان تلاشى النويز اللى بتنتج من السويتش
وبعدين بتقوله يزود المتغير وينور الليده اللى على البينة اللى برقم المتغير فى البورت اللى معرف عليه الليدات
الفكرة بقى انك قبل ماتزود المتغير ولا تنور الليدة
اعمل لوب يلف على نفسه طول مالسويتش مضغوط
مثلا
while portb.1=1;
بكده البرنامج هيفضل واقف عند الأمر ده لغايت لما السويتش يفصل
ساعتها البرنامج هيكمل تنفيذ بحيث هيزود المتغير وينور الليده ويرجع يختبر الشرط تانى

جربها وان شااااء الله مشكلتك تتحل


(system) #4

اولا وقبل كل شيء شكرا جزيلا لكي اختي اميمة

ولكن اضن حسب الفكرة التي وضعتي ادا ضليت ضاغطا على زر سيبقة ينفد مجموعة من الاوامر في نفس الوقت

لي طلب ان كان ممكن هل ممكن ان تكتبي لي الكود بالميكروسي والله انا في امس حاجة لهدا البرنامج

يعني انا فقط اريد ان اعمل برنامج

حينما اضغط وارفع يدي من زر يعمل امر معين وحينما اضل ضاغط على زر الميكروكنترولر لا يفعل اي امر

وجزاك الله خير الجزاء اختي اميمة


(system) #5

الشكر لله يابشمهندس

 
if(portb.1=1)
    {
      Delay_ms(150);
      while(portb.1=1);
      
    }

[/CODE

جملهwhile  هتبقى الكومبايلر فى نفس المكان لغايت لما ترفع ايدك من الزرار
يعنى لما تلاقى الشرط غلط
حضرتك بقى تقدر تخليه ينفذ أى أمر تحبه داخل قوس الif وبعد الwhile

(system) #6

لقد حلت المشكلة بفضل الله وبفضلك


(system) #7

جزاك الله خيرا يابشمهندس
ربنا يوفقك


(system) #8

انا اسف على اني راح اطلع عن الموضوع شوي لاكن اعتقد انك لو استبدلت حرف الواو بــــ(ثم) افضل لأنك ساويت غير الله بالله وشكرا


(msh2003) #9

جزاك الله خير اخي MNS1


(system) #10

لقد حلت المشكلة بفضل الله تم بفضلك

اسف اخواني الاعضاء الكرام