微机原理讲义(第7章中断控制器的编程结构工作方式等)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章中断控制器的编程结构、工作方式及编程湖南中医药大学王志辉主要内容8259A的外部信号、编程结构和工作原理8259A的初始化命令字和初始化流程8259A的操作命令字8259A的工作方式多片8259A构成的主从式中断系统本章重点:8259A的编程结构8259A的工作方式以及工作方式的分类依据8259A的初始化命令字及其含义8259A的初始化方法8259A的操作命令字和设置方法多片8259A构成的主从式中断系统中断的基本概念什么是中断?在CPU执行程序的过程中,由于某种突发事件的发生,强迫CPU暂时停止正在执行的程序,转向对该突发事件进行处理,对这个事件处理结束后又能回到原中止的程序,接着中止前的状态继续执行原来的程序,这一个过程就称为中断。把引起中断的原因或触发中断请求的来源称为中断源。中断请求信号的产生中断功能接口电路,用来产生中断请求信号。中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬件开销。以输入方式为例,接口电路如图所示。8086/8088的中断系统非屏蔽中断源中断逻辑INTO指令单步中断除法错误INTN指令CPUINTRNMI可屏蔽中断源8259A中断控制器IR0IR1IR2IR3IR4IR5IR6IR7外设中断源INTA中断需要解决的问题中断源的识别系统有多个中断请求,CPU如何识别哪个中断源发出的请求?办法1:向量中断(硬件)办法2:中断查询(软/硬件结合)中断优先级——有多个中断同时请求,CPU如何应对?办法1:软件查询方式办法2:简单硬件方式——菊花链法办法3:专用硬件方式中断嵌套中断处理过程中,又有中断提出请求,怎么办?办法1:链式优先权排队电路办法2:优先权编码电路中断控制器的功能在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU响应中断并进入中断处理程序后,中断控制器仍然负责对外部中断请求的管理当某个外部中断请求的优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套反之,对级别低的中断则禁止。1中断控制8259A8259A的工作特点具有8级中断优先控制,通过级连可以扩展至64级优先权控制每一级中断都可以通过初始设置为允许或屏蔽状态8259A的工作方式可以通过编程设置,使用灵活8259A采用NMOS(Negativechannel-Metal-Oxide-Semiconductor,N型金属氧化物半导体)制造工艺,只需要单一的+5V电源8259A的内部结构与外部引脚信号控制逻辑中断服务寄存器ISR优先权电路PR中断请求寄存器IRR中断屏蔽寄存器IMR读写控制逻辑级联缓冲比较器数据总线缓冲器D0~D7RDWRCSA0CAS0CAS1CAS2ENSPINTAINTIR0IR1IR7…8259A内部逻辑框图8259A外部引脚信号8259A的引脚双列直插式芯片,28个引脚方波键盘保留串口2硬盘软盘打印机IOW18.2HzA0CS8259A总线A0数据线IORRDWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5~A9D0~D7D0~D7VccSP/ENCA0CA1CA2GND+5V20~3FH用于多片8259A级连情况INTAINTINTAINTR串口1定时器8259A的外部引脚信号D7-D0:双向数据输入/输出引脚用以与CPU进行信息交换IR7-IR0:8级中断请求信号输入引脚规定的优先级为IR0>IR1>…>IR7当有多片8259A形成级联时,从片的INT与主片的IRi相连。INT:中断请求信号输出引脚,高电平有效用以向CPU发中断请求,接在CPU的INTR输入端。8259A的外部引脚信号INTA:中断响应应答信号输入引脚,低电平有效,接CPU的中断应答信号输出端在CPU发出第二个时,8259A将其中最高级别的中断请求的中断类型码送出。RD:读控制信号输入引脚,低电平有效实现对8259A内部有关寄存器内容的读操作。8259A的外部引脚信号WR写控制信号输入引脚,低电平有效实现对8259A内部有关寄存器的写操作。CS:片选信号输入引脚,低电平有效一般由系统地址总线的高位,经译码后形成决定了8259A的端口地址范围。8259A的外部引脚信号A0:8259A两组内部寄存器的选择信号输入引脚决定8259A的端口地址。A0=0ICW1、OCW2、OCW3;A0=1ICW2~ICW4、OCW18259A的外部引脚信号CAS2~CAS0:级连信号引脚当8259A为主片时,为输出;否则为输入与-SP/-EN信号配合,实现芯片的级连这三个引脚信号的不同组合000~111,刚好对应于8个从片。SP/EN:-SP为级连管理信号输入引脚在非缓冲方式下,若8259A在系统中作从片使用,则-SP=1;否则-SP=0;在缓冲方式下,用作8259A外部数据总线缓冲器的启动信号。+5V、GND:电源和接地引脚W9-2178251A初始化的约定:①复位后,第一次给奇地址端口写入的值作为方式字送入方式寄存器②如规定为同步模式,那么,接下来往奇地址端口写入的是同步字符。如果是双同步,则先后两次写入同步字符。③接下来,只要不是复位命令,CPU给奇地址写入的是控制字,给偶地址端口写入的是要发送的数据。8251A使用前必须进行初始化,以确定工作方式、传送速率、字符格式以及停止位长度等;改变8251A的工作方式时必须再次进行初始化编程;简述8251A的初始化流程?描述8255A的内部结构及各个部件功能?(1)端口A是一个独立的8位数据I/O口,它的内部有对数据输入/输出的锁存功能。(2)端口B是一个独立的8位数据I/O口,对输入的数据不锁存,仅对输出的数据锁存。(3)端口C可以看作是一个独立的8位I/O口;还可以用作A口和B口的控制信号。对输出数据进行锁存,对输入数据不锁存。2.A组控制和B组控制两个功能:即一是接收芯片内部总线上的控制字;二是接收来自读/写控制逻辑电路的读/写命令。3.读/写控制逻辑电路负责管理8255A的数据传输过程。它接收CS及来自地址总线的信号A1、A0和控制总线的信号RESET、RD、WR的信号,再由它们完成对数据、状态和控制信息的传输。描述8255A的A/B组控制部件以及读写控制逻辑电路功能?4.数据总线缓冲器是一个双向三态的8位数据缓冲器。8255A正是通过数据总线缓冲器与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。方式0的特点和使用场合?方式0:也叫基本输入输出方式。特点:(1)三个端口都可作为独立的输入或输出口,各端口间没有必然的关系。(2)这种方式下,输出可锁存数据,输入是不锁存的。使用场合:同步传输:发送方和接收方由同一时序信号来管理,CPU不需要查询外设的状态,对接口要求很简单,只要能传送数据就行,此时8255A的三个数据端口可以实现三路数据传送。查询式传输:因为没有应答信号,一般将A、B口常作为数据口,把C口的两部分用来输出一些控制信号和接收一些状态信号,这样端口C用来配合端口A和B工作。方式1的特点和使用场合是什么?方式1:又称为选通的输入/输出方式。特点:(1)端口A和端口B可以分别作为输入端口或输出端口。(2)如果端口A和端口B只有一个工作于方式1,端口C中就有3位被规定为配合方式1工作的信号,这时,另一个端口和端口C的其它位可工作于方式0。(3)如果端口A和B都工作在方式1,那么端口C则有6位分别作为A口和B口的应答联络信号,并且其排列是固定的,剩余的2位可工作于方式0。使用场合:适用于采用中断方式进行输入输出的场合,外设能为8255A提供选择信号或数据接收应答信号方式2:也叫双向传输方式,具有如下特点:(1)只适用于端口A,相当于双向的方式1传输。(2)端口C用5条线作为A口的联络信号,并且排列是固定的。使用场合:并行外部设备既可以作为输入设备,又可作为输出设备,并且输入输出动作不会同时进行的场合。方式2的特点和使用场合是什么?8259A的编程结构和工作原理(先看书P237页!)中断控制中断请求寄存器IRR保存8条外界中断请求信号IR0~IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断服务寄存器ISR保存正在被8259A服务着的中断状态Di位为1表示IRi中断正在服务中;为0表示没有被服务中断屏蔽寄存器IMR保存对中断请求信号IR的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许读写控制逻辑A0RDWRCS功能0100110000101010×110×××1写入ICW1、OCW2和OCW3写入ICW2~ICW4和OCW1读出IRR、ISR和查询字读出IMR数据总线高阻状态数据总线高阻状态A0=0:ICW1、OCW2、OCW3;A0=1:ICW2~ICW4、OCW18259A的工作过程外部中断请求IRR接收,对应位置1,锁存。IMR对应位=0IMR对应位=1,屏蔽。PR裁决与ISR中对应位比较优先级高优先级低INT=1IF=0IF=1CPU往INTA发两个负脉冲第一个负脉冲第二个负脉冲1)IRR锁存失效,不接收中断请求信号;2)ISR对应位置1;3)IRR相应位清0。1)8259A发中断类型码;2)中断自动结束方式下,ISR对应位清0。8259A的工作过程8259A的编程结构和工作原理ISRPRIRR中断处理部件比较IRR失效相应位置1相应位清0********1相应位清008.28259A的工作方式设置优先级的方式屏蔽中断源的方式结束中断处理的方式连接系统总线的方式确定中断类型码的方式8259A可以通过各个IRi引脚连接8个不同的中断源;每个中断源都需要指定有一个中断类型码如何确定?CPU响应中断并执行理中断服务程序后,中断服务寄存器ISR的相应的位将置1;ISR的对应位复位,则表示一次中断响应的结束如何使ISR的对应位复位?CPU将在多个中断请求中,响应优先级最高的中断如何确定中断的优先级?并不是所有的中断都可以向CPU发送请求信号的;8259A能够屏蔽那些不允许发送的中断请求如何屏蔽?8259A与数据总线之间可以直接连接,也可以通过数据缓冲器连接如何实现不同的连接方式?1.设置优先级的方式(1)普通全嵌套方式(固定优先级方式)默认方式,IR0最高,IR7最低(2)特殊全嵌套方式基本同普通全嵌套方式,所不同的是允许同级中断嵌套(用于级联主片)(3)自动循环方式初始优先级顺序IR0最高,IR7最低。当其中一个中断源受到服务,则它为最低优先权。同时置比它低一级中断源为最高级,其它自动循环排列。常用在系统中多个中断源优先级相等的场合(4)指定循环方式当一中断源通过编程指定为最低优先权,则比它低一级中断源为最高级,其它顺序排列。如:指定IR3为最低,则优先级顺序为IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3。2、屏蔽中断源方式普通屏蔽方式通过OCW1设置将IMR的Di位置1,对应的中断IRi将被屏蔽,该中断请求将不能从8259A送到CPU如果将IMR的Di位置0,则允许对应的中断产生特殊屏蔽方式——允许发生低级的中断嵌套。通过OCW1设置将IMR的Di位置1,中断IRi被屏蔽(屏蔽同级中断);同时,ISR的Di位将置0,允许发生低级的中断。在中断处理程序中使用3、结束中断处理的方式中断自动结束方式仅适用于只有单片8259A且多个中断不会嵌套的场合,系统一旦响应中断,CPU在发第二个INTA脉冲时,就会使中断响应寄存器ISR中相应位复位,虽然系统在进行中断处理,但对于8259A来讲,ISR没有相应的指示,就象中断处理结束,返回主程序之后一样;CPU可以再次响应任何级别的中断请求。非指定的中断结束方式通过OCW2设置,中断结束时用户用指令

1 / 86
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功