贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt

上传人:本田雅阁 文档编号:3503455 上传时间:2019-09-04 格式:PPT 页数:83 大小:4.07MB
返回 下载 相关 举报
贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt_第1页
第1页 / 共83页
贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt_第2页
第2页 / 共83页
贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt_第3页
第3页 / 共83页
贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt_第4页
第4页 / 共83页
贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt》由会员分享,可在线阅读,更多相关《贵州大学微机原理PPT及复习PPT7典型可编程接口芯片及应用.ppt(83页珍藏版)》请在三一文库上搜索。

1、热能与动力工程,第7章 典型可编程接口芯片及应用,热能与动力工程,7.1 中断系统及可编程中断控制器8259,中断是微机系统中非常重要的一种技术,是对微处理器功能的有效扩展。利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部随机出现的意外或是紧急事件。利用内部中断,微处理器为用户提供了发现、调试并解决程序执行异常情况的有效途径。因此,中断是用以提高计算机工作效率的一种重要技术。如何建立准确的中断概念和灵活掌握中断技术是学好本门课程的关键问题之一。,热能与动力工程,一、什么是中断?,7.1.1 中断的基本概念,热能与动力工程,中断是由一不可知的事件引起的,CPU响应中断后

2、,将暂时停止正在运行的程序流程,而转去执行预定的处理,当这些不可预知的事件的程序,执行完毕,再返回被中断的程序的一个过程。因此,所谓中断,是指CPU在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引起CPU暂时中断当前程序的运行而转去执行为内部/外部事件或预先安排的事件服务的子程序,待中断服务子程序执行完毕后,CPU再返回到暂停处(断点)继续执行原来的程序,这一过程称为中断。或者说,中断就是CPU在执行当前程序的过程中因意外事件插入了另一段程序的运行。利用中断可以大大提高CPU的工作效率。实现中断功能的控制逻辑称为中断机构或中断系统。,热能与动力工程,CPU执行流程,热能与动力工

3、程,中断的用途,CPU的中断功能的实现带来了以下好处:,1、同步处理,2、实现了实时处理,3、多道程序或多重任务的运行,4、突发事件处理,热能与动力工程,有关中断的基本概念(续),二、中断源 能够引起中断的原因,或能够发出中断请求信号的外设。,可屏蔽中断 (INTR) 不可屏蔽中断 (NMI),外部中断 (硬中断) 内部中断 (软中断),(因执行指令而引起),热能与动力工程,、 、 、 、 、 MOV AH, 01 INT 21H CMP AL, 0DH 、 、 、 、 、 PUSH AX 、 、 IRET,软件中断,热能与动力工程,断点: 通常指被中断的主程序中,下一条待运行的指令的地址。它

4、是中断返回时的指令指针之值。由于是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。 现场: 指中断发生前程序的运行状态,即标志寄存器(程序状态字)。为了保证中断返回后能继续正确地执行原来的程序,中断系统必须能在中断发生时自动保存现场,并在中断返回时自动恢复现场。(是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。),三、中断的断点和现场,热能与动力工程,、 、 、 、 、 MOV AX, 0 ADD AX, DX MOV DI , AX 、 、 、 、 、 PUSH AX 、 、 IRET,地址1000:150H为断点,断点概念,热能与动力工程,系

5、统中的多个中断源可能同时提出中断请求,此时需要按中断事件的轻重缓急为每个中断源指定一个处理的优先级别,即中断优先级。 当多个中断源同时提出中断请求时,中断系统按照优先级对中断源进行排队,总是优先处理优先权高的中断。,四、中断优先级,热能与动力工程,当前CPU正在进行某一优先权级别的中断源的处理; 有更高级别的中断源发出请求,且新中断源满足响应条件; CPU中止当前的中断服务程序,保护断点和现场,转而响应高级中断 这种多级中断的处理方式即为“嵌套”。某些中断系统对中断嵌套的层数有一定限制。,五、中断嵌套,热能与动力工程,高级中断源能中断低级的中断处理 当CPU正在处理某个中断时,如果外部又有一个

