微机原理与接口技术第8章中断技术课件

上传人:汽*** 文档编号:568906727 上传时间:2024-07-27 格式:PPT 页数:29 大小:640KB
返回 下载 相关 举报
微机原理与接口技术第8章中断技术课件_第1页
第1页 / 共29页
微机原理与接口技术第8章中断技术课件_第2页
第2页 / 共29页
微机原理与接口技术第8章中断技术课件_第3页
第3页 / 共29页
微机原理与接口技术第8章中断技术课件_第4页
第4页 / 共29页
微机原理与接口技术第8章中断技术课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《微机原理与接口技术第8章中断技术课件》由会员分享,可在线阅读,更多相关《微机原理与接口技术第8章中断技术课件(29页珍藏版)》请在金锄头文库上搜索。

1、第第8 8章章 中断技术中断技术本章重点了解中断的基础知识,包括中断和中断源、中断处理过程、中断优先级和中断嵌套了解8086/8088的中断系统重点掌握可编程中断控制器8259A的功能、结构与编程应用8 81 1 中断技术概述中断技术概述8.1.18.1.1中断源与中断源识别中断源与中断源识别1 1中断和中断源中断和中断源 中断是指CPU暂时中止正在执行的程序,转去执行请求中止的那个内、外部事件的服务程序,待该服务程序处理完毕后又返回到被中止的程序处继续执行程序的现象。计算机所具有的这种功能,称为中断功能。为了实现中断功能而设置的各种硬件和软件统称为中断系统。能够向CPU发出中断请求引起中断的

2、来源称为“中断源”。常见的中断源有: (1)一般的输入/输出设备。如键盘、CRT终端、打印机等; (2)数据通道。如磁带、磁盘等; (3)实时时钟。如计数器芯片8253等的定时输出作为定时中断请求信号; (4)故障信号。如电源掉电等; (5)软件中断。如为调试程序而设置的断点。2 2中断源识别中断源识别 CPU要对中断请求进行处理,就必须知道是哪个中断源引起了中断,读取它的中断类型码,根据中断类型码查找中断向量表,获得对应的中断服务程序的入口地址,这就是中断源的识别。识别中断源有两种方法,即查询中断和向量中断。 查询中断由图8-1可见,如果4次测试都未发现有中断请求,则表示中断输入线的信号是由

3、出错引起的,程序转向出错处理。图8-1用软件查询法找中断源 向量中断(Vectored Interrupt) 又称矢量中断。在具有向量中断的微型计算机系统中,每个外设都预先指定一个中断向量,当CPU识别出某个外设请求中断并予以响应时,控制逻辑就将该外设的中断向量送入CPU以自动地提供相应的中断服务程序的入口地址,转入中断服务程序。 3.3.中断的用途中断的用途 (1)并行操作。 (2)实现实时处理。 (3)故障处理。8.1.2 8.1.2 中断处理过程中断处理过程 微型计算机系统的中断处理过程的流程如图8-2所示。中断处理过程包括中断请求、中断判优、中断响应、中断处理和中断返回五个阶段。图8-

4、2 中断响应流程图 1. CPU1. CPU响应中断的条件响应中断的条件(1)设置中断请求触发器(2)设置中断屏蔽触发器(3)设置中断允许触发器的状态(4) CPU在现行指令结束后响应中断2. CPU2. CPU对中断的响应对中断的响应(1)关中断(2)保护断点(3)识别中断源(4)保护现场(5)执行中断服务程序(6)恢复现场(7) 开中断 中断返回8.1.38.1.3中断优先级管理中断优先级管理 中断优先级管理就是指中断控制系统实现中断源按优先权排队。在微型计算机系统中存在着多个中断源,这些中断源在某一时刻可能同时向CPU发出中断请求,而在任何时候CPU只能为一个中断源服务。CPU确定首先为

5、哪一个中断源服务以及服务的次序就称为中断优先级管理。解决的方法是用中断优先级排队的处理方法。这就是根据中断源要求的轻重缓急,事先排好中断处理的优先次序,即优先级,先响应优先级最高的中断请求。 解决中断优先级的方法有以下几种。 1. 1. 软件查询法软件查询法软件查询确定中断优先级是最简单的方法,其基本思想是把几个(通常是8个)外设的中断请求触发器组合起来,形成一个中断请求寄存器,作为一个端口使用,然后把各个外设的中断请求信号作为一个逻辑“或”电路的输入信号,“或”电路的输出端INT连接到CPU的中断请求输入引脚,对8086的可屏蔽中断而言连接到INTR引脚。 2.2.硬件查询法硬件查询法 硬件

