🌈个人主页:会编程的果子君
💫个人格言:"成为自己未来的主人~"
引言
单片机的中断系统是解决突发事件和多任务实时处理的最佳方法,熟练掌握中断技术的应用是一个合格电子工程师必备的能力。
为什么要引入中断程序
一个高速主机和一个低速外设连接时,效率极低,低速外设工作时无端占用大量CPU时间,一个高速主机和多个低速外设连接时,高速主机无法进行多任务并行处理。
中断的概念
CPU在处理某一事件A时,发生了另一事件B的请求(中断请求),CPU暂时中断当前的工作,转去处理事件B(中断相应和中断服务),待CPU将事件B处理完毕后,在返回原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。
引起CPU中断的根源,称为中断源,中断源向CPU提出的中断请求,CPU暂时中断原来的事物A,转去处理事物B,对事物B处理完毕后,再返回原来被中断的地方(即断点),称为中断返回,实现上述中断功能的部件称为中断系统(中断机构)
中断的优点
早期的计算机系统是不包含中断系统的,后来为了解决快速主机与慢速外设的数据传送问题,引入了中断系统,它的优点:
分时操作,CPU可以分时为多个外设服务,提高了计算机的利用率,
实时响应,CPU能够及时处理应用系统的随机事件,系统的实时性大大增强,
可靠性高,CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高
中断功能强弱是计算机性能优劣的重要标志
80C51中断系统的结构
80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套
(P3.2)可由ITO(TCON.0)选择其为低电平有效还是下降沿有效,当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IEO(TCON.1)置1,向CPU申请中断。
(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效,当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志TEI(TCON.3)置1,向CPU申请中断
TFO(TCON.5),片内定时/计数器TO溢出中断请求标志,当定时/计数器TO发生溢出时,置位TFP,并向CPU申请中断
TF1*=(TCON.7),片内计时/计数器T1溢出中断请求标志,当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断
RI(SCON.0)或TI(SCON.1),串行口中断请求标志,当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断
SCON的中断标志
RI(SCON.0),串行口接受中断标志位IE,当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI,注意,RI必须由软件清楚
TI(SCON.1),串行口发送中断标志位,当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程,每发送完一个串行帧,由硬件置位TI,CPU响应中断时,不能自动清楚TI,必须由软件清楚
80C51中断的控制
中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的
EXO(IE.0),外部中断0允许位
ETO(IE.1),定时/计数器T0中断允许位
EX1(IE.2),外部中断允许位
ET1(IE.3),定时/计数器T1中断允许位
ES(IE.4),串行口中断允许位
EA(IE.7),CPU中断允许(总允许)位
中断优先级控制
80C51单片机有两个中断优先级,即可实现二级中断服务嵌套,每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。
PX0(IP.0),外部中断0优先级设定位
PT0(IP.1),定时/计数器T0优先级设定位
PX1(IP.2),外部中断0优先级设定位
PT1(IP.3),定时/计数器T1优先级设定位
PS(IP.4),串行口优先级设定位
PT2(IP.5),定时/计数器T2优先级设定位
80C51单片机的中断优先级由三条原则
CPU同时接收到几个中断时,首先响应优先级别最高的中断请求
正在进行的中断过程不能被新的同级或低优先级的中断请求所中断
正在进行的低优先级中断服务,能被高优先级中断请求所中断
为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器,其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求,另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。