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 }
View Code

 

2313
posted on 2023-04-10 19:44  Ivan2023  阅读(26)  评论(0)    收藏  举报