80C51的中断系统的结构
80C51的中断系统有5个中断源,2个中断优先级,可实现二级中断嵌套。
1.(P3.2)可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上有有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2.(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上有有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3.TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
4.TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
5.RI (SCON.0)或TI (SCON.1)串行口中断请求标志。当串行口接受完一帧串行数据时置位RI,或者当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
中断请求标志
1.TCON的中断标志
IT0(TCON.0),外部中断0触发方式控制位。
当IT0=0时,为电平触发方式。
当IT0=1时,为边沿触发方式。(下降沿有效)
IE0(TCON.1),外部中断0中断请求标志位。
IT1(TCON.2),外部中断1触发方式控制位。
IE1(TCON.3),外部中断1中断请求标志位。
TF0(TCON.5),定时/计数器T0溢出中断请求标志位。
TF1(TCON.7),定时/计数器T1溢出中断请求标志位。
2.SCON的中断标志
RI (SCON.0),串行口接收中断标志位。当串行口接收数据时,每接收完一帧串行数据,由硬件置位RI,向CPU申请中断,CPU响应中断时,不能自动清除RI,RI必须由软件清除。
TI (SCON.1),串行口发送中断标志位。当串行口发送数据时,每发送完一帧串行数据,由硬件置位TI,向CPU申请中断,CPU响应中断时,不能自动清除TI,TI必须由软件清除。
80C51中断的控制
1.中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏蔽,是由中断允许寄存器IE控制的。
EX0(IE.0),外部中断0允许位。
ET0(IE.1),定时/计数器T0中断允许位。
EX1(IE.2),外部中断1允许位。
ET1(IE.3),定时/计数器T1中断允许位。
ES(IE.4),串行口中断允许位。
EA(IE.7),CPU中断允许(总允许)位。
2.中断优先级控制
80C51单片机有两个中断优先级,可以实现二级中断服务嵌套。每个中断源的中断优先级,都是由中断优先级寄存器IP中的,相应位的状态来规定的。
PX0(IP.0),外部中断0优先级设定位。
PT0(IP.1),定时/计数器T0优先级设定位。
PX1(IP.2),外部中断1优先级设定位。
PT1(IP.3),定时/计数器T1优先级设定位。
PS(IP.4),串行口优先级设定位。
PT2(IP.5),定时/计数器T2优先级设定位。