6、优先级别比本优先级别更高的中断请求,则可以实现中断嵌套。,中断嵌套 当CPU正在进行某一级别中断源的中断处理时,若有更高级别的新中断源发出请求,且新中断源满足响应条件,则CPU应中止当前的中断服务程序,保护此程序的断点和现场,转而响应高级中断。这种多级(重)中断的处理方式称为“嵌套”。,热能与动力工程,中断嵌套示意图,热能与动力工程,中断嵌套必须具备的几个条件,1)第一级中断(已处于响应状态的原中断)的服务程序中,应在保护现场执行完毕后加上开放总中断(IF位置1)的指令; 2)新到来的中断应具有比原中断高的优先级,同级或低级均不能嵌套; 3)为保护各级中断服务程序的数据不被破坏,所有服务程序中

7、均应有保护现场、恢复现场的指令; 4)每个中断服务程序末尾必须有IRET指令以示结束,从而返回被中断的程序地址处,热能与动力工程,某些情况下CPU可能不对已发出的中断请求作出响应或处理,称为该中断请求被“屏蔽” 。 中断屏蔽可能在两种情况下发生: 中断系统设置了中断屏蔽标志(或中断允许标志),以屏蔽某些中断源的请求; 当系统在处理优先级别较高的中断请求时,不会理睬新来的级别较低的中断请求中断系统自动屏蔽优先级低的中断。,六、中断屏蔽,热能与动力工程,子程序的执行由程序员安排(由调用子程序的指令转入),断点是确知的;而中断服务程序的执行一般由随机的中断事件引发,断点不确定。 子程序的执行受到主程

8、序或上层子程序的控制;而中断服务子程序一般与被中断的现行程序无关。 不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同的中断源则可能同时提出服务请求。,七、中断服务程序与子程序的区别,热能与动力工程,八、中断系统的功能,实现中断及返回 中断源发出中断请求,CPU决定是否响应:若响应,则保护断点和现场,转入相应中断服务程序,中断服务结束后,恢复现场和断点,继续执行原程序。,热能与动力工程,非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随机的。,中断源产生中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。,热能与动

9、力工程,实现优先权排队 按各中断请求的重要程度排列CPU响应的次序称为中断优先级。 即同时有多个中断请求到来时,CPU会首先响应和处理优先级别最高的中断请求。 中断优先级的实现可以用软件或硬件的办法。,中断系统的功能(续),热能与动力工程,软件查询法判优流程,热能与动力工程,硬件实现的中断优先权排队电路,1 2 3 4 5 6 7 8,热能与动力工程,8086的中断处理过程,自动保存 现场、断点,热能与动力工程,CPU响应外中断的条件,1具备中断请求触发器 2具备中断屏蔽触发器 3开放总中断 4在现行指令结束后响应中断,热能与动力工程,7.1.2 8086的中断系统,一、中断源,热能与动力工程

10、,二、中断类型码、中断向量表和中断向量,中断类型码:8086可以处理256个中断请求,每个中断请求均对应于惟一固定的类型码。被0除类型码是0,单步为1;NMI为2;断点中断为3,溢出中断为4 等。 中断向量:即中断服务程序的入口地址,包括段地址(高字单元)和偏移地址(低字单元)。 中断向量表:存放中断向量的表,位于内存空间的最低地址单元,长1KB。共可容纳256个中断向量(25641024)。,热能与动力工程,中断类型码,1、中断类型码:8086可以处理256个中断请求。每个中断请求均对应于唯一固定的类型码。被0除类型码是0,单步为1; NMI为2;断点中断为3,溢出中断为4;等。,热能与动力

11、工程,IBM PC/XT中断源的功能,INTR,BIOS 可调用,DOS 可调用,热能与动力工程,内部中断的种类,(1)除法出错中断 类型号为00H,除法出错中断既不是外部硬件产生,也不是用软件指令产生,而是CPU自身产生的,因此0型中断没有对应的中断指令,即指令系统中没有INT 0这条指令。,(2)单步中断(陷阱中断) 类型号为01H,对单步中断要注意三点:一是所有类型的中断在其处理过程中,CPU会自动地把标志寄存器FLAGS压入堆栈,然后清除TF和IF。因此当CPU进入单步中断处理程序时,就不再处于单步工作方式,而以正常方式工作。只有在单步处理结束时,从堆栈中弹出原来的标志,才能使CPU又

12、回到单步方式。二是通常程序编制好后,在DEBUG调试程序时可使用单步中断检查程序,是通过跟踪命令T来实现单步运行。三是8086/8088指令系统中没有设置或清除TF标志的指令,但指令系统中的PUSHF和POPF为程序员提供了置位或复位TF的手段。置位和复位TF的程序段如下所示:,热能与动力工程,;置位TF标志 PUSHF POP AX OR AX, 0100H PUSH AX POPF,;复位TF标志 PUSHF POP AX AND AX, 0FEFFH PUSH AX POPF,(3) 断点中断 类型号为03H,设置断点实际上是把一条断点指令INT 3插入程序中,CPU每执行到断点处的IN