6、查询法确定优先级有中断链法和编码-比较法两种。图8-3给出了为实现硬件查询的优先级中断链法的硬件电路(Daisy-chaining)。 图8-3 优先级中断链电路图 图8-4给出了中断优先级编码-比较器组成的中断优先级排队电路。 图8-4 编码器和比较器的优先级的优先级排队电路 3. 3.中断的嵌套中断的嵌套 当CPU执行优先级较低的中断服务程序时,允许响应优先级更高的中断源请求的中断,而挂起正在处理的中断,这就是中断嵌套或称多重中断。 多个中断源单一中断请求线的中断处理过程的流程图如图8-5所示。多重中断流程与单级中断流程相比,有以下几点不同:(1)应加入屏蔽本级和较低级中断请求的环节。(2

7、)开始执行中断服务程序之前,要开放中断系统。(3)中断服务程序结束之后,为了使恢复现场过程不受到任何中断请求的干扰,必须安排关中断指令,中断关闭后才能恢复现场。(4)恢复现场后应该安排开中断指令,重新开放中断,这样才能允许处于等待状态的中断请求被CPU响应。8.2 8086/8088 8.2 8086/8088 的中断系统的中断系统8.2.1 8086/80888.2.1 8086/8088中断分类中断分类 根据中断源所处的位置不同,8086/8088的中断源可分为两类,即外部中断和内部中断。如图8-6所示。图8-6 8086/8088中断源 1.1.外部中断外部中断 外部中断又可分为可屏蔽中

8、断和非屏蔽中断。可屏蔽中断的请求信号通过INTR引脚送CPU,非屏蔽中断的请求信号通过NMI引脚送CPU。(1)可屏蔽中断(2)非可屏蔽中断NMI 2.2.内部中断内部中断 (1)溢出中断 (2)除法出错中断 (3) INT n指令中断 (4)断点中断 (5)单步(陷阱)中断 部中断的特点是: 中断类型码或者包含在指令中,或者是预先规定的; 不执行总线周期; 除单步中断外,任何内部中断都无法禁止,即都是非屏蔽中断; 除单步中断外,任何内部中断的优先级都比外部中断的高。 8086/8088的中断优先级如表8-1所示 8.2.2 8.2.2 中断向量表中断向量表 中断向量表又称中断服务程序地址指针

9、表,是存放中断服务程序入口地址的表格。由于8086的存储器采用20位物理地址,被分成段地址和段内偏移地址(有效地址)两部分,所以每个中断服务程序入口地址都由段地址和段内偏移地址组成。图8-7 中断向量表8.3 80868.3 8086的中断处理过程的中断处理过程 中断过程也应该把它要使用的任何寄存器的内容在修改前保存起来,并在处理结束前再恢复。中断过程最好在程序中关键部分以外的所有部分都开放外部中断。若在一个过程中禁止外部中断的时间过长,就可能丢失INTR线上的中断请求信号。 所有的中断过程都应该以IRET指令结尾。IRET指令总是认为堆栈仍处于进入该过程时的状态。该指令将找到栈顶的3个字分别

10、弹出到IP和CS和标志寄存器中,这样就回到了中断过程开始前将要执行的那条指令上去。8.4 8.4 可编程中断控制器可编程中断控制器8259A8259A及应用实例及应用实例8.4.1 8259A8.4.1 8259A的内部结构及其引脚的内部结构及其引脚1 18259A8259A的内部结构的内部结构 8259A的内部结构如图8-8所示。由图8-8可知8259A由中断请求寄存器IRR、中断优先级裁决器PR、当前中断服务寄存器ISR、中断屏蔽寄存器IMR、初始化命令字寄存器ICW1ICW4、操作命令字寄存器OCW1OCW3、读/写控制逻辑以及数据总线缓冲器等几部分组成。图8-8 8259A内部结构图

