08_单片机_初识中断
1.中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的(当CPU正在处理某件事的时候,外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理紧急事件,处理结束后,再回到原来中断的地方,继续原来的工作)

2.STC89C51系列单片机提供了8个中断请求源,它们分别是:外部中断0,定时器0中断,外部中断1,定时器1中断,串口中断,定时器2中断,外部中断2,外部中断3
STC89C51RC/RD+系列中断系统结构图

3. 中断触发

4. 数码管循环显示0~F,按下按键,LED亮灭显示(按下亮,再按下灭,如此循环)
1 #include <REG51.H> 2 3 sbit led1 = P0^0; 4 sbit key1 = P3^2; 5 6 void delay10ms(void); 7 8 unsigned char code dat[16] = 9 {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; 10 11 void eint0() interrupt 0 12 { 13 delay10ms(); 14 if(key1 == 0) 15 { 16 led1 = ~led1; 17 } 18 } 19 20 void main(void) 21 { 22 unsigned char i; 23 led1 = 1; 24 25 IT0 = 1; 26 EX0 = 1; 27 EA = 1; 28 29 while(1) 30 { 31 for(i=0; i<16; i++) 32 { 33 P1 = ~dat[i]; 34 delay10ms(); 35 } 36 } 37 } 38 39 void delay10ms(void) 40 { 41 unsigned char a,b,c; 42 for(c=5;c>0;c--) 43 for(b=4;b>0;b--) 44 for(a=248;a>0;a--); 45 }
2313
浙公网安备 33010602011771号