微机原理讲义(第7章中断控制器的编程结构工作方式等)_第1页
微机原理讲义(第7章中断控制器的编程结构工作方式等)_第2页
微机原理讲义(第7章中断控制器的编程结构工作方式等)_第3页
微机原理讲义(第7章中断控制器的编程结构工作方式等)_第4页
微机原理讲义(第7章中断控制器的编程结构工作方式等)_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7章章 中断控制器中断控制器的编程结构、工作方式及编程的编程结构、工作方式及编程湖南中医药大学湖南中医药大学 王志辉王志辉主要内容主要内容8259A的外部信号、编程结构和工作原理8259A的初始化命令字和初始化流程8259A的操作命令字8259A的工作方式多片8259A构成的主从式中断系统本章重点:u8259A的编程结构的编程结构u8259A的工作方式以及工作方式的分类依据的工作方式以及工作方式的分类依据u8259A的初始化命令字及其含义的初始化命令字及其含义u8259A的初始化方法的初始化方法u8259A的操作命令字和设置方法的操作命令字和设置方法u多片多片8259A构成的主从式中断系统

2、构成的主从式中断系统中断的基本概念中断的基本概念n 什么是中断? 在CPU执行程序的过程中,由于某种突发事件的发生,强迫CPU暂时停止正在执行的程序,转向对该突发事件进行处理,对这个事件处理结束后又能回到原中止的程序,接着中止前的状态继续执行原来的程序,这一个过程就称为中断中断。 把引起中断的原因或触发中断请求的来源称为中断源中断源。n 中断请求信号的产生 中断功能接口电路,用来产生中断请求信号。 中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬件开销。以输入方式为例,接口电路如图所示。8086/8088的中断系统的中断系统非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步

3、单步中断中断除法除法错误错误INT N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTA中断需要解决的问题中断需要解决的问题n 中断源的识别 系统有多个中断请求,CPU如何识别哪个中断源发出的请求?l 办法办法1:向量中断(硬件):向量中断(硬件)l 办法办法2:中断查询(软:中断查询(软/硬件结合)硬件结合)n 中断优先级有多个中断同时请求,CPU如何应对?l 办法办法1:软件查询方式:软件查询方式l 办法办法2:简单硬件方式:简单硬件方式菊花链法菊花链法l 办法办法3:专用硬件方式

4、:专用硬件方式n 中断嵌套 中断处理过程中,又有中断提出请求,怎么办?l 办法办法1:链式优先权排队电路:链式优先权排队电路l 办法办法2:优先权编码电路:优先权编码电路中断控制器的功能中断控制器的功能n 在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;n 当CPU响应中断并进入中断处理程序后,中断控制器仍然负责对外部中断请求的管理n 当某个外部中断请求的优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套n 反之,对级别低的中断则禁止。1 1 中断控制中断控制8259

5、A8259A8259A的工作特点n 具有8级中断优先控制,通过级连可以扩展至64级优先权控制n 每一级中断都可以通过初始设置为允许或屏蔽状态n 8259A的工作方式可以通过编程设置,使用灵活n 8259A采用NMOS( Negative channel-Metal-Oxide-Semiconductor ,N型金属氧化物半导体)制造工艺,只需要单一的+5V电源8259A 的内部结构与的内部结构与外部外部引脚信号引脚信号 控制逻辑中断服务寄存器ISR优先权电路PR中断请求寄存器IRR中断屏蔽寄存器IMR读写控制逻辑级联缓冲比较器数据总线缓冲器D0D7WRCSENSPA0CAS0CAS1CAS2I

6、NTAINTIR0IR1IR7RD8259A外部引脚信号8259A的引脚的引脚 双列直插式芯片,双列直插式芯片,28个引脚个引脚方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 定时器定时器8259A的外部引脚信号的外部引脚信号n D7-D0: 双向数据输入

7、/输出引脚 用以与CPU进行信息交换n IR7-IR0: 8级中断请求信号输入引脚 规定的优先级为IR0IR1IR7 当有多片8259A形成级联时,从片的INT与主片的IRi相连。n INT: 中断请求信号输出引脚,高电平有效 用以向CPU发中断请求,接在CPU的INTR输入端。RD8259A的外部引脚信号n INTA: 中断响应应答信号输入引脚,低电平有效,接CPU的中断应答信号输出端 在CPU发出第二个时,8259A将其中最高级别的中断请求的中断类型码送出。n RD: 读控制信号输入引脚,低电平有效 实现对8259A内部有关寄存器内容的读操作。RD8259A的外部引脚信号n WR 写控制信

8、号输入引脚,低电平有效 实现对8259A内部有关寄存器的写操作。n CS: 片选信号输入引脚,低电平有效 一般由系统地址总线的高位,经译码后形成 决定了8259A的端口地址范围。RD8259A的外部引脚信号n A0:8259A两组内部寄存器的选择信号输入引脚决定8259A的端口地址。A00ICW1、OCW2、OCW3;A01 ICW2ICW4、OCW1RD8259A的外部引脚信号n CAS2CAS0: 级连信号引脚 当8259A为主片时,为输出;否则为输入 与-SP/-EN信号配合,实现芯片的级连 这三个引脚信号的不同组合000111,刚好对应于8个从片。n SP/EN: -SP为级连管理信号

9、输入引脚 在非缓冲方式下,若8259A在系统中作从片使用,则-SP=1;否则-SP=0; 在缓冲方式下,用作8259A外部数据总线缓冲器的启动信号。n +5V、GND: 电源和接地引脚RDW9-217 8251A初始化的约定:初始化的约定: 复位后,第一次给复位后,第一次给奇地址奇地址端口写端口写入的值作为入的值作为方式字送入方式寄存器方式字送入方式寄存器 如规定为如规定为同步模式同步模式,那么,接下来,那么,接下来往往奇地址奇地址端口写入的是端口写入的是同步字符同步字符。如果是。如果是双同步双同步,则先后,则先后两次两次写入同步字符。写入同步字符。 接下来,只要不是复位命令,接下来,只要不是

10、复位命令,CPU给奇地址写入的是给奇地址写入的是控制字控制字,给,给偶地址偶地址端口端口写入写入的是要的是要发送的数据发送的数据。 8251A使用前必须进行初始化,以确定工作方式、传送速率、字符格式以及停止位长度等;改变8251A的工作方式时必须再次进行初始化编程;简述简述8251A的初始化流程的初始化流程?描述描述8255A的内部结构及各个部件功能?的内部结构及各个部件功能?(1)端口端口A 是一个独立的是一个独立的8位数据位数据I/O口,口,它的内部有对它的内部有对数据输入数据输入/输输出的锁存出的锁存功能。功能。(2)端口端口B 是一个独立的是一个独立的8位数据位数据I/O口,口,对对输

11、入的数据不锁存输入的数据不锁存,仅对,仅对输出的数据锁存输出的数据锁存。(3)端口端口C 可以看作是一个可以看作是一个独立的独立的8位位I/O口口;还可以用作还可以用作A口和口和B口的控制信号。对输出数据口的控制信号。对输出数据进行进行锁存,对输入数据不锁锁存,对输入数据不锁存。存。 2.A2.A组控制和组控制和B B组控制组控制两个功能:即两个功能:即一是一是接收芯片接收芯片内部总线上的控制字;内部总线上的控制字;二是二是接收来自读接收来自读/ /写控写控制逻辑电路的读制逻辑电路的读/ /写命写命令。令。3.3.读读/ /写控制逻辑电路写控制逻辑电路 负责管理负责管理8255A8255A的的

12、数据传输数据传输过程。它接收过程。它接收CSCS及来自地及来自地址总线的信号址总线的信号A1A1、A0A0和和控控制总线的信号制总线的信号RESETRESET、RDRD、WRWR的信号,的信号,再由它们完成再由它们完成对数据、状态和控制信息对数据、状态和控制信息的传输。的传输。描述描述8255A的的A/B组控制部件以及读写控制逻辑电路功能?组控制部件以及读写控制逻辑电路功能?4. 4. 数据总线缓冲器数据总线缓冲器是一个双向三态的是一个双向三态的8 8位数据位数据缓冲器。缓冲器。8255A8255A正是通正是通过过数据总线缓冲器数据总线缓冲器与系与系统统数据总线数据总线相连。相连。输入数据、输

13、出数据、输入数据、输出数据、CPUCPU发给发给8255A8255A的控制字的控制字都都是通过该部件传递的。是通过该部件传递的。n方式方式0: 也叫基本输入输出方式。也叫基本输入输出方式。 (1)(1)三个端口都可作为独立的输入或输出口,各端口间没有必然的关系。三个端口都可作为独立的输入或输出口,各端口间没有必然的关系。(2)(2)这种方式下,这种方式下,输出可锁存数据,输入是不锁存输出可锁存数据,输入是不锁存的。的。n使用场合: 同步传输:发送方和接收方由发送方和接收方由同一时序同一时序信号来管理,信号来管理, CPUCPU不需要查询外设不需要查询外设的状态的状态,对接口要求很简单,对接口要

14、求很简单, ,只要能传送数据就行,此时只要能传送数据就行,此时8255A8255A的的三个数据端三个数据端口可以实现三路数据传送口可以实现三路数据传送。 查询式传输:因为没有应答信号,一般将因为没有应答信号,一般将A A、B B口常作为数据口,把口常作为数据口,把C C口的两口的两部分用来输出一些控制信号和接收一些状态信号部分用来输出一些控制信号和接收一些状态信号,这样端口,这样端口C C用来配合端口用来配合端口A A和和B B工作。工作。方式方式1:又称为又称为选通的输入选通的输入/ /输出方式输出方式。 (1 1)端口)端口A A和端口和端口B B可以分别作为输入端口或输出端口。可以分别作

15、为输入端口或输出端口。(2 2)如果端口)如果端口A A和端口和端口B B只有一个只有一个工作于方式工作于方式1 1,端口,端口C C中就有中就有3 3位位被规定为被规定为配配合方式合方式1 1工作的信号,这时,工作的信号,这时,另一个端口和端口另一个端口和端口C C的其它位可工作于方的其它位可工作于方式式0 0。(3 3)如果端口)如果端口A A和和B B都都工作在方式工作在方式1 1,那么端口,那么端口C C则有则有6 6位位分别作为分别作为A A口和口和B B口的口的应答联络信号,并且其排列是固定的,应答联络信号,并且其排列是固定的,剩余的剩余的2 2位位可工作于方式可工作于方式0 0。

16、使用场合:使用场合: 适用于适用于采用中断方式进行输入输出的场合,采用中断方式进行输入输出的场合,外设能为外设能为8255A提供选择信号或数据接收应答信号提供选择信号或数据接收应答信号 方式方式2:也叫双向传输方式,具有如下也叫双向传输方式,具有如下特点特点: (1 1)只适用于端口只适用于端口A A,相当于双向的方式,相当于双向的方式1 1传输。传输。 (2 2)端口端口C C用用5 5条线作为条线作为A A口的联络信号,并且排列是固口的联络信号,并且排列是固定定的。的。使用场合:使用场合: 并行外部设备既可以作为输入设备,又可作为输出设备,并且输入输出动作不会同时进行的场合。8259A的编

17、程结构和工作原理(的编程结构和工作原理(先看书先看书P237页!页!)8259A的编程结构和工作原理n 下半部有7个8位可编程寄存器分为两组:第一组4个:初始化命令字ICW1-ICW4第二组3个:操作命令字OCW1-OCW3n 上半部为处理部件中断请求寄存器IRR中断服务寄存器ISR中断屏蔽寄存器IMR优先权分析器PR中断控制中断控制n 中断请求寄存器IRR 保存8条外界中断请求信号IR0IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求n 中断服务寄存器ISR 保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务n 中断屏蔽寄存器IM

18、R 保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许读写控制逻辑读写控制逻辑 A0 RD WR CS功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1写入ICW1、OCW2和OCW3写入ICW2ICW4和OCW1读出IRR、ISR和查询字读出IMR数据总线高阻状态数据总线高阻状态A00:ICW1、OCW2、OCW3;A01:ICW2ICW4、OCW18259A的工作过程外部中断请求外部中断请求IRR接收,对应位置接收,对应位置1,锁存。,锁存。IMR对应位对应位0IMR对应位对应位1,屏蔽。,屏蔽。PR裁决裁决与与ISR中

19、对应位比较中对应位比较优先级高优先级高优先级低优先级低INT1IF0IF1CPU往往INTA发两发两个负脉冲个负脉冲第一个第一个负脉冲负脉冲第二个第二个负脉冲负脉冲1)IRR锁存失效,不接收中断锁存失效,不接收中断 请求信号;请求信号;2)ISR对应位置对应位置1;3)IRR相应位清相应位清0。1)8259A发中断类型码;发中断类型码;2)中断自动结束方式下,)中断自动结束方式下, ISR对应位清对应位清0。8259A的工作过程的工作过程8259A的编程结构和工作原理的编程结构和工作原理ISRPRIRR中断处理部件中断处理部件比较比较IRR失效失效相应位置相应位置1相应位清相应位清0* * *

20、 * * * * *1相应位清相应位清008259工作示意图工作示意图8.2 8259A的工作方式p 设置优先级的方式p 屏蔽中断源的方式p 结束中断处理的方式p 连接系统总线的方式n 确定中断类型码的方式8259A可以通过各个可以通过各个 IRi 引脚连接引脚连接8个不同的中断个不同的中断源;每个中断源都需要指源;每个中断源都需要指定有一个中断类型码定有一个中断类型码如何确定如何确定?CPU 响应中断并执行理中断服务响应中断并执行理中断服务程序后,中断服务寄存器程序后,中断服务寄存器 ISR的的相应的位将置相应的位将置1;ISR的对应位复的对应位复位,则表示一次中断响应的结束位,则表示一次中

21、断响应的结束如何使如何使ISR的对应位复位的对应位复位?CPU将在多个中断请求中,将在多个中断请求中,响应优先级最高的中断响应优先级最高的中断如何确定中断的优先级如何确定中断的优先级?并不是所有的中断都可以向并不是所有的中断都可以向CPU发送请求信号的;发送请求信号的;8259A能够屏蔽那些不允许发送的能够屏蔽那些不允许发送的中断请求中断请求如何屏蔽如何屏蔽?8259A 与数据总线之间可以与数据总线之间可以直接连接,也可以通过数据直接连接,也可以通过数据缓冲器连接缓冲器连接如何实现不同的连接方式如何实现不同的连接方式?1. 设置优先级的方式设置优先级的方式(1)普通全嵌套方式(固定优先级方式)

22、普通全嵌套方式(固定优先级方式)默认方式,默认方式,IR0最高,最高,IR7最低最低(2)特殊全嵌套方式)特殊全嵌套方式 基本同普通全嵌套方式,基本同普通全嵌套方式,所不同的是允许同级中断嵌套(用于级联主片)所不同的是允许同级中断嵌套(用于级联主片)(3)自动循环方式)自动循环方式 初始优先级顺序初始优先级顺序IR0最高,最高,IR7最低。最低。 当其中一个中断源受到服务,当其中一个中断源受到服务, 则它为最低优先权。则它为最低优先权。 同时置比它低一级中断源为最高级,同时置比它低一级中断源为最高级, 其它自动循环排列。其它自动循环排列。常用在系统中多个中断源优先级相等的场合常用在系统中多个中

23、断源优先级相等的场合(4)指定循环方式)指定循环方式 当一中断源通过编程指定为当一中断源通过编程指定为最低最低优先权,优先权, 则比它则比它低一级中断源为最高级低一级中断源为最高级,其它顺序排列。,其它顺序排列。 如:指定如:指定IR3为最低,则优先级顺序为为最低,则优先级顺序为IR4, IR5,IR6,IR7,IR0,IR1, IR2 , IR3 。2、屏蔽中断源方式、屏蔽中断源方式n 普通屏蔽方式通过OCW1设置将 IMR的 Di位置1,对应的中断 IRi将被屏蔽,该中断请求将不能从8259A送到CPU如果将 IMR 的 Di位置0,则允许对应的中断产生n 特殊屏蔽方式允许发生低级的中断嵌

24、套。通过OCW1设置将IMR的 Di位置1,中断IRi被屏蔽(屏蔽同级中断);同时,ISR的的Di位将置位将置0,允许发生低级的中断。在中断处理程序中使用3、结束中断处理的方式、结束中断处理的方式n 中断自动结束方式中断自动结束方式 仅适用于只有单片8259A且多个中断不会嵌套的场合, 系统一旦响应中断,CPU在发第二个INTA脉冲时,就会使中断响应寄存器ISR中相应位复位,虽然系统在进行中断处理,但对于8259A来讲,ISR没有相应的指示,就象中断处理结束,返回主程序之后一样; CPU可以再次响应任何级别的中断请求。n 非指定的中断结束方式非指定的中断结束方式 通过OCW2设置,中断结束时用

25、户用指令送结束字,配合全嵌套优先级方式使用 当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会清除ISR中当前优先级最高的中断服务标志n 指定的中断结束方式指定的中断结束方式 通过OCW2设置,用于非全嵌套优先级方式 中断结束时用户用指令送特定的结束字,指明要清除ISR中的哪一位。n8259A判断中断服务寄存器判断中断服务寄存器ISR的状态:的状态:若某位为若某位为1,表示该中断源正在得到服务;一般情况下,将,表示该中断源正在得到服务;一般情况下,将不再响应同级或低级的中断(采用特殊屏蔽方式时,可响不再响应同级或低级的中断(采用特殊屏蔽方式时,可响应低级别的中断)应低级

26、别的中断)若某位为若某位为0,表示该中断服务已结束,可响应低级别中断。,表示该中断服务已结束,可响应低级别中断。n用指令向用指令向8259A送中断结束字(送中断结束字( ocw2-EOI ),可以使),可以使ISR的的某位清某位清0n该操作与该操作与CPU无关。无关。4、系统总线的连接方式、系统总线的连接方式n 缓冲方式缓冲方式 在多片8259A级联级联的大系统中,8259A通过外部总线驱动器和数据总线相连,这就是缓冲方式缓冲方式。 在缓冲方式下,8259的输出信号SP/EN端和总线驱动器相连,输出低电平作为缓冲器的启动信号,用来启动总线驱动器,在8259A与CPU之间进行信息交换。n 非缓冲

27、方式非缓冲方式 当系统中只有一片或几片8259A芯片时,可以将8259A直接与系统数据总线相连,这时8259A处于非缓冲方式下。 在这种方式下,8259A的SP/EN作为输入端设置,主片应接高电平,从片应接低电平5、引入中断请求的方式、引入中断请求的方式n 边沿触发方式 中断请求输入端出现上升沿为有效中断请求信号n 电平触发方式 中断请求端出现高电平为有效的中断请求信号 中断响应后必须及时撤出高电平n 中断查询方式 中断源仍往8259A发中断请求,但8259A却不使用INT信号向CPU发中断请求信号。 CPU内部的中断允许标志复位,所以CPU对INT引脚上出现的中断请求呈禁止状态。 CPU 用

28、软件查询的方法来确定中断源,从而实现对设备的中断服务 中断查询方式既有中断的特点,又有查询的特点W10-18259A 的内部结构的内部结构有哪些部件组成?有哪些部件组成? 控制逻辑中断服务寄存器ISR优先权电路PR中断请求寄存器IRR中断屏蔽寄存器IMR读写控制逻辑级联缓冲比较器数据总线缓冲器D0D7WRCSENSPA0CAS0CAS1CAS2INTAINTIR0IR1IR7 复习 8259A的工作方式p 设置优先级的方式p 屏蔽中断源的方式p 结束中断处理的方式p 连接系统总线的方式n 确定中断类型码的方式CPU 响应中断并执行理中断服务响应中断并执行理中断服务程序后,中断服务寄存器程序后,

29、中断服务寄存器 ISR的的相应的位将置相应的位将置1;ISR的对应位复的对应位复位,则表示一次中断响应的结束位,则表示一次中断响应的结束如何使如何使ISR的对应位复位的对应位复位?1. 设置优先级的方式有几种?设置优先级的方式有几种?(1)普通全嵌套方式(固定优先级方式)普通全嵌套方式(固定优先级方式)默认方式,默认方式,IR0最高,最高,IR7最低最低(2)特殊全嵌套方式)特殊全嵌套方式 基本同普通全嵌套方式,基本同普通全嵌套方式,所不同的是允许同级中断嵌套(用于级联主片)所不同的是允许同级中断嵌套(用于级联主片)(3)自动循环方式)自动循环方式 初始优先级顺序初始优先级顺序IR0最高,最高

30、,IR7最低。最低。 当其中一个中断源受到服务,当其中一个中断源受到服务, 则它为最低优先权。则它为最低优先权。 同时置比它低一级中断源为最高级,同时置比它低一级中断源为最高级, 其它自动循环排列。其它自动循环排列。常用在系统中多个中断源优先级相等的场合常用在系统中多个中断源优先级相等的场合(4)指定循环方式)指定循环方式 当一中断源通过编程指定为当一中断源通过编程指定为最低最低优先权,优先权, 则比它则比它低一级中断源为最高级低一级中断源为最高级,其它顺序排列。,其它顺序排列。 如:指定如:指定IR3为最低,则优先级顺序为为最低,则优先级顺序为IR4, IR5,IR6,IR7,IR0,IR1

31、, IR2 , IR3 。2 系统总线的连接方式有几种?系统总线的连接方式有几种?n 缓冲方式缓冲方式 在多片8259A级联级联的大系统中,8259A通过外部总线驱动器和数据总线相连,这就是缓冲方式缓冲方式。 在缓冲方式下,8259的输出信号SP/EN端和总线驱动器相连,输出低电平作为缓冲器的启动信号,用来启动总线驱动器,在8259A与CPU之间进行信息交换。n 非缓冲方式非缓冲方式 当系统中只有一片或几片8259A芯片时,可以将8259A直接与系统数据总线相连,这时8259A处于非缓冲方式下。 在这种方式下,8259A的SP/EN作为输入端设置,主片应接高电平,从片应接低电平3、引入中断请求

32、的方式有几种?、引入中断请求的方式有几种?n 边沿触发方式 中断请求输入端出现上升沿为有效中断请求信号n 电平触发方式 中断请求端出现高电平为有效的中断请求信号 中断响应后必须及时撤出高电平n 中断查询方式 CPU 用软件查询的方法来确定中断源,从而实现对设备的中断服务 中断查询方式既有中断的特点,又有查询的特点屏蔽方式屏蔽方式正常屏蔽正常屏蔽特定屏蔽特定屏蔽请求方式请求方式电平触发电平触发边沿触发边沿触发中断请求中断请求IRRIR0IR7优先级编码器优先级编码器&INT1&中断屏蔽中断屏蔽IMRD0D7ISR编码编码比较器比较器最高优最高优先级先级IRINT嵌套方式嵌套方式完

33、全嵌套完全嵌套特殊全嵌套特殊全嵌套优先级管理优先级管理固定固定轮转轮转不指定不指定指定指定自动结束方式时总是后,请求自动结束方式时总是后,请求IR优先优先结束方式结束方式自动自动手工手工不指定不指定指定指定级联方式级联方式缓冲缓冲非缓冲非缓冲主、从片关系主、从片关系8259A8259A工作方式工作方式( (小结小结) ) 8259A的初始化命令字和初始化流程的初始化命令字和初始化流程n 8259A的初始化命令字 ICW 8259A在开始工作前必须写入初始化命令字,ICW1写入偶地址端口,其余写入奇地址端口。 初始化命令字ICW最多可以有4个:ICW1ICW4 必须按照以上顺序依次写入 其中 I

34、CW1 和 ICW2是必须的 ICW3和ICW4是否需要,由具体的工作方式决定ICW1芯片控制初始化命令字芯片控制初始化命令字1LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0) 1只能为只能为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发方式LTIM0,边沿触发方式,边沿触发方式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即,即ICW4规

35、定的位全为规定的位全为08086系统中总为0ICW1命令字设置举例命令字设置举例n 指令执行后,对指令执行后,对8259A设置了基本工作状态设置了基本工作状态 MOV AL,11H OUT 20H,AL 说出其具体意义及说出其具体意义及ICW1中各位含义?中各位含义?00010001ICW1标识上升沿触发级联方式写入ICW42. ICW2中断类型码基数初始化命令字中断类型码基数初始化命令字o ICW2是设置是设置中断号中断号的初始化命令,必须写到的初始化命令,必须写到8259A的的奇地址端口。奇地址端口。o 按照规定:IR0的低3位是000;高5位为该8259中8个中断源类型码中的共有数码;而

36、其他中断源的低3位的值与IRi的(二进制)编号相对应o 通过ICW2确定了IR0的中断类型码,同时也就自然地确定了其他7个IRi对应的中断类型码2. ICW2的格式和含义:的格式和含义:(D7D3),设置中断号的高,设置中断号的高5位;位;A0=1,写入奇地址,写入奇地址端口端口 取决于IR7IR02. ICW2中断类型码基数初始化命令字写入奇地写入奇地址端口址端口设置高设置高5位数值位数值低低3位取位取决于决于IR0-IR7ICW2中断类型码基数初始化命令字举例n 一片8259A上的8个中断源的8个中断类型码连续n 如:设置ICW240H,则8259A的IR0IR7,对应的8个中断类型码为:

37、40H,41H,42H,43H,44H,45H,46H,47Hn 请思考:如果某8259A上IR4的中断类型码是0BCH;则该8259A的IR0IR7 ,对应的8个中断类型码为? 0B8H到0BFH3. ICW3标志主片标志主片/从片初始化命令字从片初始化命令字o ICW3是在级联方式下,标志主/从片初始化才需要设置的初始化命令字。o 当ICWl的D1 位为0时,8259A在级联方式下工作,必须设置ICW3o 主片和从片需要分别设置ICW3分别写入主从片中分别写入主从片中的奇地址端口的奇地址端口3. ICW3标志主片标志主片/从片初始化命令字从片初始化命令字主片格式:主片格式: D7D0对应I

38、R7IR0的连接情况。若某引脚连有从片,则对应位为1从片格式:从片格式: D7D3为0,不用。 D2D0指出从片INT连在主片的哪个中断输入端ICW3主主/从片标志初始化命令字从片标志初始化命令字n 主8259A通过级连线CAS2CAS0,依次向各个从8259A芯片输送中断请求源中优先级最高的中断源所对应的标识符n 每个从8259A拿到这个标识符之后,与自己在初始化编程时,由ICW3设置的标识符进行比较n 当两者相符合时,则该从8259A芯片在第二个中断响应周期,向CPU提供由ICW2设置的8位中断类型码。 例:主片的 ICW300101011,表示IR5,IR3、IRl和IR0上连有从825

39、9A 思考:从片的 ICW300000100,则此从片的INT连至主片的哪个引脚上?3. ICW3标志主片标志主片/从片初始化命令字举例从片初始化命令字举例IR48259A的级联n为了提高中断源的接入能力,常将多片8259A级联使用;一个主片,多个从片nCAS0CAS2:级联方式下的主从片之间的联系信号;主片和所有从片的这3 条线互连如果8259A 为主片,则 3 个引脚均为输出线如果8259A为从片,则为输入线,主片以其“编码”作为标识码联系从片n当某从片8259A 提出中断请求并被响应时,主片将通过CAS0CAS2送出相应的标识码给从片,通知该从片刚送到主片上的中断请求已被响应CAS0 I

40、R0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259级联工作示意图级联工作示意图4. ICW4方式控制初始化命令字o 一个多功能的初始化命令字;仅当一个多功能的初始化命令字;仅当ICWl的的D0位为位为1,才需要设置,才需要设置ICW4o 设置的工作方式包括:设置的工作方式包括:n 数据传送方式数据传送方式-缓冲与非缓冲缓冲与非缓

41、冲及及缓冲方式下缓冲方式下的主片的主片/从片标志从片标志n 级联下的中断嵌套管理方式级联下的中断嵌套管理方式n 中断结束方式中断结束方式4. ICW4方式控制初始化命令字方式控制初始化命令字缓冲方式下,指示本片为主片还是从片缓冲方式标识非8位系统标识特殊全嵌套方式标识ICW4的标识码,总为0中断自动结束方式标识 初始化流程:lICW1ICW4设置次序固定lICW1和ICW2必须设置,级联方式下需要设置ICW3 ,非8位系统中需要设置ICW4l级联方式下,均需设置ICW3必须设置 8259A的初始化流程的初始化流程设置设置ICW1设置设置ICW2是否为级联方式是否为级联方式? ?是否主片是否主片

42、? ?Y设置主片设置主片ICW3Y需设需设ICW4? ?Y设置设置ICW4N设置从片设置从片ICW3NN是否级联是否级联请求信号格式请求信号格式是否用是否用ICW4设置中断类型号设置中断类型号是否为是否为16位系统位系统是否特殊全嵌套方式是否特殊全嵌套方式是否缓冲方式是否缓冲方式是否中断自动结束方式是否中断自动结束方式8259A的初始化流程图的初始化流程图写写ICW1,A0=0,D4=1写写ICW2,A0=1A0=1A0=1例:假设8259A端口地址为80H、81HMOV AL,13HOUT80H,ALMOV AL,18HOUT81H,ALMOV AL,0DHOUT81H,AL;设置ICW1,

43、D4标志位为1,D3指出中断请求信号采用边沿触发方式,D1系统只有一片8259A,D0需要设置ICW4;设置ICW2,指定中断号的高5位为00011B,低三位为0;设置ICW4,D4指出不用特殊全嵌套方式、D3使用缓冲方式、D0非8位系统、D1不用中断自动结束方式8259A的初始化举例的初始化举例自学教材自学教材P246并讲解并讲解8259A的操作命令字的操作命令字n 8259A工作期间,可以随时接受操作命令字工作期间,可以随时接受操作命令字OCWn OCW共有共有3个:个:OCW1OCW3n 写入时没有顺序要求,需要哪个写入时没有顺序要求,需要哪个OCW就写入那个就写入那个OCWn OCW1

44、必须写入必须写入奇地址奇地址端口,端口,OCW2、OCW3必须写入必须写入偶偶地址地址端口端口n ICW1必须写入必须写入偶地址偶地址,其余三个其余三个初始化命令字写到初始化命令字写到奇地奇地址。址。OCW1中断屏蔽操作命令字屏蔽命令字写入中断屏蔽寄存器IMR,各位互相独立各位互相独立Mi 对应IRi,为1将禁止IRi中断;为0则允许IRi中断例例:设OCW106H,则表示IR1,IR2 两 个引脚上的中断申请被屏蔽,其他的中断申请 (IR0,IR3IR7)则得到允许。8259A编程指令为:MOV AL,00000110B ;OCW1屏蔽字OUT 21H,AL ;屏蔽字写入奇地址口 ;的 OC

45、W1寄存器OCW2的格式和含义:的格式和含义:设置优先级循环方式和中设置优先级循环方式和中断结束方式断结束方式0优先级循环方式标识标识位中断自动结束方式用于中断结束指令和循环方式命令2. OCW2优先级管理方式命令字优先级管理方式命令字2. OCW2优先级管理方式命令字优先级管理方式命令字小结小结n R、SL、EOI三位的不同组合,可以组成7种不同的操作命令 n R用于表示优先级是否采用循环方式; 1-循环 0-非循环n SL是否需要使用L2、L1、L0来明确中断源; 1:L2L0有意义 0:L2L0不起作用n EOI用于指示OCW2是否作为中断结束命令。 当EOI为1时,当前中断服务寄存器中

46、的对应位ISn复位RSLEOI 功能功能000结束优先级循环方式100优先级自动循环方式010OCW2无意义110特殊优先级循环方式,8259A 按照 L0、L1、L2 的值确定一个级别最高的优先级,比如, 当 L2L1L0=011 时 ,R3为最高优先级, 系统优先级次序为 IR3、IR4、IR5、IR6、IR7、IR0、IR1、IR2 , 系统工作在优先级特殊循环方式。001一般中断结束方式101发中断结束命令,并仍用优先级循环方式,但当前的优先级次序左移一位011特殊中断结束命令111发中断结束命令,并用特殊优先级循环方式, 此时OCW2 使对应的ISn 位清除 , L2、L1、L0 所

47、指定的值为当前结束的IRn 。且L2、L1、L0所指定的中断源优先级变为最低 此时OCW2作为中断自动结束命令R、SL、EOI 组合成的7种控制命令 3. OCW3特殊屏蔽与查询方式命令字n管理特殊屏蔽方式SMM(如开启ESMM与解除);进而实现中断的特殊屏蔽n将8259A的工作状态设置为查询方式位P(P=1);进而读取IRR、ISR、IMR寄存器的当前状态数据nRR为读寄存器位 读取状态字读取状态字n CPU可随时读出IRR、ISR、IMR和查询字n A0为低(偶地址)时 由OCW3中RR和RIS位编码决定读取的是IRR或ISR RR=1,RIS=0 读 IRR RR=1,RIS=1 读 I

48、SR 由OCW3中P位决定读取的是查询字,查询字可反映8259A是否有中断请求,及哪个引脚上有中断请求n A0为高(奇地址)时,读取的是IMR查询字查询字IW2W1W0D7D6D5D4D3D2D1D0中断位中断位I位为位为1,有外设请求中断有外设请求中断W2W0的编码的编码当前中断请求的最当前中断请求的最高优先级高优先级 读取读取IRRIRR、ISRISR、查询字:、查询字: P RR RIS功能 应用 0 1 0读取IRR内容OUT 20H,0AHIN AL,21H 0 1 1读取ISR内容OUT 20H,0BHIN AL,21H 0 0 *不读取任何寄存器内容 1 * *读取查询字信息OU

49、T 20H,0CHIN AL,21H4. ICW和和 OCW的端口地址区分:的端口地址区分:u偶地址端口:ICW1、OCW2、OCW3D4=1,ICW1D4=0,OCW2、OCW3D3=0,ICW2D3=1,ICW3u奇地址端口:ICW2、 ICW3、 ICW4、 OCW1lICW2、 ICW3、 ICW4总是跟在ICW1的后面写入lOCW1不会紧跟在ICW1的后面l是否需要ICW3、 ICW4 ,由决定ICW1说明:初始化命令字由初始化程序一次性写入;操作命令字可由任何程序在任何时候多次写入5. 关于优先级设置和中断结束命令的小结归纳u关于优先级的设置方法l全嵌套方式:默认工作方式,IR0优

50、先级最高l特殊全嵌套方式:用ICW4设置,将D4位置1, IR0优先级最高l自动循环方式:用OCW2设置(80H),其中R=1,SL=0,EOI=0, IR0优先级最高l指定循环方式:用OCW2设置,其中R=1,SL=1,EOI=0, 最低优先级对应的IRn由L2、L1、L0给出u关于中断结束方式的设置方法l中断自动结束方式:用ICW4设置,将D1位置1l非指定的中断结束方式:用OCW2设置,其中R=0,SL=0,EOI=1,适应于全嵌套方式l指定的中断结束方式:用OCW2设置,其中R=0,SL=1,EOI=1,所指定的ISn由L2、L1、L0给出u优先级循环方式和中断结束方式一起设置的方法l

51、自动循环方式和非指定的中断结束方式:用OCW2设置,其中R=1,SL=0,EOI=1l指定循环方式和指定中断结束方式:用OCW2设置,其中R=1,SL=1,EOI=1,所指定的ISn由L2、L1、L0给出,见216页ICW14及OCW13完成功能小结ICW14设置必须按次序设置必须按次序ICW1 (A0=0) : ICW1主要用于设置工作方式,完成功能:规定了单片主要用于设置工作方式,完成功能:规定了单片多片、触发方式及是否使用多片、触发方式及是否使用ICW4;ICW2 (A0=1)设置中断类型码;)设置中断类型码;ICW3 (A0=1)级联方式时用于设置主从片;)级联方式时用于设置主从片;I

52、CW4 (A0=1) 设置设置8259A的工作方式,总线连接、结束方式及嵌套。的工作方式,总线连接、结束方式及嵌套。OCW1:A0=1; OCW2,OCW3 A0=0,设置次序没有规定先后。,设置次序没有规定先后。OCW1 用于设置中断屏蔽操作命令字;用于设置中断屏蔽操作命令字;OCW2用于设置优先级循环方式和中断结束方式(用于设置优先级循环方式和中断结束方式(D4D3=00) ;OCW3的功能有三个方面:设置和撤消特殊屏蔽方式、设置中断查询方式的功能有三个方面:设置和撤消特殊屏蔽方式、设置中断查询方式以及设置对以及设置对8259A内部寄存器的读出(内部寄存器的读出(D4D3=01) 。n7.

53、5 8259A使用举例使用举例(自学自学P250)1. 中断全嵌套方式的例子 :u初始化后,若不写入OCW,则处于全嵌套工作方式,此时只响应更高级别的中断请求u工作条件:u由于每响应一个中断,会自动关闭中断,即IF=0,因此需要在中断处理程序中再次打开中断,才会出现中断嵌套u中断处理程序结束时,应执行中断结束命令(见 ),以清除对应的ISn位不响应中断,等待立即响应关于如何使用中断结束命令的例子关于如何使用中断结束命令的例子 0100000001 0011 00系统全嵌套方式工作的条件条件系统全嵌套方式工作的条件条件n 主程序必须执行开中断指令 , 使IF为1, 才有可能响应中断。n 每当进入一个中断处理程序时 , 系统会自动关中断 , 所以 , 只有中断处理程序中再次开中断 , 才有可能被较高级的中断所嵌套。n 每个中断处理程序结束时 , 必须执行中断结束命令 , 清除对应的ISn位 , 才能返回断点 CLIMOVAL,68HOUT80H,ALIN AL,81HORAL,10HOUT81H,ALSTICLI3. 关于特殊屏蔽方式的例子 (自学);为了下面设置命令,先关中断;用OCW3设置特殊屏蔽方式;读取系统原

温馨提示

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

评论

0/150

提交评论