13、T 3指令便产生一个中断。,(4)溢出中断 类型号为04H,在执行溢出中断指令INTO时,若标志寄存器FLAGS中的溢出标志OF=1,则产生一个类型号为4的内部中断,称为溢出中断。,热能与动力工程,对带符号数来说,溢出就意味着出错(加、减运算),一旦产生应立即发现,而CPU并不知道当前处理的数据是无符号数还是带符号数,只有程序员才明确这一点。因此通常在带符号数的加、减法运算后面总是跟着INTO指令,当标志寄存器的OF=0时,则INTO指令不产生中断,CPU继续运行原程序;当OF=1时,进入溢出中断处理程序,打印出一个出错信息,在处理程序结束时,不返回原程序继续运行,而是把控制交给操作系统。,如

14、下面的指令用来测试加法的溢出: ADD AX ,VALU INTO,(5) 指令中断,在8086/8088的指令系统中,当CPU执行中断指令INT n时,也能形成内部中断,其中n在理论上可取值0255。当n0、1、3、4时,就是上述的四种内部中断。,热能与动力工程,内部中断的特点,(1) 除单步中断以外,所有内部中断都不能被屏蔽。 (2) 所有内部中断不从外部接口中读取中断类型号也不发送中断响应信号,即不执行中断响应的总线周期。 (3) 指令中断没有随机性,外中断是随机性的。指令中断是由程序中指令引起的,指令位置事先已知。外中断是随机性的,由I/O设备引起,何时引起事先未知。 (4) 除单步中

15、断外,所有内部中断的优先权都比外部中断的优先权高。,热能与动力工程,中断向量和中断向量表,2 中断向量:中断服务程序的入口地址,包括段地址(存放于高字单元)和偏移地址(存放于低字单元)。 3 中断向量表:存放中断向量的表格。位于内存空间的最低地址,长度1KB,可容纳256类中断向量(25641024)。,热能与动力工程,中断向量和中断向量表,热能与动力工程,已知中断类型码后,如何进入中断服务程序? 1、将中断类型码乘以4,得到中断向量表的向量首址指针; 2、将断点(当前CS、IP的值)入栈保护; 3、取中断向量:把向量表指针所指的4个连续字节的内容作为中断服务程序的入口地址,分别送给IP和CS

16、; 4、按新的CS:IP指针执行中断服务程序。,中断类型码的获取 NMI、断点中断、溢出中断、被0除、单步中断等类型码固定。 INT N软中断类型码由立即数N给出。 外部中断读取中断类型码。,中断响应过程,热能与动力工程,(FLAG),0150,1000,中断响应过程,热能与动力工程,中断向量的设置方法,用三种方法来为中断类型N设置中断向量,1) 直接装入法 PUSH DS XOR AX, AX MOV DS, AX MOV BX, N*4 MOV AX, OFFSET NEWINT MOV WORD PTR BX, AX MOV AX, SEG NEWINT MOV WORD PTR BX+

17、2,AX POP DS,NEWINT PROC,IRET NEWINT ENDP,、 、 、,、 、 、,热能与动力工程,中断向量的设置方法,2) 使用串送存指令装入法 MOV AX, 0 MOV ES, AX MOV DI, N*4 MOV AX, OFFSET NEWINT CLD STOSW MOV AX, SEG NEWINT STOSW,热能与动力工程,中断向量的设置方法,3) 使用DOS功能调用设置中断向量 设置中断向量是把由AL指定的中断类型N的中断向量DS:DX放置在中断向量表中。 预置:(AH)=25H 功能号 ( AL)=N 中断类型号 DS:DX=中断向量 执行:INT

18、21H,例如: PUSH DS MOV AX, SEG NEWINT MOV DS, AX MOV DX, OFFSET NEWINT MOV AL, N MOV AH, 25H INT 21H POP DS,热能与动力工程,中断向量的设置方法,例:利用 INT 21H 设置中断向量 MOV AH,25H ; DOS功能调用号25H AH MOV AL,40H ; 将设置的中断类型码 AL MOV DS,SEG USERINT MOV DX,OFFSET USERINT ; 入口参数:中断服务程序的入口地址 DS:DX INT 21H 执行之后,中断服务程序的入口地址值将放入中断向量表中n4处

