带你了解8XC552 中断系统
扫描二维码
随时随地手机看文章
中断装置和中断处理程序统称为中断系统。
中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。
中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点成为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现由实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
8XC552的中断系统如图10.31所示,共有15个中断源,分为2个中断优先级。这15个中断源分别是:2个定时/计数器T0和T1溢出中断;3个T2比较中断;2个外部中断INT/INT1;1个T2溢出中断;异步串行口中断UART;A/D转换结束中断;4个T2捕捉中断;I2 C同步串行口中断。
图10.31 8XC552中断系统
中断的允许由两个特殊功能寄存器IEN0和IEN1控制。IEN0的地址为A8H,格式如图10.32所示。
IEN0各位的功能说明如下:
EA:中断系统总允许控制位。
EAD:A/D转换器中断允许位。
ES1:I2 C中断允许位。
ES0:UART中断允许位。
ET0、ET1:定时器T0、T1中断允许位。
EX0、EX1:外部中断INT0、INT1允许位。
IEN1的地址为E8H,其格式如图10.33所示。
IEN1各位的功能说明如下:
ET2:T2溢出中断允许位。
ECM0~ECM2:比较器0~2中断允许位。
ECT0~ECT3:捕捉器0~3输入端CT0I~CT3I的中断允许位。
中断优先级由两个特殊功能寄存器IP0和IP1控制。IP0的地址为B8H,其格式如图10.34所示。
IP0各位的功能说明如下:
PAD:ADC中断优先级控制位。
PS1:I2 C总线中断优先级控制位。
PS0:UART中断优先级控制位。
PT0、PT1:定时器T0、T1中断优先级控制位。
PX0、PX1:外部中断INT0、INT1中断优先级控制位。
IP1的地址为F8H,其格式定义如图10.35所示。
IP1格式的功能说明如下:
PT2:定时器T2中断优先级控制位;
PCM0~PCM2:比较寄存器0~2中断优先级控制位;
PCT0~PCT3:捕捉寄存器0~3中断优先级控制位。
8XC552单片机与MCS 51单片机的中断结构相似,采用两级中断方式,1个低优先级中断可被1个高优先级中断,反之则不行。如果有几个同级中断同时请求中断,则按内部规定的中断优先级顺序响应中断。表10.14为8XC552内部中断硬件查询次序和中断矢量地址。
需要指出的是,8XC552在响应中断后,硬件只自动清除定时器T0、T1的溢出中断标志TF0、TF1和由边沿触发的外部中断标志IE0、IE1,其余各中断标志必须由用户用软件加以清除。
大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。
①接收中断请求。
②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。
③中断优先权选择。
④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。
⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。
⑥执行中断控制程序和相应的中断服务程序。
⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。