一、51单片机的中断过程
1.中断的示意图
二、中断源与内部寄存器
1.中断源
52单片机共有6个中断源。
中断源 |
解释 |
端口线 |
INT0 |
外部中断0,低电平或下降沿引起 |
P3.2 |
INT1 |
外部中断1,低电平或下降沿引起 |
P3.3 |
T0 |
定时器/计数器0,由T0计数器计满回零引起 |
P3.4 |
T1 |
定时器/计数器1,由T1计数器计满回零引起 |
P3.5 |
T2 |
定时器/计数器2,由T2计数器计满回零引起 |
P1.0 |
TI/RI |
串行口中断,串行端口完成一帧字符发送后引起 |
P3.0/P3.1 |
中断源 |
中断级别 |
序号(C语言用) |
入口地址(汇编用) |
注释 |
INT0 |
最高 |
0 |
0003H |
外部中断0 |
T0 |
第2 |
1 |
000BH |
定时器/计数器0 |
INT1 |
第3 |
2 |
0013H |
外部中断1 |
T1 |
第4 |
3 |
001BH |
定时器/计数器1 |
TI/RI |
第5 |
4 |
0023H |
串行口中断 |
T2 |
最低 |
5 |
002BH |
定时器/计数器2 |
注:
- TI/RI串口中断中,P3.0为RXD接受中断,P3.1为TXD发送中断。
- 定时器/计数器2可作为捕获、自动重装、波特率发生器使用,且寄存器相对复杂。
- 定时器/计数器2的寄存器定义不在头文件中,需要自行定义。
- 当GATE位为1时,端口线才会决定定时器/计数器的开关。
2.定时器/计数器0和1的寄存器
(1)模式控制寄存器TMOD
位序号 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
位符号 |
GATE |
C/T |
M1 |
M0 |
GATE |
C/T |
M1 |
M0 |
注:其中高四位设置定时器/计数器T1,低四位设置定时器/计数器T0。
- GATE为门控制位。用于控制定时器/计数器的启动与停止。
电平状态 |
注释 |
GATE = 0 |
仅受TCON寄存器中的TR位来控制 |
GATE = 1 |
受TCON寄存器中的TR位和外部中断引脚电平控制 |
电平状态 |
注释 |
C/T = 0 |
定时器模式 |
C/T = 1 |
计数器模式 |