سلام خدمت دوستان عزیز
برای پروژه کارگاه میکرو کنترلر باید یه مداری طراحی و پیاده سازی کنیم که با فشردن کلید برای بار اول فقط LED1 روشن
بار دوم فقط LED2 روشن
بار سوم هر 2 روشن
و بار چهارم هردو LED خاموش !
( بار اولم بود برای همچین چیز هایی میخواستم کد بنویسم و متاسفانه استاد بسیار بی سوادی نصیب ما شده که حتی تعریف Event رو نمیدونه ! )
کدی که نوشتم متاسفانه نمیدونم در کدوم قسمت اشتباه کردم که با فشردن کلید کل فرآیند پشت سر هم اجرا میشه
و منتظر نمیمونه که کلید رو برای دفعات بعدی فشار بدیم !
ممنون میشم اگه دوستان راهنمایی کنند.
کد:
#include <mega16.h> #include <delay.h> #define STAT PINC.0 void main (void){ int count =0; DDRA=0xff; DDRC=0x00; while(1) { if(STAT == 1) { switch (count%4) { case 0: if(STAT == 1) PORTA.0=1; PORTA.1=0; delay_ms(500); break; case 1: if(STAT == 1) PORTA.0=0; PORTA.1=1; delay_ms(500); break; case 2: if(STAT == 1) PORTA.0=1; PORTA.1=1; delay_ms(500); break; case 3: if(STAT == 1) PORTA.0=0; PORTA.1=0; delay_ms(500); break; } count += 1; delay_ms(500); }//else {break;} } }
دیدگاه