文档详情

经典教材_微机原理及应用和汇编语言程序设计课件chap_8.ppt

发布:2018-06-21约1.41万字共72页下载文档
文本预览下载声明
第八章 中断 学习目的 了解 8259A芯片的内部结构 描述芯片的工作原理 熟悉 8259A芯片的工作方式 掌握芯片的编程方法 重点 8259A工作原理与应用 中断的概念 中断:外设向CPU发中断请求,CPU接收到中断请 求并在一定条件下,暂时停止执行原来的程 序而转去处理中断,处理好中断服务再返回 继续执行原来的程序,就称为一个中断过程。 中断是CPU被动的响应外设要求服务。 1、中断源:(1)数据输入/输出设备请求中断 (2)定时时间到申请中断 (3)满足规定条件申请中断 (4)电源掉电 (5)故障报警申请中断 (6)程序调试设置中断 2、CPU响应中断的条件 (1)无总线请求 (2)CPU允许中断:IF=1 (3)CPU执行完当前指令 3、CPU响应中断要自动完成的任务: (1)关中断 (2)保护断点(IP,CS,FLAG入栈) (3)给中断服务程序的入口地址 4、中断处理过程 保护现场:保护主程序中的一些寄存器值 开中断 :开放优先级更高的中断 执行中断服务程序 恢复现场:是与保护现场对应的, 但要注意数据恢复的次序,以免混乱。 中断返回:(使用中断返回指令IRET) 不能使用一般的子程序返回指令RET, 5、中断源的识别: 查询(软件识别) 硬件识别:外设提供中断申请信号和中断矢量 6.中断优先级 当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。 ①软件查询法 只需有简单的硬件电路,如 将A、B、C三台设备的中断请求 信号“或”后作为系统INTR,这时, A、B、C三台设备中只要至少有 一台设备提出中断请求,都可以 向CPU发中断请求。进入中断服务 子程序后,再用软件查询的方式分 别对不同的设备的服务,查询程序 的设计思想同查询式,查询的前后 顺序就给出了设备的优先级。 一、8086中断的分类 中断系统:可以处理256种中断,一个中断对应一个类型码,类型码为0~255。 两类:软件中断、硬件中断 非屛蔽中断:由NMI引入 可屛蔽中断:由INTR引入 三、硬件中断 NMI引入非屏蔽中断;INTR引入可屏蔽中断 1、NMI非屏蔽中断: CPU立即响应 优先级最高 处理重大事故 非屏蔽中断类型号为:02 H 2、可屏蔽中断 由外设发出的中断由INTR引入,当IF=1时,CPU将响应这一中断请求。 IF的清除与设置,可由指令完成。 四、硬件中断响应过程 1、可屏蔽中断的响应过程: (1)读中断类型码 (2)将标志寄存器的值推入堆栈 (3)清中断允许标志IF和单步中断TF (4)保护断点,将CS、IP推入堆栈 (5)根据中断类型码,找到中断向量 (6)根据中断向量转入相应的中断处理子程序 2、硬件中断响应周期时序 INTR为高电平时,向CPU发出中断请求; 标志位IF=1(开中断),CPU就会响应中断。 中断响应要用两个总线周期: 第一个中断响应周期 T1状态:AD15-AD0浮空,IF=1 T2、T3状态:给出中断响应信号INTA。 第二个中断响应周期;被响应的外设数据线送一个字节的中断矢量类型, CPU读入后,从中断矢量表上找到中断服务程序的入口地址。 五 软件中断 即通过中断指令来使CPU执行中断处理子程序的方法,特点如下: ①中断类型码由指令提供,不需执行中断响应总线周期,也不受IF标志的影响。 ②正在执行软件中断时,若来NMI,则立即响应,若来可屏蔽中断,只要条件允许(如IF=1,当前指令执行完)也可响应。 ③软件中断,由于其处理程序是定位装配的(中断向量表),又可方便地用INT n指令调用,因此在使用中和一般的子程序没有两样,并且原则上是0~255种类型均可使用。 六 中断类型号的获取 1) INT n (1)、标志寄存器入栈; (2)、清标志位TF、IF; (3)、CS、IP值入栈; (4)、计算中断地址: n 4 :低地址单元入IP 高地址单元入CS
显示全部
相似文档