bitsurfer
Member level 3
Hello, need (beginners level) help on this code.
Question is how to properly fire interrupt0 and interrupt1 isr when key1 or key2 is pressed.
Code C - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #include<AT89X51.H> sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2; sbit led4=P1^3; sbit key1=P3^7; sbit key2=P3^6; long count=0; void delay(void); void intrupt0(void) interrupt 0 { led1=0; delay(); led1=1; } void intrupt1(void) interrupt 2 { led2=0; delay(); led2=1; } void main() { P1=0xFF; P3=0xFF; EA=1; IE=0x85; // enable both ext interrupts while(1) { if(key1==1) { // fire interrupt0 } if(key2==1) { // fire interrupt1 } count++; if (count>10000) { led3=~led3; count=0; } } } void delay() { int x; for(x=0;x<10000;x++); }
Question is how to properly fire interrupt0 and interrupt1 isr when key1 or key2 is pressed.
Last edited by a moderator: