微机原理 第七章_第1页
微机原理 第七章_第2页
微机原理 第七章_第3页
微机原理 第七章_第4页
微机原理 第七章_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7章章 中断控制器中断控制器博学 审问 慎思 明辨 笃行第第7章章 中断控制器中断控制器 7.1 8259A的引脚信号、的引脚信号、编程结构和工作原理编程结构和工作原理 7.2 8259A的工作方式的工作方式 7.3 8259A的初始化命令字和初始化流程的初始化命令字和初始化流程 7.4 8259A的操作命令字的操作命令字 7.5 8259A使用举例使用举例 7.6 多片多片8259A组成的主从式中断系统组成的主从式中断系统 教学重点为: 8259A的编程结构;的编程结构; 8259A的初始化流程;的初始化流程; 8259A的初始化命令字与操作命令字;的初始化命令字与操作命令字; 8259

2、A的实例;的实例; 第第7章章 中断控制器中断控制器第第7章章 中断控制器中断控制器7.1 8259A的引脚信号、编程结构和工作原理的引脚信号、编程结构和工作原理7.1.1 8259A的外部信号和含义的外部信号和含义第第7章章 中断控制器中断控制器8259A的编程结构的编程结构第第7章章 中断控制器中断控制器8259A的引脚的引脚计时计时键键 盘盘保保 留留串串 口口2 并口并口软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1

3、CA2GND+ 5V203FH用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 第第7章章 中断控制器中断控制器7.1.2 8259A的编程结构和工作原理的编程结构和工作原理第第7章章 中断控制器中断控制器SP/ENCA0CA1CA2IORIOW总线总线D0D7数数 据据 线线D0D7INTAINTRA0片片选选译译码码A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片连接关系主从片连接关系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0OCW1 中断

4、屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级设置、发优先级设置、发EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查询方式设置查询方式设置处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级分析器分析器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断中断请求请求寄存器寄存器000 0 0 0 0 0 8259A的编程结构的编程结构第第7章章 中断控制器中断控制器 中断请求寄存器中断请求寄存器IRR 锁存外部的中断申请。锁存外部的中断申请。 若若 IR0IR7 引脚上有中断申请,

5、则将引脚上有中断申请,则将 IRR 相应位置相应位置1IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断请求请求寄存器寄存

6、器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11第第7章章 中断控制器中断控制器 中断屏蔽寄存器中断屏蔽寄存器 IMR 决定决定 IRR 中的中断申请中的中断申请 是否进入优先级裁决器是否进入优先级裁决器 PR。 IMR对应位对应位为为 0,允许允许中断申请进入优先级裁决器,中断申请进入优先级裁决器, 为为 1,不允许不允许进入,中断申请被进入,中断申请被IMR屏蔽屏蔽。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系

7、主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR第第7章章 中断控制器中断控制器 优先级裁决器优先级裁决器PR据新进入的中断申请和据新进入的中断申请和 ISR的内容的内容, 决定是否发中断申请信号。决定是否发中断申请信号。 如果进入的中

8、断申请比如果进入的中断申请比 ISR 中记录的中记录的中断优先级高中断优先级高, 则通过则通过 8259A 的的 INT 引脚向引脚向 CPU发出中断请求信号;发出中断请求信号; 如果进入的中断申请不比如果进入的中断申请不比 ISR 中记录的中断优先级高,中记录的中断优先级高,同级同级或低级或低级, 则不向则不向 CPU 发中断请求信号。发中断请求信号。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制00

9、1 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR当前中断服务寄存器当前中断服务寄存器 ISR 记录记录CPU正在响应的中断。正在响应的中断。 ISR中的某位中的某位为为1,表示,表示CPU正在响应正在响应此级中断,此级中断, 即正在执行此中断源的中断子程序;即正在执行此中断源的

10、中断子程序; ISR中的某位中的某位为为 0,表示,表示CPU没有或已响应完没有或已响应完此级中断,此级中断, 即不在执行此中断源的中断子程序即不在执行此中断源的中断子程序IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先

11、级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断请求请求寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR第第7章章 中断控制器中断控制器 CPU接收到接收到 INTR上的中断申请信号后:上的中断申请信号后:l 如果如果 IF 标志为标志为0,则,则CPU不响应此中断申请信号不响应此中断申请信号, 即中断申请被即中断申请被IF屏蔽。屏蔽。l 如果如果 IF 标志为标志为1,则处理完当前的指令后,进入,则处理完当前的指令后,进入 中断响应周期中断响应周期 通过通过 INTA 引脚发出两个负脉冲信号,引脚发出两个负脉冲

12、信号, 从数据总线上获取中断类型号,从数据总线上获取中断类型号, 进入中断响应的过程。进入中断响应的过程。第第7章章 中断控制器中断控制器 将将 ISR 中相应位置中相应位置1,表示表示 CPU 响应此级中断,执行此中断源的中断子程。响应此级中断,执行此中断源的中断子程。8259A在接收到第一个在接收到第一个INTA中断响应信号后中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类

13、型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 把把 IRR中对应的位清中对应的位清0,清除,清除IRR中锁存的中断申请信号。中锁存的中断申请信号。 通过数据线,将被响应申请的中断类型号送给通过数据线,将被响应申请的中断类型号送给CPU。类型号由类型号由ICW2提供,在初始化提供,

14、在初始化8259A时已设定好。时已设定好。8259A在接收到第二个在接收到第二个INTA中断响应信号后:中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0

15、 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 CPU获得中断类型号后,进入获得中断类型号后,进入CPU响应中断的过程响应中断的过程, 执行中断子程,处理中断源申请的功能执行中断子程,处理中断源申请的功能。7.2 8259A的工作方式的工作方式 8259A有多种工作方式,这些工作方式由程序初始化来设置,有多种工作方式,这些工作方式由程序初始化来设置,使用起来相当灵活。使用起来相当灵活。 1. 优先级设置方式优先级设置方式(1)固定优先级(也称全嵌套方式)固定优先级(也称全嵌套方式) 在全嵌套优先级方式中,

16、在全嵌套优先级方式中,8259A的中断优先级从的中断优先级从IR0到到IR7,即,即IR0优先级优先级最高,最高,IR7优先级最能低。这是最常用、最基本的工作方式。优先级最能低。这是最常用、最基本的工作方式。(2)特殊全嵌套方式)特殊全嵌套方式 与固定全嵌套方式基本相同,但在特殊全嵌套方式中,当正在处理某一与固定全嵌套方式基本相同,但在特殊全嵌套方式中,当正在处理某一级中断时,如果有同级的中断请求发生,级中断时,如果有同级的中断请求发生,8259A也会响应,从而开放了同级也会响应,从而开放了同级中断请求的特殊嵌套。中断请求的特殊嵌套。 这种方式主要用于这种方式主要用于8259A级联系统中,在这

17、种系统中,主片设置为特殊级联系统中,在这种系统中,主片设置为特殊全嵌套方式,从片设置为其它优先级方式,这样,某一从片的请求正在处理全嵌套方式,从片设置为其它优先级方式,这样,某一从片的请求正在处理时,来自同一从片中的优先级较高的中断请求也能得到响应。时,来自同一从片中的优先级较高的中断请求也能得到响应。第第7章章 中断控制器中断控制器(3)优先级自动循环方式)优先级自动循环方式 优先级自动循环方式一般用于多个中断源优先级相同的情况下。在这种优先级自动循环方式一般用于多个中断源优先级相同的情况下。在这种方式中,优先级队列是循环变化的,某一中断源得到中断服务后,优先自动方式中,优先级队列是循环变化

18、的,某一中断源得到中断服务后,优先自动降为最低。降为最低。 例如:在优先级自动循环方式中,优先级初始队列由高到低为:例如:在优先级自动循环方式中,优先级初始队列由高到低为:IR0、IR1、IR2、IR6、IR7,如果此时,如果此时IR2端有中断请求,并予以响应,响端有中断请求,并予以响应,响应结束后,应结束后,IR2的优先级自动降为最低,的优先级自动降为最低,IR3的优先级为最高,这时,系统的的优先级为最高,这时,系统的优先级队列由高到低变为:优先级队列由高到低变为:IR3、IR4、IR5、IR6、IR7、IR0、IR1、IR2。(4) 优先级特殊循环方式优先级特殊循环方式 优先级特殊循环方式

19、与优先级自动循环方式相比,唯一的区别在于:前优先级特殊循环方式与优先级自动循环方式相比,唯一的区别在于:前者是优先级初始队列是程序编程来决定的,如果程序规定,者是优先级初始队列是程序编程来决定的,如果程序规定,IR4 优先级最低,优先级最低,那么那么IR5优先级则最高;而后者的优先级初始队列开始是优先级则最高;而后者的优先级初始队列开始是IR0优先级最高,优先级最高,IR7优先级最低。优先级最低。第第7章章 中断控制器中断控制器2. 屏蔽中断源的方式屏蔽中断源的方式 按照中断源的屏蔽方式,按照中断源的屏蔽方式,8259A有以下两种工作方式:有以下两种工作方式:(1) 普通屏蔽方式普通屏蔽方式

20、在在8259A内部有一个位屏蔽寄存器(内部有一个位屏蔽寄存器(OCW1),对应),对应IR0IR7的的8个中个中断请求,可由程序设置将屏蔽寄存器中的任一位或几位置断请求,可由程序设置将屏蔽寄存器中的任一位或几位置1,这样与之相对应,这样与之相对应的中断请求就被屏蔽了。的中断请求就被屏蔽了。 当然,要清除屏蔽,只要将屏蔽寄存器(当然,要清除屏蔽,只要将屏蔽寄存器(OCW1)中的对应位复位即可。)中的对应位复位即可。(2) 特殊屏蔽方式特殊屏蔽方式 特殊屏蔽方式是当设置了特殊屏蔽方式后,对屏蔽寄存器(特殊屏蔽方式是当设置了特殊屏蔽方式后,对屏蔽寄存器(IMR)中的)中的对应位置对应位置1 ,同时使

21、当前中断服务寄存器中的对应位自动清,同时使当前中断服务寄存器中的对应位自动清0,这样,不只屏,这样,不只屏蔽了当前正在处理的这级中断,还开放优先级较低的其它中断请求。因此,蔽了当前正在处理的这级中断,还开放优先级较低的其它中断请求。因此,特殊屏蔽方式,总是在中断服务程序中使用。特殊屏蔽方式,总是在中断服务程序中使用。第第7章章 中断控制器中断控制器3. 中断结束处理的方式中断结束处理的方式 在中断服务程序结束时,必经发出中断结束命令,使在中断服务程序结束时,必经发出中断结束命令,使ISR中对应位复位,中对应位复位,否则,系统便不能正常工作。使否则,系统便不能正常工作。使ISR对应位复位的动作称

22、为中断结束处理。对应位复位的动作称为中断结束处理。8259A有以下三种中断结束方式:有以下三种中断结束方式:(1)中断自动结束方式)中断自动结束方式 这种中断结束方式是最简单的方式,用于系统中只有一片这种中断结束方式是最简单的方式,用于系统中只有一片8259A的情况。的情况。在这种方式中,系统一进入中断过程,在第二个中断响应信号在这种方式中,系统一进入中断过程,在第二个中断响应信号INTA到来时,到来时,8259A会自动将当前中断服务寄存器会自动将当前中断服务寄存器ISR中的相应位复位。中的相应位复位。(2)普通(一般)中断结束方式)普通(一般)中断结束方式 该方式多用于全嵌套方式下。当该方式

23、多用于全嵌套方式下。当CPU 向向8259A发出一条发出一条EOI命令时,命令时,8259A会把当前中断服务寄存器中的最高非零位复位。会把当前中断服务寄存器中的最高非零位复位。 具体操作是,只要在程序中向具体操作是,只要在程序中向8259A的偶地址端口写一个操作命令字的偶地址端口写一个操作命令字OCW2,并使其中的,并使其中的EOI=1,SL=0,R=O即可。即可。第第7章章 中断控制器中断控制器(3)特殊的中断结束方式)特殊的中断结束方式 这种方式是在程序中发出一条特殊的中断结束命令,具体指出要清除这种方式是在程序中发出一条特殊的中断结束命令,具体指出要清除ISR中的哪一位。往往用于非全嵌套

24、方式。中的哪一位。往往用于非全嵌套方式。 具体操作是,在程序中向具体操作是,在程序中向8259A 的偶地址端口写一个命令字的偶地址端口写一个命令字OCW2,并使其中的并使其中的EOI=1,SL=1,R=0,此时,此时L2,L1,L0这三位指出要清除这三位指出要清除ISR中的哪一位。中的哪一位。 需要指出的是,在级联系统中,一般不使用中断自动结束方式,而用需要指出的是,在级联系统中,一般不使用中断自动结束方式,而用非自动结束方式。而且,不管是使用普通中断结束方式,还是使用特殊的中非自动结束方式。而且,不管是使用普通中断结束方式,还是使用特殊的中断处理方式,在中断服务程序结束时,都必经发出两次中断

25、结束命令,一次断处理方式,在中断服务程序结束时,都必经发出两次中断结束命令,一次是对主片,一次是对从片。是对主片,一次是对从片。第第7章章 中断控制器中断控制器4. 连接系统总线的方式连接系统总线的方式 根据根据8259A与系统总线的连接方式,可以分为缓冲方式和非缓冲方式两种:与系统总线的连接方式,可以分为缓冲方式和非缓冲方式两种:(1)缓冲方式)缓冲方式 在多片在多片8259A级联的大系统中,级联的大系统中,8259A通过总线驱动器和数据总线相连,这通过总线驱动器和数据总线相连,这种方式称为缓冲方式。在这种方式中,将种方式称为缓冲方式。在这种方式中,将8259A的的SP/EN端和总线驱动器的

26、允许端和总线驱动器的允许端相连,端相连,8259A在输出状态字和中断类型码的同时,向在输出状态字和中断类型码的同时,向SP/EN端输出一个低电平,端输出一个低电平,此低电平信号作为总线驱动器的启动信号。此低电平信号作为总线驱动器的启动信号。(2)非缓冲方式)非缓冲方式 在只有一片或几片在只有一片或几片8259A的系统中,的系统中,8259A直接与直接与CPU的数据总线相连,称的数据总线相连,称为非缓冲方式。在非缓冲方式中,为非缓冲方式。在非缓冲方式中,8259A的的SP/EN端作为输入信号。在单片的端作为输入信号。在单片的8259A系统中,系统中, SP/EN端接高电平;在多片的端接高电平;在

27、多片的8259A的系统中,主片的的系统中,主片的SP/EN端端接高电平,从片的接高电平,从片的SP/EN端接低电平。端接低电平。 第第7章章 中断控制器中断控制器5. 引入中断请求的方式引入中断请求的方式 根据中断请求信号的引入方式,根据中断请求信号的引入方式,8259A有以下三种方式:有以下三种方式:(1)电平触发方式)电平触发方式 在电平触发方式中,在电平触发方式中,8259A把中断请求输入端把中断请求输入端IR出现高电平作出现高电平作为中断请求信号。为中断请求信号。(2)边沿触发方式)边沿触发方式 在边沿触发方式中,在边沿触发方式中,8259A把中断请求输入信号把中断请求输入信号IR出现

28、的上升出现的上升沿作为中断请求信号。沿作为中断请求信号。(3)中断查询方式)中断查询方式 8259A可工作于查询方式来检查外部设备的中断请求。可工作于查询方式来检查外部设备的中断请求。第第7章章 中断控制器中断控制器普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束中断处理方式屏蔽中断源方式屏蔽中断源方式普通

29、屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式第第7章章 中断控制器中断控制器7.3 8259A的初始化命令字和初始化流程的初始化命令字和初始化流程7.3.1 8259A的初始化命令字的初始化命令字 8259A有有4个初始化命令字个初始化命令字ICW1ICW4,用来对,用来对8259A进行初进行初始状态的设置。始状态的设置。 8259A在开始工作前必须写入;必须按照在开始工作前必须写入;必须按照ICW1ICW4顺序写入。顺序写入。1. ICW1(芯片控制初始化命

30、令字芯片控制初始化命令字)的格式和含义)的格式和含义偶地址端口偶地址端口表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0) 1只能为只能为1。作为标志作为标志中断触发方式:中断触发方式:LTIM1,电平触发方,电平触发方式式LTIM0,边沿触发方,边沿触发方式式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即即ICW4规定的位全为规定的位全为0ICW1: A0=0,D4=1第第7章章 中断控制器中断控制器2. ICW2(设置中断类型

31、号初始化命令字设置中断类型号初始化命令字)的格式和含义)的格式和含义ICW2: A0=1奇地址端口奇地址端口 设置中断向量号设置中断向量号n T7T3为中断向量号的高为中断向量号的高5位位n 低低3位为由位为由8259A自动确定:自动确定:n IR0为为000、IR1为为001、IR7为为111 中断类型码的高五位是由中断类型码的高五位是由ICW2的五位确定,低三位是由引入中断的五位确定,低三位是由引入中断请求的引脚确定。请求的引脚确定。 例如:例如:ICW2为为40H,则,则8259A的的IR0IR7对应的对应的8个中断类型码为个中断类型码为40H、41H、42H、43H、44H、45H、4

32、6H、47H。第第7章章 中断控制器中断控制器3. ICW3(标志主片标志主片/从片的初始化命令字从片的初始化命令字)的格式和含义)的格式和含义奇地址端口奇地址端口ICW3:A0=1级连命令字级连命令字n 主片主片8259A:IRi1对应对应IRi接有从片;接有从片;否则否则IRi没有连接从片没有连接从片n 从片从片8259A:ID0ID2编码说明从片编码说明从片INT引脚接到主片哪个引脚接到主片哪个IR引脚引脚第第7章章 中断控制器中断控制器4. ICW4(方式控制初始化命令字方式控制初始化命令字)的格式和含义)的格式和含义ICW4:A0=1嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方

33、式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)数据线的缓冲方式:数据线的缓冲方式:n缓冲方式(缓冲方式(BUF1)n非缓冲方式(非缓冲方式(BUF0) 主片主片/从片选择:从片选择:n主片(主片(M/S=1)n从片(从片(M/S=0)中断结束方式:中断结束方式:n自动中断结束(自动中断结束(AEOI1)n非自动中断结束(非自动中断结束(AEOI0)微处理器类型:微处理器类型:n16位位80 x86( PM1)n8位位8080/8085( PM0)奇地址端口奇地址端口第第7章章 中断控制器中断控制器7.3.2 8259A的初始化流程的初始化流程1) ICW1 写入偶地址端口,写入

34、偶地址端口,ICW2ICW4写入奇地址端口。写入奇地址端口。2)先依次写入命令字)先依次写入命令字ICW1和和ICW2。3)只有当)只有当ICW1中的中的SNGL=0时,才送时,才送ICW3。主片和从片均送。主片和从片均送ICW3,但它们的,但它们的格式不同。格式不同。4)只有当)只有当ICW1中的中的IC4=1时,才送时,才送ICW4。对。对8086/8088系统,系统,ICW4总是需要总是需要设置的。设置的。综上所述,综上所述, 在微机系统中:在微机系统中:采用单片采用单片8259A结构时,初始化要写入的结构时,初始化要写入的预置命令字是:预置命令字是:ICW1、ICW2和和ICW4。而采

35、用级连时,要写入的预置命令字是:而采用级连时,要写入的预置命令字是:ICW1、ICW2、ICW3和和ICW4。第第7章章 中断控制器中断控制器第第7章章 中断控制器中断控制器ICW的设置方法:的设置方法:8259A在系统中占用二个端口地址,用在系统中占用二个端口地址,用A0来寻址来寻址ICW1: A0=0ICW2、3、4:A0=1,共用一个端口,所以区分这三,共用一个端口,所以区分这三个寄存器的唯一方法就是按照从个寄存器的唯一方法就是按照从ICW2ICW4的排列顺序进行初始化的排列顺序进行初始化的设置,否则易出现错误。的设置,否则易出现错误。 例:例:在在IBMPC机中,分配给中断控制器的端口

36、地址机中,分配给中断控制器的端口地址为为20H,21H。并且其。并且其8259A为单片系统。为单片系统。第第7章章 中断控制器中断控制器 INTA00 EQU 20H ;8259A端口地址端口地址 INTA01 EQU 21H 。 MOV AL, 13H OUT INTA00, AL ; 设设ICW1,边沿触发,单片边沿触发,单片 MOV AL, 08H OUT INTA01,AL ; 设设ICW2,中断类型号中断类型号00001H MOV AL, 09H OUT INTA01,AL ; 设设ICW4 ,非特殊全嵌,非非特殊全嵌,非8位系统,非中断自位系统,非中断自动结束动结束00010011

37、第第7章章 中断控制器中断控制器7.4 8259A的操作命令字的操作命令字 8259A有三个操作命令字有三个操作命令字OCW1OCW3。在应用程序中设置,。在应用程序中设置,设置次序没有规定,对端口地址有严格规定,设置次序没有规定,对端口地址有严格规定,OCW1写入奇地址,写入奇地址,OCW2、OCW3写入偶地址。写入偶地址。 1. OCW1(中断屏蔽操作命令字中断屏蔽操作命令字)的格式和含义)的格式和含义OCW1:A0=1奇地址端口奇地址端口屏蔽命令字:屏蔽命令字:中断屏蔽寄存器中断屏蔽寄存器IMRDiMi对应对应IRi,为,为1禁止禁止IRi中断;中断;为为0允许允许IRi中断。各位互相独

38、立。中断。各位互相独立。第第7章章 中断控制器中断控制器2. OCW2(设置优先级循环方式和中断结束方式的操作命令字设置优先级循环方式和中断结束方式的操作命令字)的格式和含义)的格式和含义偶地址端口偶地址端口OCW2:A0=0R:中断优先权控制:中断优先权控制R=1 循环优先权循环优先权R=0 固定优先权固定优先权SL=1 L0L2指明一个中断级指明一个中断级EOI=1 结束中断指令结束中断指令L2L0的的3位编码位编码指定指定IR引脚引脚 该命令字:该命令字:产生中断结束方式和改变优产生中断结束方式和改变优先权顺序先权顺序A0=D4=D3=0:是:是OCW2的标志位。的标志位。 第第7章章

39、中断控制器中断控制器A0D7D40,D31是是OCW3的特征位,的特征位,以便于与以便于与OCW1和和OCW2相区别。相区别。 3. OCW3(设置特殊屏蔽、中断查询、读操作命令字设置特殊屏蔽、中断查询、读操作命令字)的格式和含义)的格式和含义OCW3:A0=0偶地址端口偶地址端口设置中断屏蔽方式设置中断屏蔽方式ESMM 特殊屏蔽模式允许位特殊屏蔽模式允许位SMM 特殊屏蔽模式位特殊屏蔽模式位P 查询方式位,查询方式位,P1,8259A依靠发送查依靠发送查询命令来获得外部设备的中断请求信息;询命令来获得外部设备的中断请求信息;P0,处于非查询方式。,处于非查询方式。 RR 读寄存器命令。读寄存

40、器命令。RR1,允许读,允许读IRR和和ISR的值;的值;RR0,禁止读取。,禁止读取。RIS 读读IRR或或RIS的选择位。当的选择位。当RR1时,时,RIS1,允许读当前中断服务寄存器,允许读当前中断服务寄存器ISR的值;的值;RIS0,允许读中断请求寄存器,允许读中断请求寄存器IRR的值。的值。 第第7章章 中断控制器中断控制器7.5 8259A的使用举例的使用举例【例例】 8259A在系统中的初始化编程。使用要求和特点如下:在系统中的初始化编程。使用要求和特点如下: (1)一片)一片8259A管理管理8级中断,级中断,(2)端口的地址范围为)端口的地址范围为20H3FH,实际使用,实际

41、使用20H和和21H两个端口。两个端口。(3)8个中断请求信号均为边沿触发。个中断请求信号均为边沿触发。(4)采用固定优先级方式。)采用固定优先级方式。(5)中断类型码的范围是:)中断类型码的范围是:08H0FH。非自动中断结束。非自动中断结束。硬件连接如硬件连接如图图所示:所示:第第7章章 中断控制器中断控制器8259A的初始化程序段:的初始化程序段:MOV AL, 13H ;写写ICW1,单片,单片8259A,边沿触发,需设,边沿触发,需设ICW4OUT 20H, ALMOV AL, 08H ;写写ICW2,中断类型码的高五位为,中断类型码的高五位为00001BOUT 21H, ALMOV

42、 AL, 01H ;写写ICW4,8086/8088系统,固定优先级,非自动中断结束系统,固定优先级,非自动中断结束OUT 21H, AL采用中断结束命令的程序段:采用中断结束命令的程序段:MOV AL, 20H ;写写OCW2,向,向8259A发出普通发出普通EOI命令命令OUT 20H, AL第第7章章 中断控制器中断控制器(1) 初始化命令字初始化命令字(ICW1- - ICW4) 决定决定8259A的工作方式的工作方式 通常是在计算机系统启动时在初始程序设置,通常是在计算机系统启动时在初始程序设置, 一旦设定,一般在系统工作过程不再改变。一旦设定,一般在系统工作过程不再改变。例例 开机

43、后,开机后,BIOS将将8259A初始化为:初始化为: IR0IR7中断申请信号为上升沿触发方式;中断申请信号为上升沿触发方式; IR0IR7对应的中断类型号分别为对应的中断类型号分别为08H0FH; 优先级优先级IR0最高最高, IR7最低;最低;(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制在应用程序中设定,动态地控制CPU处理中断的过程处理中断的过程(3) ISR和和IRR存放当前存放当前8259A的状态的状态 通过读取通过读取 ISR 和和 IRR 的内容,可了解当前的内容,可了解当前8259A工作情况工作情况小小 结结第第7章章 中断控制器

44、中断控制器 (1)通过中断屏蔽寄存器通过中断屏蔽寄存器IMR的读写,设置中断屏蔽字的读写,设置中断屏蔽字 (2) 通过通过OCW2操作命令寄存器,发中断结束操作命令寄存器,发中断结束EOI命令命令要求掌握:要求掌握: 通过往奇地址端口写入通过往奇地址端口写入OCW1(IMR)内容实现)内容实现 对应位对应位为为0,允许允许该级中断申请进入该级中断申请进入 对应位对应位为为1,禁止禁止该级中断申请进入该级中断申请进入(1)设置中断屏蔽字设置中断屏蔽字第第7章章 中断控制器中断控制器IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0

45、D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR第第7章章 中断控制器中断控制器l 新增允许新增允许 IR2 的中断申请的中断申请 IN AL, 21

46、H ;读入原读入原IMR的内容的内容 AND AL, 1111 1011B ;D2=0,允许允许IR2的中断申请的中断申请 OUT 21H, AL ;写入写入IMRl 禁止禁止 IR4 的中断申请的中断申请 IN AL, 21H ;读入原读入原IMR的内容的内容 OR AL, 0001 0000B ;D4=1,禁止禁止IR4的中断申请的中断申请 OUT 21H, AL ;写入写入IMR例例 已知已知 IBM PC/XT系统中系统中 8259A的奇地址端口地址为的奇地址端口地址为21H第第7章章 中断控制器中断控制器设置完成后的结果设置完成后的结果: :IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论