二、中断系统

二、中断系统

实现中断功能的硬件系统和软件系统统称为中断系统,它是计算机的重要组成部分。MCS-51单片机中断系统的结构图如图5-2所示。

图5-2 MCS-51单片机中断系统结构图

MCS-51系列单片机的中断系统有外部中断定时/计数器T0、定时/计数器T1和串行口5个中断请求源(89C52还有1个定时计数器T2),TCON(其中6位)、SCON(其中2位)、IE和IP共4个特殊功能寄存器,来控制中断的类型、中断的开/关、中断允许和各种中断源的优先级别。5个中断源有两个中断优先级,即高优先级和低优先级,可以实现二级中断服务程序嵌套。

中断系统需要解决以下基本问题。

1.中断源

中断请求信号的来源。包括中断请求信号的产生及该信号如何被CPU有效地识别,而且要求中断请求信号产生一次,只能被CPU接收处理一次,即不能一次中断请求被CPU多次响应。这就涉及中断请求信号的及时撤除问题。每个中断源都对应一个中断请求标志位,它们分别设置在特殊功能寄存器TCON和SCON中,当这些中断源请求中断时,相应的标志分别由TCON和SCON中的相应位来锁存。89C51中断系统的5个中断源,见表5-1。

表5-1 89C51的中断源

2.中断响应与返回

CPU采集到中断请求信号后,转向特定中断服务子程序的过程称为中断响应;执行完中断服务子程序后返回到原来被中断的程序继续执行,这个过程称为中断返回,中断响应与返回的过程中涉及CPU响应中断的条件、现场保护等问题。

3.优先级控制

一个计算机应用系统,特别是计算机实时测控应用系统,往往有多个中断源,各中断源的要求具有不同的轻重缓急程度。与人处理问题的思路一样,希望重要紧急的事件优先处理,而且,如果当前正在处理某个事件的过程中,有更重要、更紧急的事件到来,就应当暂停当前事件的处理,转去处理更重要、更紧急的新事件。这就是中断系统优先级控制所要解决的问题。中断优先级的控制形成了中断嵌套。