51单片机应用开发实战手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.3 MCS-51的中断控制

8051单片机的中断控制主要是实现中断的开放、屏蔽和中断的优先级的管理功能。中断控制的设定是通过对中断允许寄存器和中断优先级寄存器的编程来实现。

1.对中断允许的控制

中断允许寄存器的字节地址为A8H,其格式如图1.7所示。

图1.7中断允许寄存器的格式

● EA:CPU中断总允许位。当EA=1时,CPU开放中断;当EA=0时,CPU屏蔽所有中断请求。

● ES:串行口中断允许位。当ES=1时,允许串行口中断;当ES=0时,禁止串行口中断。

● ET1:定时器T1溢出中断允许位。当ET1=1时,允许T1中断;当ET1=0时,禁止T1中断。

● EX1:外部中断1中断允许位。当EX1=1时,允许外部中断1中断;当EX1=0时,禁止外部中断1中断。

● ET0:定时器T0溢出中断允许位。当ET0=1时,允许T0中断;当ET0=0时,禁止T0中断。

● EX0:外部中断0中断允许位。当EX0=1时,允许外部中断0中断;当EX0=0时,禁止外部中断0中断。

系统复位后,IE各位均被清0,即处于禁止所有中断的状态,可在系统初始化程序中对IE寄存器编程。

2.对中断优先级的控制

8051单片机中断系统具有两级中断优先级管理。可通过对中断优先级寄存器IP的设置,选择高优先级或低优先级中断,并可实现二级中断嵌套。

中断优先级寄存器IP的字节地址为B8H,其格式如图1.8所示。

图1.8中断优先级寄存器的格式

● PS:串行口中断优先级控制位。当PS=1时,高优先级;当PS=0时,低优先级。

● PT1:片内定时器T1中断优先级控制位。当PT1=1时,高优先级;当PT1=0时,低优先级。

● PX1:外部中断1优先级控制位。当PX1=1时,高优先级;当PX1=0时,低优先级。

● PT0:片内定时器T0中断优先级控制位。当PT0=1时,高优先级;当PT0=0时,低优先级。

● PX0:外部中断0优先级控制位。当PX0=1时,高优先级;当PX0=0时,低优先级。

当系统复位后,IP寄存器被清零,即将5个中断源均设为低优先级。

如果同一级的几个中断源同时向CPU申请中断,CPU便通过内部硬件逻辑按自然优先级决定响应顺序。各中断源按自然优先级由高到低的顺序为:外部中断0(IE0)、定时器T0溢出中断(TF0)、外部中断1(IE1)、定时器T1溢出中断(TF1)、串行口中断(RI+TI)。