19、连续的4个单元中。,热能与动力工程,7.1.3 中断响应与处理,8086的保留中断和其它软件中断由指令给出中断类型,所以不执行中断响应周期; 非屏蔽中断NMI的类型码固定,也不执行中断响应周期;,可屏蔽中断INTR:CPU将执行持续两个总线周期的中断响应周期。第一个总线周期 有效,向外设送出的中断应答信号;第二个总线周期 再次有效,表示外设应送出中断类型码。CPU将在T4周期前沿读取中断类型码。,热能与动力工程,中断响应周期时序,CPU从引脚INTA 发中断响应信号, 接口芯片接收此信号,把中断类型号准备好;同时ISRi=1,IRRi=0。 CPU再从引脚INTA 发中断响应信号, 接口芯片接

20、此信号后,将中断类型号送至数据总线上; CPU从数据总线获取中断类型号。,热能与动力工程,中断处理的全过程:检测响应服务,热能与动力工程,中断服务程序(用户自行编制): 保护现场:保存CPU内部各寄存器的内容,以便在服务程序中使用; 开总中断:将IF置1,使CPU在中断服务期间仍能响应更高级的INTR请求; 具体处理:用户的中断服务 关总中断:将IF位清0; 恢复现场:将入栈保护的各寄存器内容依次弹出; 中断返回:执行IRET指令,CPU将自动弹出给IP、CS、FLAGS,就可以接着执行被中断的原程序; 开总中断:再次将IF位置1,使返回后能够重新响应,热能与动力工程,外部中断源的管理,多个外

21、部硬件中断源共用一条INTR线时,要在程序中采取一定措施或用外部硬件解决中断源的优先权排列和多级中断的嵌套等。 中断优先权(优先级):中断优先权就是为每个中断源所确定的响应级别。 软件排序:CPU响应中断后,在程序中用查询的方法判定外设的中断请求。,热能与动力工程,外部中断源的管理,软件查询排序的特点是:查询次序即优先权排序,最先被询问的故障具有最高优先级;节省硬件;修改方便,只要改变程序中的查询次序即可;由询问转至真正的服务程序入口时间长,在中断源较多的情况下执行速度较慢。 硬件排序:采用优先权的编码电路,对各种外部硬中断进行排队。还有菊花链式硬件排序电路,以及中断控制集成芯片8259A,热

22、能与动力工程,软件法排序的接口电路示意图,热能与动力工程,软件查询程序流程图,热能与动力工程,硬件优先权排序电路,热能与动力工程,7.1.4 非屏蔽中断NMI,IBM PC/XT的NMI来源于三方面: 存储器奇偶校验错误PCK I/O通道奇偶校验错误IOCHCK 协处理器产生异常N.P.NPI 三种信号通过NMI屏蔽触发器,向CPU的NMI引脚送出; 系统上电之初,RESET信号先将NMI屏蔽触发器清0。等系统自检完成之后,再写入控制字解除对NMI的屏蔽。,热能与动力工程,7.1.5 可编程中断控制器8259,一、8259性能概述 1. 具有8级中断优先控制,通过级连可以扩展至64级优先权控制

23、; 2. 每一级中断都可以通过初始设置为允许或屏蔽状态; 3. 8259的工作方式,可以通过编程进行设置,因此,使用非常灵活; 4. 8259采用NMOS制造工艺,只需要单一的+5V电源。,热能与动力工程,二、8259A的内部结构和工作原理,热能与动力工程,8259A的内部结构和工作原理 数据总线缓冲器:它是8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过该缓冲器传送的。 读/写控制逻辑:CPU通过它实现对8259A的读/写操作。 级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。 控制

24、逻辑电路:对整个芯片内部各部件的工作进行协调和控制。 中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当相应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。 中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位置”0”时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。 中断服务寄存器ISR: 8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。 优先级比较器PR:用以比较正在处理的中断和刚刚进入的中断请求之

25、间的优先级别,以决定是否产生多重中断或中断嵌套。,热能与动力工程,8259A的外部引脚,热能与动力工程,8259A的外部引脚 D7-D0:双向数据输入/输出引脚,用以与CPU进行信息交换。 IR7-IR0:8级中断请求信号输入引脚。 INT:中断请求信号输出引脚,高电平有效,用以向CPU发中断请求,应接在CPU的INTR输入端。 INTA:中断响应应答信号输入引脚,低电平有效,接在CPU的中断应答信号输出端。 RD、WR:读/写控制信号输入引脚,低电平有效,实现对8259A内部有关寄存器内容的读操作。 CS:片选信号输入引脚,低电平有效,决定了8259A的端口地址范围。 A0:8259A两组内

26、部寄存器的选择信号输入引脚,决定8259A的端口地址。 CAS2-CAS0:级连信号引脚,当8259A为主片时,为输出;否则为输入,与信号配合,实现芯片的级连,这三个引脚信号的不同组合000111,刚好对应于8个从片。 SP/EN:为级连管理信号输入引脚,在非缓冲方式下,若8259A在系统中作从片使用,则SP=1;否则SP=0;在缓冲方式下,用作8259A外部数据总线缓冲器的启动信号。 +5V、GND:电源和接地引脚。,热能与动力工程,三、8259A的工作过程 当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存器的IRR的相应位置位。 若CPU处于开中断状态,则在当前指令执

27、行完之后,响应中断,并且发应答信号(两个连续的INTA#负脉冲)。 第一个INTA#负脉冲到达时,IRR的锁存功能失效,对于IR7-IR0上发来的中断请求信号不予理睬。 使中断服务寄存器ISR的相应位置1,以便为中断优先级比较器的工作做好准备。 使中断请求寄存器的相应位复位,即清除中断请求。 第二个INTA#负脉冲到达时,将中断类型寄存器中的内容ICW2,送到数据总线的D7-D0上,CPU以此作为相应中断的类型码。 若ICW4中的中断结束位为1,那么,第二个INTA#负脉冲结束时,8259A将ISR寄存器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字EOI,使该位复位。,

28、热能与动力工程,四、8259A的工作方式 优先权的管理方式 中断源的屏蔽方式 结束中断处理的方式 系统总线的连接方式 引入中断的请求方式,热能与动力工程,一) 优先权的管理方式 1. 全嵌套方式 这是8259A默认的优先权设置方式,在全嵌套方式下,8259A所管理的8级中断优先权是固定不变的,其中IR0的中断优先级最高,IR7的中断优先级最低。 CPU响应中断后,请求中断的中断源中,优先级最高的中断源,在中断服务寄存器ISR中的相应位置位,而且把它的中断矢量送至系统数据总线,在此中断源的中断服务完成之前,与它同级或优先级低的中断源的中断请求被屏蔽,只有优先级比它高的中断源的中断请求才是运算的,

29、从而出现中断嵌套。 2. 特殊全嵌套方式 特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当CPU处理某一级中断时,如果有同级中断请求,那么CPU也会作出响应,从而形成了对同一级中断的特殊嵌套。 特殊全嵌套方式通常应用在有8259A级连的系统中,在这种情况下,对主8259A编程时,通常使它工作在特殊全嵌套方式下。这样,一方面,CPU对于优先级别较高的主片的中断输入是允许的,另一方面,CPU对于来自同一从片的优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是允许、能够响应的。,热能与动力工程,3. 优先级自动循环方式 在实际应用中,中断源优先级的情况是比较复杂的,要求8级中断的优先级在系

30、统工作过程中,可以动态改变。即一个中断源的中断请求被响应之后,其优先级自动降为最低。系统启动时,8级中断优先级默认为IR0IR7,这时,刚好IR4发出了中断请求,CPU响应之后,若8259A工作在优先级自动循环方式下,则中断优先级自动变为IR5、IR6、IR7、IR0、 IR1、 IR2、 IR3、 IR4。 优先级特殊循环方式 优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优先级是由程序控制的,而不是默认的IR0IR7。,热能与动力工程,二) 中断源的屏蔽方式 1. 普通屏蔽方式 8259A的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。若相应位为“1”,则中断请求不能

31、送CPU。屏蔽是通过对屏蔽寄存器IMR的编程(操作命令字OCW1),来加以设置和改变的。 2. 特殊屏蔽方式 有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中的中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式。 设置了特殊屏蔽方式后,用OCW1对屏蔽寄存器中的某一位复位时,同时也会使中断服务寄存器ISR中的相应位复位,这样就不只屏蔽了正在处理的等级中断,而且真正开放了其它优先级别较低的中断请求。 特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,尽管系统正在处理高级中断,但对外界来讲,只有同级中断被

