السلام عليكم
كود:
#define led1 portb.f1
#define led2 portb.f2
#define led3 portb.f3
////////////////////////////
int i,x;
////////////////////////////
void interrupt(){
x+=100;
if(x>500)x=0;
if(x==100){led1=1;
portb.f2=1;
}
if(x==200){led1=1;
portb.f3=1;
}
if(x==300){led1=1;
portb.f3=1;
}
delay_ms(250);
intcon.f1=0;
}
/////////////////////////////
void main() {
portb=0;
trisb=1;
intcon=144;
option_reg=63;
while(1){x=0;
delay_ms(250);
for(i=0;i<x;i++)
delay_ms(250);
led1=0;
led2=0;
led3=0;
}
}
لماذا كررت led1=1
لماذا جعلت الشرط x==200 هو نفسه x==300
لم تخبر الميكرو ماذا يفعل عندما يكون x==400 وعندما يكون x==500