文档介绍:一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
中断概述
MCS-51中断系统
第4章中断技术
中断概述
返回
1、中断的定义:
中断是指如下过程:CPU与外设同时工作,CPU执行主程序,外设做准备工作,当外设准备好时向CPU发中断请求信号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序,在中断服务程序中CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。
2、中断系统的定义:
中断系统是指为了实现中断传送过程在CPU内外设置的硬件和有关中断的指令。
3、中断源:
⑴中断源的定义:中断源是指引起中断请求的来源。
⑵中断源的分类: ①软中断和②硬中断
4、中断处理的全过程
中断处理的全过程分成3个阶段:中断请求、中断响应和中断服务。
5、多重中断与中断优先级
⑴当系统中有多个设备提出中断请求时,多个外设的中请信号要通过门电路送到CPU的中请输入端,使CPU能收到多个外设提出的中请。
⑵ CPU在收到多个外设的请求后,按中断处理原则处理中断。
⑶确定优先级的方法解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法(采用可编程的中断控制器芯片,如Intel8259A)。
通过指令引起的中断。
可以发中断请求信号的外设或过程。如打印机、驱动器、故障源和A/D转换器等。
中断请求
。
中请输入线有2类:非屏蔽中请输入线和可屏蔽中请输入线;有的CPU只有可屏蔽中请输入线,而有的CPU则2种都有。
、关中断。
CPU内有1个中断请求触发器IFF,当IFF=1时,称CPU开中断,此时CPU可以处理收到的可屏蔽中请;当IFF=0时,称CPU关中断,虽然 CPU收到了可屏蔽中请,但不处理(响应)它。
。
CPU每执行一条指令,其内的中断请求检测电路都要检测中断请求输入端的状态: ①先测NMI,若NMI有效,则CPU进入非屏蔽中响阶段。
②若NMI无效,则检测INT的状态。
③若INT有效且CPU开中断,则CPU进入可屏蔽中响阶段。
④若INT有效但CPU关中断,则CPU执行下一条指令。
⑤若INT无效,则CPU执行下一条指令。
对于非屏蔽中请输入线上的中请,CPU无条件的响应。
对于可屏蔽中请输入线上的中请,只有在CPU和中断源都开中断的情况下才能响应。
返回
中断响应
中断源向CPU发出中断请求,若其优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。
CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。
:
①保护断点和②给出中断服务程序入口地址(将中断服务程序的首地址送给PC,为CPU执行装段服务程序创造条件);有的CPU还会做自动关中断等操作
:
⑴固定入口式(中断服务程序的首地址固定,直接将此规定地址送给PC)
⑵矢量式。
返回
中断服务
中断服务子程序是由用户根据自己的需要编制的,编制时要注意如下问题:
:
由一系列的PUSH指令完成。目的是为了保护那些与主程序中有冲突的寄存器,(如A,PSW,工作寄存器等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等没有冲突的话,这一步骤可以省略。
:
由SETB或CLR指令实现。目的是为了能控制中断。
:
与中断源实现信息交换。
:
由一系列的POP指令完成。是与保护现场对应的,但要注意数据恢复的次序,以免混乱。
:
使用中断返回指令RETI。不能使用一般的子程序返回指令RET,因为RETI指令除了能恢复断点地址外,还能恢复中断响应时的标志寄存器的值,而这后一个动作是RET指令不能完成的。
返回
中断服务子程序结构图
中断服务子程序结构图
返回
保护现场
开中断
与外设交换信息
恢复现场
中断返回
中断处理原则
返回
,CPU按优先级的高低有高到低依次为外设服务。
,