




已阅读5页,还剩108页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第章中断系统,一、中断概述二、8088/8086的中断系统三、可编程中断控制器8259A,一、什么是中断?,有关中断的基本概念,所谓中断,是指CPU在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引起CPU暂时中断当前程序的运行而转去执行为内部/外部事件或预先安排的事件服务的子程序,待中断服务子程序执行完毕后,CPU再返回到暂停处(断点)继续执行原来的程序,这一过程称为中断。或者说,中断就是CPU在执行当前程序的过程中因意外事件插入了另一段程序的运行。利用中断可以大大提高CPU的工作效率。实现中断功能的控制逻辑称为中断机构或中断系统。,CPU执行流程,CPU的中断功能的实现带来了以下好处:,1、同步处理,2、实现了实时处理,3、突发事件处理,二、中断源能够引起中断的原因,或能够发出中断请求信号的外设。,(1)一般的输入输出设备。如键盘,打印机等;(2)数据通道中断源。如磁盘,磁带机等直接与存储器交换数据所要求的中断;(3)实时时钟。在控制系统中使用外部硬件电路实现时间控制,当定时时间到时向CPU发出中断申请;(4)故障引起的中断。如电源掉电等;(5)由中断指令或软件故障引起的中断。如系统功能调用,除数为0,或者在程序调试时设置断点等引起的中断。,中断分类,根据中断与CPU的相对关系,中断分为内部中断和外部中断。内部中断可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而产生的中断;外部中断则是由直接连到CPU引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。,2、中断处理过程,一个中断过程应该包含以下五个过程:(1)中断请求(2)中断判优(3)中断响应(4)中断服务(5)中断返回,(1)中断请求,当中断源需要CPU为其服务时,首先送出中断请求信号。中断信号可以由中断指令或是某些特定条件产生,也可以是通过CPU引脚(INTR)向CPU发出中断请求信号而产生。实际系统中一般都有多个中断源,为了增加控制的灵活性,每个中断源接口电路中,设置一个中断请求触发器和一个中断屏蔽触发器。,(1)中断请求,当中断源有请求时,将中断请求触发器置1:*若中断屏蔽触发器为“0”状态,表示允许该中断源向CPU发出中断请求“信号”;*若中断屏蔽触发器为“1”状态,表示禁止该中断源向CPU发出中断请求“信号”。尽管该中断源有中断请求,也不能被送出,称该中断请求被屏蔽了。,(2)中断判优,中断判优是确定当前所有中断请求中优先级最高的那个中断源。因为CPU一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。,(3)中断响应,中断可被响应的条件:中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;CPU未处理更高级中断;CPU现行指令执行完;,(3)中断响应,CPU通过中断判优确定了要响应的中断源后,进入中断响应,自动完成以下步骤:关中断;保护断点,将正在执行的程序地址(断点)入栈;保护现场,标志寄存器自动入栈;形成中断服务程序入口地址。,(4)中断服务和(5)中断返回,中断服务是指CPU执行中断服务程序。这是由中断子程序来完成的。中断服务程序应包括:保护现场,CPU响应中断时自动保护断点,寄存器则由程序员决定是否要入栈;开中断,CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;,(4)中断服务和(5)中断返回,中断处理,对中断源作相应的处理,是中断服务程序的核心;关中断,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断;恢复现场,按后进先出的原则,PUSH和POP应配对使用;中断返回,从堆栈中弹出断点,返回主程序。,3、中断优先权管理,中断优先权是事先根据中断源的重要性给每个中断源确定一个中断优先级别优先权。中断优先权管理就是判别和确定各个中断源的中断优先权。中断优先权判别方法有软件和硬件两种方法。,3、中断优先权管理,(1)软件确定中断优先权软件法是在CPU响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。,如图,8个外设只要有中断请求,CPU检测到中断请求信号,响应中断;,读入端口80H的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的中断服务程序。,(1)软件确定中断优先权,软件查询流程图,软件查询程序:INAL,80H;端口读入状态TESTAL,80H;JNZSERVE_ATESTAL,40HJNZSERVE_BTESTAL,01HJNZSERVE_HHLT,*软件查询次序就是优先权高低的次序;*软件确定中断优先权不需复杂的硬件电路,简单易实现;*中断源较多时,查询时间较长,中断响应较慢。,3、中断优先权管理,(2)硬件确定中断优先权由硬件实现中断优先权的判别。*常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。*利用中断控制器8259A,它具有8个优先权控制,可以通过级联,扩展至64级优先权控制,且每级中断都可设置为允许或屏蔽。,高级中断源能中断低级的中断处理当CPU正在处理某个中断时,如果外部又有一个优先级别比本优先级别更高的中断请求,则可以实现中断嵌套。,中断嵌套当CPU正在进行某一级别中断源的中断处理时,若有更高级别的新中断源发出请求,且新中断源满足响应条件,则CPU应中止当前的中断服务程序,保护此程序的断点和现场,转而响应高级中断。这种多级(重)中断的处理方式称为“嵌套”。,中断嵌套示意图,中断嵌套必须具备的几个条件,1)第一级中断(已处于响应状态的原中断)的服务程序中,应在保护现场执行完毕后加上开放总中断(IF位置1)的指令;2)新到来的中断应具有比原中断高的优先级,同级或低级均不能嵌套;3)为保护各级中断服务程序的数据不被破坏,所有服务程序中均应有保护现场、恢复现场的指令;4)每个中断服务程序末尾必须有IRET指令以示结束,从而返回被中断的程序地址处,2、8086/8088的中断系统,8086/8088的中断系统可以处理256种不同的中断。所有可能产生的中断源有:可屏蔽中断INTR、非屏蔽中断NMI、指令中断INTn和特定条件下的中断,分为两类:,内部中断,外部中断,内部中断CPU不是通过外部中断请求而是通过内部逻辑进入中断,调用相应的中断服务程序,是CPU自启动的中断。除单步中断外,所有内部中断为非屏蔽型的。内部中断主要用于解决程序运行中发生的一些意外情况、程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。(1)除法出错中断(类型0);(2)单步中断(类型1);(3)断点中断(类型3);(4)溢出中断(类型4);(5)软件中断,2、8086/8088的中断分类,内部中断,(1)除法出错中断(类型0)CPU在执行触发指令DIV和IDIV时,若发现除数为0,或商超过了寄存器所能表达的范围,就立即产生一个类型为0的内部中断,CPU转入除法错误中断处理程序。注意:此中断是由CPU自身产生,并没有对应的中断指令。,2、8086/8088的中断分类,内部中断,(2)单步中断(类型1)此中断也是由CPU自身产生,没有对应的中断指令,它是由CPU对状态标志寄存器中的陷阱标志TF的测试而引起的。TF1,自动单步中断,用于程序调试。,2、8086/8088的中断分类,内部中断,(3)断点中断(类型3)执行INT指令就产生一个类型为3的内部中断,称为断点中断。和单步中断类似,用于程序调试。,2、8086/8088的中断分类,内部中断,(4)溢出中断(类型4)溢出中断是由CPU执行一条INTO指令实现的:当OF1时,执行INTO就会进入类型码为4的内部中断;否则,按顺序执行。,2、8086/8088的中断分类,内部中断,(5)软件中断当执行INTn指令时,形成中断,类型码由指令提供。从功能上来说,类似于调用子程序,但入口地址在中断向量表里。,2、8086/8088的中断分类,外部中断通过外部的硬件产生,由送至CPU引脚NMI和INTR上的信号引起中断。分为两类:(1)非屏蔽中断(n=2)一旦在NMI引脚有中断请求,CPU立即响应。,返回,2、8086/8088的中断分类,(2)可屏蔽中断,从INTR脚引入,必须满足IF=1,且没有非屏蔽中断,CPU可以响应中断。中断请求信号是由电平触发,必须保存到CPU响应中断请求后才能撤除。中断允许标志IF的标志,可由指令设置:STI开中断,将IF置1;CLI关中断,将IF置0。当系统复位,或CPU响应中断后,都使IF置0。,中断类型码、中断向量表和中断向量,中断类型码:8086可以处理256个中断请求,每个中断请求均对应于惟一固定的类型码。被0除类型码是0,单步为1;NMI为2;断点中断为3,溢出中断为4等。中断向量:即中断服务程序的入口地址,包括段地址(高字单元)和偏移地址(低字单元)。中断向量表:存放中断向量的表,位于内存空间的最低地址单元,长1KB。共可容纳256个中断向量(25641024)。,中断向量和中断向量表,3、中断向量表中断向量即中断服务程序的入口地址,用两个字表示,低字是IP,高字是CS。将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为中断向量表;8086/8088的中断类型码用8位二进制表示,共有从n=0FFh,256个中断向量;中断向量表建立在内存空间最低1K地址;地址范围:00000H003FFH(即CS=0000H)。注意:中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服务程序的功能。,已知中断类型码后,如何进入中断服务程序?1、将中断类型码乘以4,得到中断向量表的向量首址指针;2、将断点(当前CS、IP的值)入栈保护;3、取中断向量:把向量表指针所指的4个连续字节的内容作为中断服务程序的入口地址,分别送给IP和CS;4、按新的CS:IP指针执行中断服务程序。,中断类型码的获取NMI、断点中断、溢出中断、被0除、单步中断等类型码固定。INTN软中断类型码由立即数N给出。外部中断读取中断类型码。,中断响应过程,(FLAG),0150,1000,中断响应与处理,8086的保留中断和其它软件中断由指令给出中断类型,所以不执行中断响应周期;非屏蔽中断NMI的类型码固定,也不执行中断响应周期;,可屏蔽中断INTR:CPU将执行持续两个总线周期的中断响应周期。第一个总线周期有效,向外设送出的中断应答信号;第二个总线周期再次有效,表示外设应送出中断类型码。CPU将在T4周期前沿读取中断类型码。,中断响应周期时序,CPU从引脚INTA发中断响应信号,接口芯片接收此信号,把中断类型号准备好;CPU再从引脚INTA发中断响应信号,接口芯片接此信号后,将中断类型号送至数据总线上;CPU从数据总线获取中断类型号。,中断处理的全过程:检测响应服务,三、中断控制器8259A,1、8259A基本构成与引脚信号2、8259A工作过程3、8259A的工作方式4、8259A编程方法,1、8259A基本构成与引脚信号,(1)8259A是一种功能很强的可编程中断控制器,是28脚芯片,具有很强的功能。(2)8259A的基本构成和引脚功能,8259A的基本构成,IRR是一个8位寄存器,用于锁存所有从IRi引脚输入的中断请求信号。输入线IR7IR0分别连接8个中断源的中断请求信号,当中断源有中断请求时,在相应的IR引脚上送入有效信号,IRR中相应的位就置位,以锁存该中断请求信号。,中断请求寄存器IRR,中断源,8259A的基本构成,*PR用于识别各中断请求的优先权级别,并进行优先权管理。*各中断请求的优先权级别可以由CPU定义或修改。*若IRR有几位被置位,且未被屏蔽,表明有多个中断源同时申请中断。则由PR经过判断确定最高优先权的中断请求,并在CPU响应周期内,将它送入ISR中相应的位。,优先权判别器PR,中断源,8259A的基本构成,*中断服务寄存器ISR为8位寄存器,用于记录已被CPU响应的中断。*在中断响应周期里,由PR根据IRR和IMR的状态,确定先被响应的中断请求,送至ISR,使相应的位被置位,并一直保持(自动EOI方式例外)。由EOI命令复位。,中断服务寄存器ISR,中断源,若ISR中有多个位被置位,是什么原因?,8259A的基本构成,*中断屏蔽寄存器IMR也是8位寄存器,用于存放对中断请求的屏蔽信息,其内容可编程设定。*IMR中的8个位对应IR7IR0这8个中断请求,当IMR中某位被置位,对应的中断请求就被屏蔽。则,IRR对应的位虽被置位,但不能送出它的中断请求信号给CPU,由此实现对各中断有选择的屏蔽。,中断屏蔽寄存器IMR,中断源,8259A的基本构成,*数据总线缓冲器为8位双向三态缓冲器,是8259A与CPU间数据传输的通道。*CPU通过数据总线缓冲器向8259A送初始化命令和操作命令字,或是读取状态信息。*在中断响应周期,8259A通过数据总线缓冲器向CPU送出中断类型码。,数据总线缓冲器,8259A的基本构成,*读/写控制电路的逻辑功能就是负责接收CPU发来的控制信号,完成规定的写入命令操作以及读IRR、ISR和IMR的操作。*该片8259A的操作过程中,片选CS必须有效。,读/写控制逻辑,8259A的基本构成,*级联缓冲/比较器用于实现8259A的级联,构成主从式中断管理系统,使中断源由8级扩展到64级。*级联线CAS2CAS0在主从式中断管理系统中,全部8259A对应相连;主片8259A,其为输出线,CPU响应中断时,输出级联设备编码,选中对应的从片;从片的8259A,其为输入线,接收来自主片的设备编码。,级联缓冲/比较器,8259A的基本构成,*控制电路逻辑根据CPU编程设定的工作方式产生片内控制信号,控制片内的工作;*同时,根据IRR、IMR的内容和PR判断结果,向CPU发出中断请求,接受来自CPU的中断响应信号。,控制逻辑,引脚功能,1、中断请求输入线IR7IR0接受来自外设或8259A从片的中断请求信号。可设置为上升沿触发或高电平触发。,中断请求输入线,引脚功能,*双向三态数据线D7D0可与系统数据总线直接相连,称为非缓冲方式工作;*也可通过总线缓冲器与系统数据总线相连,称为缓冲方式工作。,双向三态数据线,引脚功能,中断请求线INT,输出信号,通常与CPU的可屏蔽中断输入端INTR相连,向CPU发送中断请求信号。,中断请求线,引脚功能,*接收CPU在中断响应周期发来的中断响应信号,8259A接到此信号后,送上中断类型码;*中断类型码由编程设定。,中断响应线,中断响应线,引脚功能,*由CPU的高位地址线控制,低电平时,表示8259A被选中,允许CPU对8259A进行读或写操作;*高电平时,表示未选中该片。,片选信号线,片选线,引脚功能,地址线A0用以选择8259A内部不同寄存器。*在8088系统中,A0与CPU的A0相连;,地址线,引脚功能,当读信号低电平时,允许8259A将中断请求寄存器IRR、中断服务寄存器ISR、中断屏蔽寄存器IMR的内容送上数据总线,供CPU读取。,读信号,读信号,引脚功能,写信号低电平时,允许CPU将命令字写入8259A。,写信号,写信号,引脚功能,*级联线CAS2CAS0在主从式中断管理系统中,全部8259A的CAS2CAS0与对应端相连。*作为主片的8259A,其CAS2CAS0为输出线,在CPU响应中断时,用来输出级联设备编码,选中对应的从片;*作为从片的8259A,其CAS2CAS0为输入线,接收来自主片的设备编码。,级联线,引脚功能,非缓冲方式工作时,作为输入线,*高电平时,表示该8259A为主片;*低电平时,表示该8259A为从片。缓冲方式下工作时,作为输出线,用于控制缓冲器接收和发送。,从片编程/缓冲使能,8259A的主要功能,(1)每一片8259A可管理8级中断,通过级联,最多可以管理64级中断;(2)每级中断源都可单独进行屏蔽或允许;(3)在中断响应周期,能向CPU提供中断类型码,从而使CPU获得相应的中断向量;(4)允许多级中断嵌套;(5)可设置多种中断优先权管理方式,(6)8259A是可编程芯片,用户可通过编程选择不同的工作方式;(7)具有中断查询方式功能,使CPU以查询方式与各外设进行I/O操作。,2、8259A工作过程,当有外部中断请求时,8259A处理过程:(1)中断请求寄存器IRR接受外部中断请求并锁存,当中断屏蔽寄存器IMR为0时,则中断请求进入优先权判别器PR,由PR判断是否当前优先权最高?如果是,则8259A的INT为1,向CPU的INTR发出中断请求;,2、8259A工作过程,8259A使中断服务寄存器ISR的相应位置1,并将中断请求寄存器IRR的相应位清零,再送出中断类型码;,2、8259A工作过程,(3)若允许中断嵌套,则由8259A的PR依据ISR中的状态,判断新的中断请求优先权是否高于正在服务的中断。若是,则送出INT=1,向CPU的INTR发中断请求信号,从而实现中断嵌套。(4)当中断服务结束时,CPU送出中断结束命令,使8259A清除ISR的相应位,从而结束一个中断服务。,3、8259A的工作方式,8259A具有十分灵活的运行方式,可以通过编程设定工作方式,满足用户对中断管理的不同要求。主要工作方式:(1)中断请求触发方式(2)屏蔽中断源方式(3)中断优先权设置方式(4)中断结束(EOI)方式(5)连接系统总线方式(6)中断查询方式(7)级联方式,(1)中断请求触发方式,*电平触发*边沿触发,电平触发,8259A将中断请求输入线上出现高电平作为有效的中断请求信号。注意:当中断请求输入端出现一个高电平并得到CPU响应时,应及时撤消信号。否则,在CPU进入中断处理过程,开放中断后,会引起错误的第二次中断。,边沿触发,8259A将中断请求输入线出现的上升沿作为中断请求信号。上升沿触发后,可一直保持高电平,而不会产生重复触发。,(2)屏蔽中断源方式,*普通屏蔽方式*特殊屏蔽方式,普通屏蔽方式,CPU对8259A的中断屏蔽寄存器IMR写入命令字OCWl,使IMR中的某个位或几个位置1,对应的中断请求就被屏蔽,从而不能被8259A送到CPU。而IMR中被置0的那些位对应的中断请求允许从8259A送到CPU。对中断屏蔽可以随时修改,即通过对命令字OCWl的重新设置,实现对某些中断的屏蔽。,特殊屏蔽方式,是在中断服务程序中使用,用于中断嵌套,实现在高优先权的中断服务程序中开放低优先权的中断请求。实现:在中断服务程序中,用命令字OCW1对中断屏蔽寄存器IMR中相应的位置1,且清除当前中断服务寄存器ISR对应的位,从而开放低优先权的中断请求。,(3)中断优先权设置方式,*普通全嵌套方式*特殊全嵌套方式*优先权自动循环方式*优先权特殊循环方式,普通全嵌套方式,这是8259A最基本、最常用的工作方式,若对8259A初始化后没有设置其它优先权方式,则默认为此方式。普通全嵌套方式中,8259A的8个中断源请求的优先权级别,按照IR0优先权最高、IR7优先权最低的固定优先权顺序。当一个中断被响应后,只有比它高优先权的中断请求才会被响应。,特殊全嵌套方式,与普通全嵌套方式基本相同,优先权顺序按照IR0优先权最高、IR7优先权最低的固定顺序。唯一不同在于:若CPU正在处理某一级中断时,如果有同级的中断请求,8259A也会送出中断请求给CPU。特殊全嵌套方式是对同级中断的一种中断嵌套。一般用在8259A级联的系统中,设定主片为特殊全嵌套方式。当某一从片的中断请求正在被处理时,既开放主片上其他优先权高的中断请求,同时也开放了同一从片上的较高优先权的中断请求。,优先权自动循环方式,一个系统的几个中断源的重要性差别不大,因而希望它的优先权不是固定不变的。优先权自动循环方式下,优先权顺序是在变化的:初始时,IR0为最高优先权,IR7为最低优先权;当一个中断被CPU响应后,它的优先权自动降为最低的;原在其下一级的中断升为最高优先权,其余循环类推。假设,初始时有IR3中断请求,且被CPU响应,当IR3的中断服务结束后,IR3降为最低优先权。此时的优先权顺序变为:IR4、IR5、IR6、IR7、IR0、IRl、IR2、IR3。,优先权特殊循环方式,与优先权自动循环方式相似,优先权的顺序是变化的,当一个中断被CPU响应,它的优先权自动降为最低。优先权特殊循环方式中,初始最低优先权是由编程设定的。设编程时设定IR4为最低,则初始优先权顺序由高至低为:IR5、IR6、IR7、IR0、IRl、IR2、IR3、IR4。优先权顺序还可在执行EOI命令时指明最低优先权。,(4)中断结束(EOI)方式,当一个中断请求被响应,8259A在中断服务寄存器ISR的相应位置l。当中断服务结束时,必须将ISR中相应的位清0,进行中断结束操作。*自动中断结束方式*普通中断结束方式*特殊中断结束方式,自动中断结束方式,CPU一旦进入中断响应第二个周期,8259A就自动将当前中断服务寄存器ISR中相应的位清0。这时,尽管CPU正在为某个中断源服务,但在8259A的ISR中没有对应位置1,优先权判别器PR不能依据ISR正确判别是否接收新的中断请求,就会出现低优先权中断打断高优先权中断的情况。自动中断结束方式通常用在不允许中断嵌套的场合。,普通中断结束方式,普通中断结束方式用在普通全嵌套情况下。在中断服务结束时,必须由CPU用OUT指令发来一个普通EOI命令,8259A收到后,将当前中断服务寄存器ISR中的已置1的最高优先权的位复位。,特殊中断结束方式,特殊中断结束方式多用于优先权循环情况下。由CPU在中断服务结束时,发出一条特殊EOI命令,指明要清除ISR中的哪一位。注意:在级联方式下,一般不用自动EOI方式,而用普通中断结束或特殊中断结束方式。一个中断结束可能要发两次EOI命令,一次对主片,一次对从片,分别清除主、从片的ISR中相应位。,(5)连接系统总线方式,(6)中断查询方式,8259A提供了中断查询方式。这种方式下,外设仍然靠中断请求要求服务,但CPU不是通过对中断请求的响应,而是靠主动查询实现对外设的服务。在CPU为关中断情况下,外设的中断请求信号不被响应,但CPU可以通过查询方式检查请求中断的外设,获取中断请求信号,从而进入中断服务。,(7)级联方式,8259A可以及联使用,一个主8259A可以最多带8个从8259A,将中断源扩展到64级。,(7)级联方式,通常主片采用特殊全嵌套方式,允许同一从片上优先权高的中断请求打断优先权低的中断请求。其余的工作方式、寄存器读取方法与单片系统基本相同。,4、8259A编程方法,8259A为可编程的中断控制器,它的工作状态和操作是由接收CPU的命令而确定的。8259A在开始使用前,首先写入初始化命令字,使其处于预定的初始状态;初始化命令字设定后,在整个系统工作过程中保持不变;操作命令字用来控制8259A执行不同的操作方式。初始化命令字设置后,在8259A工作期间的任何时刻都可设置操作命令字,且允许重置操作命令字动态地改变8259A的操作方式。,初始化命令字,初始化命令字有4个:ICW1格式ICW2格式ICW3格式ICW4格式,8259A在使用前首先必须对它进行初始化,使其处于预定的初始状态,初始化命令字设定后,整个工作过程中保持不变。,ICW1格式,D41,A00表示设置的是ICW1注意:A00,表示输入8259A低地址端口;,ICW2格式,ICW2用于设置中断类型码。注意:A01,表示输入8259A高地址端口。,ICW3格式,ICW3是在级联方式下设置的初始化命令字。当ICW1中D11,单片使用,不需要ICW3;当ICW1中D10,表示8259A工作于级联方式,必须设置ICW3。,ICW3格式,*假设,主片ICW301010011,,表示该从片的INT连至主片的IR7,表示IR6、IR4、IR1、IR0上接有从片,*假设,从片ICW300000111,,ICW4格式,当ICW1的D0=1,需要设置ICW4。,D7D6D5=000ICW4的标志,SFNM1,用于指明是否选择特殊全嵌套方式,一般在使用多片8259A中使用,主片即选用特殊全嵌套方式。,例题,解:其初始化程序如下:MOVAL,13H;设置ICW1=00010011,即采用边沿;触发,单片,需要ICW4OUT80H,AL;ICW1写入地址A0=0MOVAL,18H;ICW2=00011000,确定ICW2的高5位OUT81H,AL;ICW2写入地址A0=1MOVAL,0DH;ICW4=00001101,即普通嵌套方式,;缓冲方式,非自动中断结束方式,用;于8086/8088OUT81H,AL;ICW4写入地址A0=1,单片8259A的端口地址是80H和81H,采用边沿触发,普通嵌套方式,缓冲方式,非自动中断结束方式,需要ICW4,中断类型码是18H1FH,请对8259A进行初始化。,操作命令字,向8259A写入初始化命令字后,8259A就处于设定的工作状态,随时准备接受中断请求信号,按要求管理中断;自动进入操作命令状态,在任何时刻都可以设置操作命令字,选择其不同的操作方式;操作命令字用于规定中断屏蔽、中断结束、优先权循环和中断状态的读出和查询等等。操作命令字有三个,根据需要输入,无需按顺序。OCW1OCW2OCW3,例题,OCW1,OCW1的功能用来动态地设置中断源的屏蔽状态。,CPU也可以从8259A的高地址端口读取中断屏蔽寄存器IMR的内容。,假设,OCW133H,表示IR5、IR4、IR1、IR0引脚上的中断被屏蔽,其余中断请求允许;,OCW2,D4D300:可作为OCW2的标志位。D5:即EOI,中断结束命令位。,OCW2的功能就是用于控制中断结束,优先权循环等操作方式。,OCW2,若ICW4中AEOI0,表明设置非自动中断结束方式,则在中断服务程序最后中断返回前必须设置中断结束(EOI)命令。EOI置1为一个EOI命令,执行此命令将清除8259A的中断服务寄存器ISR具有最高优先权的位或由L2L0指定的位;R、SL、EOI三位配合使用选择中断结束和优先权循环的操作方式。,OCW2,假设,OCW201100011,是特殊EOI命令,清除ISR指定的位(即D3);OCW210000000,设置为工作于中断优先权自动循环方式。优先权初始次序由高至低为IR0IR7,当一个中断被处理返回后,自动降为最低级,其下一级作为最高级,其余依次类推。OCW211100010,清除ISR中当前中断对应的位,指定当前系统的最低优先权级(IR2)。中断返回后,优先权次序改为IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2。,OCW3,OCW3用于控制8259A的运行方式。包括设置或撤销特殊屏蔽方式和查询方式,可读出8259A的中断请求寄存器IRR,中断服务寄存器ISR等。,P1,查询,D4D301OCW3的标志,OCW3,当CPU发来一个OCW3查询命令(P1):假设,此时优先权次序为IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2,且IR5、IRl有中断请求。随后,CPU执行一条输入指令,便可得到查询字:85H,查询字格式,1,有中断请求,优先权最高位,OCW3,CPU不必设置OCW3,可随时在高地址读取IMR的值;而读取IRR和ISR之前,必须先发一个OCW3命令字。,D1D0:读取8259A的IRR或ISR的值,OCW3,假设,8259A的端口地址为20H,21H,MOVAL,0AH;设置OCW3,其中D1D0=10OUT20H,AL;从低端口输出NOP;等待INAL,20H;读入IRR的内容,如果需要读入ISR的内容,如何修改?,R、SL、EOI组合,注:有信号的组合,OCW2的L2L0有效,例题(1),1、已知8259A的端口地址是20H,21H,读取其中断请求寄存器IRR和中断服务寄存器ISR的内容。解:MOVAL,0AH;OCW3=00001010,读IRR寄存器OUT20H,AL;OCW3输出到8259A的低地址NOP;空操作,等待3个时钟周期INAL,20H;从低地址读入IRR的内容,例题(2),2、修改中断屏蔽寄存器IMR内容,使IR5的中断请求被屏蔽,开放IR3的中断请求,其余不变,8259A的端口地址60H,62H。解:OCW1对应位为0,开中断;对应位为1,禁止中断;CPU从8259A高地址读取的内容就是中断屏蔽寄存器IMR的内容。INAL,62H;从高地址读入IMRANDAL,0F7H;读入的IMR与11110111,即IR3置0ORAL,20H;以上IMR的值或00100000,即IR5置1OUT62H,AL;从高地址写入IMR,例题(3),3、8259A当前中断服务寄存器ISR的内容代表什么?在中断嵌套和单个中断情况下,ISR的内容有什么不同?解:中断服务寄存器ISR记录了正被CPU响应的中断(在非自动EOI方式下)。ISR是8位寄存器,8个位分别对应8个中断源IRi,若某个中断源的中断请求被CPU响应,则对应位置1。单个中断被响应时,ISR中只有一个位为1。中断嵌套时ISR中有两个以上的位为1,表明一个中断未处理结束,又转入更高优先权的中断处理中。所以ISR表示当前有哪些正在响应的中断存在。,例题(4),4、设目前系统的最高优先权为IR5,若执行OCW2命令,且命令中EOI0,R1,SL1,L2L1L0011。请指出OCW2命令执行后,8259A的优先权顺序。解:因为OCW2命令中R1,SL1,EOI0,则该命令是指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年政府部门公务员招录考试面试题详解
- 数学-湖南师大附中 2025届高三月考试卷(六)试题和答案
- 2025年汽车美容保养高级课程模拟试题集及解答详解
- 2025年仓储管理部招聘笔试高频考点解析及模拟题
- 2025年医疗卫生行业招聘面试模拟题及答案解析
- 2025年数据分析师面试题及解题技巧
- 学位面试题目及答案
- 项目 四《 任务三 社区服务我设计》说课稿 2024-2025学年初中劳动技术浙教版七年级上册
- 2025年金融风险管理岗位面试指南及预测题集
- 2025年大学计算机基础期末考试题及答案
- 工程变更流程ECN
- LED电子显示屏系统设计方案
- 2024年山东高速投资控股限公司校园招聘9人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 大学生新时代劳动教育教程全套教学课件
- JT-GQB-015-1998公路桥涵标准钢筋混凝土圆管涵洞
- 新质生产力-讲解课件
- 2024年西安陕鼓动力股份有限公司招聘笔试冲刺题(带答案解析)
- 2024年四川发展(控股)有限责任公司招聘笔试冲刺题(带答案解析)
- 居住建筑节能设计标准(节能75%)
- 垃圾分类巡检督导方案
- 乳制品配送服务应急处理方案
评论
0/150
提交评论