32、屏蔽,而允许其它任何级别的中断请求。,热能与动力工程,三) 结束中断的处理方式 1. 中断自动结束方式 这种方式仅适用于只有单片8259A的场合,在这种方式下,系统一旦响应中断,那么CPU在发第二个INTA#脉冲时,就会使中断响应寄存器ISR中相应位复位,这样一来,虽然系统在进行中断处理,但对于8259A来讲,ISR没有相应的指示,就象中断处理结束,返回主程序之后一样。CPU可以再次响应任何级别的中断请求。 2. 一般的中断结束方式 一般的中断结束方式适用用在全嵌套的情况下,当CPU用输出指令向8259A发一般中断结束命令OCW2时,8259A才会使中断响应寄存器ISR中优先级别最高的位复位。

33、 3. 特殊的中断结束方式 在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,也就是说,CPU无法确定当前所处理的是哪级中断,这时就要采用特殊的中断结束方式。 特殊的中断结束方式是指在CPU结束中断处理之后,向8259A发送一个特殊的EOI中断结束命令,这个特殊的中断结束EOI命令,明确指出了中断响应寄存器ISR中需要复位的位。,热能与动力工程,四) 系统总线的连接方式 1. 缓冲方式 在多片8259A级连的大系统中,8259A通过外部总线驱动器和数据总线相连,这就是缓冲方式。在缓冲方式下,8259的输出信号作为缓冲器的启动信号,用来启动总线驱动器,在8259A与CPU之间进行

34、信息交换。 2. 非缓冲方式 当系统中只有一片或几片8259A芯片时,可以将数据总线直接与系统数据总线相连,这时8259A处于非缓冲方式下。在这种方式下,8259A的作为输入端设置,主片应接高电平,从片应接低电平。,热能与动力工程,五) 引入中断请求的方式 1. 边沿触发方式 8259A将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后相应引脚,可以一直保持高电平。 2. 电平触发方式 8259A将中断请求输入端出现的高电平作为中断请求信号,在这种方式下,必须注意:中断响应之后,高电平必须及时撤除,否则,在CPU响应中断,开中断之后,会引起第二次不应该有的中断。 3. 中断查询方式 当系

35、统中的中断源很多,超过64个时,则可以使8259A工作在查询方式下,中断查询方式的特点是: a . 中断源仍往8259A发中断请求,但8259A却不使用INT信号向CPU发中断请求信号。 b. CPU内部的中断允许标志复位,所以CPU对INT引脚上出现的中断请求呈禁止状态。 c. CPU 用软件查询的方法来确定中断源,从而实现对设备的中断服务,可见,中断查询方式,既有中断的特点,又有查询的特点,从外设的角度来看,是靠中断的方式来请求服务,但从CPU的角度来看,是用查询方式来确定发中断请求的中断源。,热能与动力工程,五、8259A的控制字 8259A的命令字有两种。一种是初始化命令字(ICW),

36、在8259A启动之前写入,使其处于预定的初始状态。另一种是操作命令字(OCW),使处于初始状态的8259去执行具体的某种操作方式。操作命令字可在8259初始化后的任何时刻写入。,热能与动力工程,1.初始化命令字 1)ICW1:芯片控制初始化命令字,在A0=0,D4=1时写入。,热能与动力工程,2)ICW2:设置中断向量码初始化命令字。,热能与动力工程,3)ICW3:主片/从片初始化命令字。,热能与动力工程,4)ICW4:方式控制字初始化命令字。ICW4用来设定8259A的工作模式。,热能与动力工程,初始化流程,热能与动力工程,2.操作命令字 1)OCW1:中断屏蔽操作命令字,在A0=1时写入到

37、中断屏蔽寄存器IMR中,当某一位为1时,就屏蔽与之相应的IR输入。,热能与动力工程,2)OCW2:优先循环方式和中断结束方式操作字。其中R是优先级循环控制位,R=1为循环优先级,R=0 为固定优先级。,热能与动力工程,3)OCW3:特殊屏蔽方式和查询方式操作字。OCW3的功能有三个方面:一是设置和撤消特殊屏蔽方式,二是设置中断查询方式,三是用来设置对8259A内部的寄存器的读出命令。在A0=0,D4D3=01时写入OCW3。,热能与动力工程,六、8259A的级联,热能与动力工程,七、编程举例,热能与动力工程,热能与动力工程,热能与动力工程,热能与动力工程,热能与动力工程,热能与动力工程,热能与动力工程,热能与动力工程,考题分析,热能与动力工程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1