11、2 28259A8259A引脚引脚 8259A芯片采用双列直插式28引脚封装,如图8-9所示。图8-9 8259A的引脚图各引脚功能简述如下: D7D0:与CPU的数据线相连,实现与CPU的数据交换。 INT:与CPU的INTR相连,用来向CPU发中断请求。 INTA :接收来自CPU的中断应答信号。 RD :读控制信号。当有效时,CPU读取8259A的状态信息。 WR:写w1控制信号。当有效时,CPU向8259A写命令字。 CS:8259A的片选信号。 CAS2CAS0:在级联时用来指出从片的编号。 SP/EN:作为输入时用来决定是主片还是从片,级联的主片接高电位,从片接低电位;输出时,作为

12、总线缓冲器的启动信号,决定是否采用缓冲方式工作。 A0:地址输入信号。用来指出访问8259A的哪个端口,8259A有一个偶地址和一个奇地址,所以只需要一根地址。 IR7IR0:外部中断请求信号输入信号,连接中断源,接收外设的中断请求。 Vcc,GND:电源线和地线。8259A的工作电压是+5V。8.4.2 8259A8.4.2 8259A的工作方式的工作方式1 1设置优先级的方式设置优先级的方式(1) (1) 全嵌套方式全嵌套方式(2) (2) 特殊全嵌套方式特殊全嵌套方式 (3) (3) 优先级自动循环方式优先级自动循环方式(4) (4) 优先级特殊循环方式优先级特殊循环方式2 2结束中断处

13、理方式结束中断处理方式一般中断结束方式特殊中断结束方式自动中断结束方式3 3中断屏蔽方式中断屏蔽方式(1)一般屏蔽方式(2)特殊屏蔽方式4 4中断触发方式中断触发方式(1)电平触发(2)边沿触发 (3)中断查询方式5 58259A8259A的级连方式的级连方式(1)缓冲方式(2)非缓冲方式8.4.3 8259A8.4.3 8259A的中断响应过程的中断响应过程8259A的中断响应过程如下: (l) l条或多条中断请求输入端(IR0 IR7)变为高电平,使IRR相应位置“1”。表明由1个或多个中断源向8259A提出中断请求。 (2 )8259A接收这些请求,分析它们的优先级,通过输出端INT向C

14、PU发出中断请求信号。(3)在条件具备的情况下,CPU响应中断,并发出第一个脉冲作为应答,通知8259A中断被响应。 (4)8259A接到来自CPU的一个脉冲,将最高优先级的ISR位置位,而相应的IRR位被复位。该总线周期内,8259A 没有驱动数据总线。 (5)CPU启动第2个脉冲信号至8259A,8259A接到该信号后驱动数据总线,把最高优先级中断源的中断向量送CPU。 (6)在自动结束中断方式中,当第2个脉冲结束时,使ISR位复位。在其他情况下,ISR位置位,中断子程序结束时,发出相应的 EOI命令,结束中断处理过程。 8.4.4 8259A8.4.4 8259A的初始化命令字和操作命令

15、字的初始化命令字和操作命令字1.1.初始化命令字初始化命令字 (1)ICW1命令字(控制初始化命令字)(2)ICW2命令字(设置中断类型码初始化命令字)(3)ICW3命令字(主片/从片初始化命令字)(4)ICW4命令字(方式控制初始化命令字) 8259A初始化过程概述为ICW1写入偶地址端口,ICW2ICW4写入奇地址端口;ICW1ICW4的设置次序固定;ICW1和ICW2必须设置,ICW3和ICW4不是必须设置;在级联时,主片和从片各设置ICW3。初始化流程如图8-10所示。 2 2操作命令字操作命令字 (1)OCW1操作命令字(2)OCW2操作命令字 OCW2操作命令字用来设置8259A的

16、中断结束方式和优先级循环,其中D4D3=00为该命令的标志,其余各位编码所代表的功能见表8-2和8-3所示。(3)OCW3操作命令字 OCW3操作命令字用来设置8259A的中断结束方式和优先级循环,其中D4D3=01为该命令的标志,其余各位编码所代表的功能见表8-4和8-5所示。3 38259A8259A的级联的级联 图8-11为3片8259A级联的连接图,该中断系统能够与22个中断源相连,构成22级中断,其中主片有6级中断,两个从片有16级中断。 对于级联中的每一片8259A而言,其中断优先级与单片时没有区别。从片的优先级由主片输入端的优先级决定。例如,若主片的IRQ0的优先级高于IRQ1,则与IRQ0相连的从片优先级高于与IRQ1相连的从片优先级。对主片而言,同一从片上的不同输入端的优先级相同,即为同级中断。图8-11

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号