4.2 MCS-51单片机中断系统结构
MCS-51单片机中断系统结构如图4-2所示。由图4-2可知,当随机事件采用外部中断0发出中断请求时,信号由单片机P3.2引脚输入,在输入信号之前,要设置触发中断请求的方式,有两种方式,一种为电平触发方式,设置标志IT0=0;一种为跳沿触发方式,设置标志IT0=1,CPU检测到有中断请求时,会自动将中断控制寄存器TCON中的IE0标志位置“1”,然后检查中断允许控制寄存器IE标志位EX0和EA是否由用户置“1”,若为“1”,则以默认的0优先级执行中断服务子程序。

图4-2 中断系统结构
4.2.1 中断各功能部件
从中断系统结构可知,中断系统有5个中断源,4个特殊功能寄存器,2个中断优先级。
1.中断源
MCS-51单片机系统有5个中断源,见表4-3。
表4-3 中断源

2.特殊功能寄存器
MCS-51单片机系统有4个特殊功能寄存器,见表4-4。
表4-4 特殊功能寄存器

3.中断优先级
MCS-51单片机系统有两级优先级,为高优先级和低优先级。高优先级用1来表示,低优先级用0来表示,在中断优先级控制寄存器IP中进行设置。
中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。
中断优先控制的基本原则:
(1)高优先级中断可以中断正在响应的低优先级中断,反之则不能。(https://www.daowen.com)
(2)同优先级中断不能互相中断。
(3)同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。
4.2.2 中断处理过程
1.中断处理过程
中断处理过程大致可分为四步:中断请求、中断响应、中断服务(中断处理)、中断返回。其处理流程图如图4-3所示。

图4-3 中断处理流程图
中断处理过程步骤说明见表4-5。
表4-5 中断处理过程步骤说明

2.中断响应等待时间
若排除CPU正在响应同级或更高级的中断情况,中断响应等待时间为3~8个机器周期。
3.中断请求的撤除
中断源发出中断请求,相应中断请求标志置“1”。CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。
(1)对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。
(2)对外中断电平触发方式,需要采取软硬结合的方法消除。
(3)对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。