一.中断的概念
- 中断发生
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理
- 中断响应和中断服务
CPU暂时中断当前的工作,转去处理事件B
- 中断返回
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A
这一过程称为中断
二.中断过程示意图
三.MCS51中断系统的结构
MCS51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套
中断编号 |
中断名 |
中断源 |
0
外部中断0
IE0(P3.2)
1
定时器0溢出中断
TF0
2
外部中断1
IE1(P3.3)
3
定时器1溢出中断
TF1
4
串行口中断
RI
四.中断寄存器
单片机有10个寄存器主要与中断程序的书写控制有关
- 中断允许控制寄存器IE
- 定时器控制寄存器TCON
- 串口控制寄存器SCON
- 中断优先控制寄存器IP
- 定时器工作方式控制寄存器TMOD
- 定时器初值赋予寄存器(TH0/TH1,TL0/TL1)
五.部分寄存器详解
1.中断允许控制寄存器(IE)
EX0:外部中断0允许位;
ET0:定时/计数器T0中断允许位;
EX1:外部中断1允许位;
ET1:定时/计数器T1中断允许位;
ES :串行口中断允许位;
EA :CPU中断允许(总允许)位。
2.定时器/计数器控制寄存器控制寄存器(TCON)
IT0:外部中断0触发方式控制位
当IT0=0时,为电平触发方式(低电平有效)
当IT0=1时,为边沿触发方式(下降沿有效)
IE0:外部中断0中断请求标志位
IT1:外部中断1触发方式控制位
IE1:外部中断1中断请求标志位
TF0:定时/计数器T0溢出中断请求标志位
TF1:定时/计数器T1溢出中断请求标志位
3.串行口控制寄存器(SCON)
RI:串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。
TI:串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。
4.中断优先级控制寄存器(IP)
PX0:外部中断0优先级设定位
PT0:定时/计数器T0优先级设定位
PX1:外部中断0优先级设定位
PT1:定时/计数器T1优先级设定位
PS :串行口优先级设定位
PT2:定时/计数器T2优先级设定位
六.中断响应条件
- 中断源有中断请求
- 此中断源的中断允许位为1
- 开中断(即EA=1)