سلام خدمت دوستان عزیز
برای پروژه کارگاه میکرو کنترلر باید یه مداری طراحی و پیاده سازی کنیم که با فشردن کلید برای بار اول فقط 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;}
}
}







دیدگاه