|中断中断中断

|中断中断中断

文章图片

|中断中断中断

文章图片

|中断中断中断

1|0 中断


51单片机中有5个中断源(忽略定时/计数器2) , 分为2个优先级 , 有优先级从高到低依次为
外部中断0:INT0 (入口:0x00030003H)中断号是0
定时/计数器0:TF0(入口:0x000B , 000BH)中断号是1
外部中断1:INT1(入口:0x0013 , 0013H)中断号是2
定时/计数器1:TF1(入口:0x001B , 001BH)中断号是3
串口中断:R1/T1(入口:0x0023 , 0023H)中断号是4
2|0中断系统结构


3|0中断寄存器






4|0代码实现
中断函数格式
1 void Init() intterupt 1 (1这个是中断号)
{


项目代码
1 #include \"reg52.h\"
2
3 sbit L0 = P0^0;
4 sbit L8 = P0^7;
5
6 void delay(unsigned int i)
7 {
8     while(i--);
9
10
11 void SeletHC573()
12 {
13     P2 = P2 & 0x1f | 0x80;
14
15
16 void LED0()
17 {
18   SeletHC573();
19     L0 = 0;
20     delay(60000);
21     L0 = 1;
22     delay(60000);
23
24
25 void Init_INT0()
26 {
27     EX0 = 1;
28     IT0 = 1;
29     EA  = 1;
30
31
32 unsigned char flag = 0;
33 void Init_0() interrupt 0
34 {
35     flag = 1;
36
37
38 void LED1()
39 {
40     if(flag == 1)
41   {
42         L8 = 0;
43         delay(60000);
44         delay(60000);
45         delay(60000);
46         delay(60000);
47         L8 = 1;
48   
49     flag = 0;
50
51
52 void main()
53 {
54   Init_INT0();
55     while(1)
56   {
57       LED0();
58       LED1();
59   
【|中断中断中断】60


    推荐阅读