《最新微机原理与接口技术7中断PPT课件》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术7中断PPT课件(83页珍藏版)》请在金锄头文库上搜索。
1、微机原理与接口技术7中断7.4 可编程中断控制器8259A7.5.1 8259A的芯片内部结构7.5.2 8259A的工作方式7.5.3 8259A的级联使用7.5.4 8259A 的控制字和工作方式7.5 8259A在微机系统中的使用7.6.1 8259编程命令7.6.2 8259A的使用(1)中断请求)中断请求 中断源发送请求信号,外部中断由硬件产生,中断源发送请求信号,外部中断由硬件产生,内部中断由指令产生。内部中断由指令产生。 外部中断:外部中断:CPUCPU在每条指令执行的最后一个周在每条指令执行的最后一个周期采样中断请求信号。期采样中断请求信号。(2)中断判优)中断判优 如果有多个
2、中断源提出中断申请,如果有多个中断源提出中断申请,CPUCPU可通过查可通过查询式或硬件电路自动完成中断优先权排队,然后询式或硬件电路自动完成中断优先权排队,然后响应优先权最高的中断申请响应优先权最高的中断申请(3)中断响应)中断响应 如果为内部中断或如果为内部中断或NMINMI中断,中断,CPUCPU自动形成中断自动形成中断类型码类型码 如果是如果是INTRINTR中断,在中断,在IF=1IF=1的前提下,进入中断的前提下,进入中断响应周期,从响应周期,从DBDB获取中断类型码获取中断类型码 可屏蔽中断的响应周期:可屏蔽中断的响应周期: 第一个总线周期:第一个总线周期:CPUCPU送出中断响
3、应信号送出中断响应信号INTAINTA 第二个总线周期:被响应的外设通过数据总线第二个总线周期:被响应的外设通过数据总线送中断类型码给送中断类型码给CPUCPU中断响应过程(自动完成)中断响应过程(自动完成) 关中断关中断 保护保护断点断点 (FLAG(FLAG、CS CS 、IPIP入栈入栈) ) 给出中断服务入口给出中断服务入口 执行执行中断服务程序中断服务程序(4)中断处理)中断处理中断服务程序(自己编写)中断服务程序(自己编写),一般由,一般由,一般由,一般由以下几个部分按顺序组成以下几个部分按顺序组成以下几个部分按顺序组成以下几个部分按顺序组成 保护现场(寄存器入栈)保护现场(寄存器
4、入栈) 开中断开中断 ( (允许中断嵌套允许中断嵌套) ) 中断服务程序(需完成的功能)中断服务程序(需完成的功能) CPU CPU关中断关中断 恢复现场恢复现场 中断返回中断返回(5)中断返回)中断返回由由IRETIRET指令自动完成指令自动完成 断点恢复(断点恢复(IPIP、CSCS、FLAGFLAG出栈)出栈)CPUCPU响应响应INTRINTR中断的中断的条件条件是是(1)中断请求信号)中断请求信号(2)开放总中断)开放总中断(3)在现行指令结束后响应中断)在现行指令结束后响应中断7.3有关有关INTR中断的处理中断的处理80868086系统中中断源种类很多,但只有系统中中断源种类很多
5、,但只有INTRINTR中断可以由用户开发提供给外设使用中断可以由用户开发提供给外设使用(1)需要中断请求)需要中断请求中断请求触发器中断请求触发器(2)多个外设需分别处理)多个外设需分别处理中断屏蔽触发器中断屏蔽触发器(3)CPU与外设的数据中转与外设的数据中转数据缓冲器数据缓冲器(4)选择外设的端口号)选择外设的端口号端口地址译码器端口地址译码器(5)CPU执行完当前指令执行完当前指令,在最后的一个,在最后的一个T状态才采样状态才采样INTR线线7.3.1 80867.3.1 8086中有关中有关INTRINTR中断的触发器中断的触发器7.3.2 中断优先权为什么需要中断优先级?为什么需要
6、中断优先级?同时有多个中断请求,同时有多个中断请求,CPU如何如何选择选择中断源中断源?中断嵌套时,中断嵌套时,CPU是否响应新的中断请求?是否响应新的中断请求?中断优先级确定方法中断优先级确定方法中断优先级从高到低:中断优先级从高到低:中断优先级从高到低:中断优先级从高到低:软件中断软件中断软件中断软件中断非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断单步中断单步中断单步中断单步中断软件查询软件查询 最简单的一种确定优先级的方法。即查询的最简单的一种确定优先级的方法。即查询的顺序就是中断的优先级顺序就是中断的优先级先查询的高。先查询的高。屏蔽法程序查询屏蔽法
7、程序查询移位法程序查询移位法程序查询硬件优先权排队电路硬件优先权排队电路编码器与比较器组成的优先权排队电路编码器与比较器组成的优先权排队电路中断控制器(中断控制器(8259A8259A)1.软件查询确定中断优先权软件查询确定中断优先权(1) (1) 屏蔽法屏蔽法IN AL,20HTEST AL,80HJNZ POWERTEST AL,40HJNZ DISKTEST AL,02HJNZ INPUT若有若有8个中断源,则将它们的个中断源,则将它们的中断请求触发器组合起来,作为中断请求触发器组合起来,作为一个端口,假设端口号为一个端口,假设端口号为20H。70电电源源故故障障磁磁盘盘打打印印输输出出
8、键键盘盘输输入入INTR20H1.软件查询确定中断优先权软件查询确定中断优先权(2) (2) 移位法移位法XOR AL,ALIN AL,20HRCL AL,1JC POWERRCL AL,1JC DISK若有若有8个中断源,则将它们的个中断源,则将它们的中断请求触发器组合起来,作为中断请求触发器组合起来,作为一个端口,假设端口号为一个端口,假设端口号为20H。70电电源源故故障障磁磁盘盘打打印印输输出出键键盘盘输输入入INTR20H软件查询优缺点:软件查询优缺点:询问次序就是优先级次序,原理简单询问次序就是优先级次序,原理简单省硬件,中断源优先级可由用户程序灵活确定省硬件,中断源优先级可由用户
9、程序灵活确定缺点是询问很耽误时间,尤其在中断源很多时缺点是询问很耽误时间,尤其在中断源很多时2.2.优先级硬件排队电路优先级硬件排队电路优先级硬件排队电路优先级硬件排队电路1)优先级编码电路优先级编码电路2接接CPUCPU的的INTRINTRAB 比比 较较 器器A2A2A2A2A1A1A1A1A0A0A0A0优先权优先权寄存器寄存器B2B2B2B2B1B1B1B1B0B0B0B0数据总线数据总线1优先权优先权编码组编码组中断输入中断输入优先权失效优先权失效1 1 1 1、若、若、若、若CPUCPUCPUCPU未进行中断处理,优先权失效信号为高,否则为低;未进行中断处理,优先权失效信号为高,否
10、则为低;未进行中断处理,优先权失效信号为高,否则为低;未进行中断处理,优先权失效信号为高,否则为低;2 2 2 2、若、若、若、若CPUCPUCPUCPU在进行中断处理,则将其优先权编码送至优先权寄存器得在进行中断处理,则将其优先权编码送至优先权寄存器得在进行中断处理,则将其优先权编码送至优先权寄存器得在进行中断处理,则将其优先权编码送至优先权寄存器得B B B B;3 3 3 3、若有新的中断请求来,则产生优先权编码送至优先权编码组、若有新的中断请求来,则产生优先权编码送至优先权编码组、若有新的中断请求来,则产生优先权编码送至优先权编码组、若有新的中断请求来,则产生优先权编码送至优先权编码组
11、得得得得A A A A;4 4 4 4、判断、判断、判断、判断ABABABAB是否成立,若成立输出高电平,打开与门是否成立,若成立输出高电平,打开与门是否成立,若成立输出高电平,打开与门是否成立,若成立输出高电平,打开与门1 1 1 1,送出请求。,送出请求。,送出请求。,送出请求。图图编码器和比较编码器和比较器的优先权排队电路器的优先权排队电路中断嵌套中断嵌套主程序主程序 中断服务子程序中断服务子程序1 1 中断服务子程序中断服务子程序2 2中断断点中断断点1 1 中断断点中断断点2 2 IRET IRET IRET IRET中断嵌套条件:中断嵌套条件:1 1、中断、中断1 1的服务程序中,
12、应在保护现场后的服务程序中,应在保护现场后开中断开中断STISTI; 2 2、当中断、当中断2 2的优先级高于中断的优先级高于中断1 1时,才会发生中断时,才会发生中断嵌套,否则,不会发生中断嵌套嵌套,否则,不会发生中断嵌套主程序主程序CPU关中断:关中断:CLI设置中断向量设置中断向量CPU开中断:开中断:STI等待中断等待中断7.3中断服务程序设计举例中断服务程序设计举例l中断服务子程序中断服务子程序 中断子程序名中断子程序名PROC属性属性保护现场保护现场STI恢复现场恢复现场CLIIRET中断子程序名中断子程序名ENDP7.4用户中断服务子程序的装载用户中断服务子程序的装载例例:类型号
13、为类型号为20H的中断服务程序入口符号地址为的中断服务程序入口符号地址为INT-5,中断向量的装入方法。中断向量的装入方法。中断服务程序框架:中断服务程序框架:INT-5PROCNEAR.IRETINT-5ENDP中断向量指针:中断向量指针:20H 4=0010000000=80H20H 4+2=82H用用MOVMOV指令中断向量的装入指令中断向量的装入参考程序参考程序: :7.3:7.3:中断服务子程序的装载中断服务子程序的装载中断服务子程序的装载中断服务子程序的装载CLIPUSH DSPUSH AXXOR AX,AXMOV DS,AXMOV AX,OFFSET INT-5MOV WORD
14、PTR 080H,AXMOV AX,SEG INT-5MOV WORD PTR 082H,AXPOP AXPOP DSSTI用串操作,用串操作,中断向量的装入中断向量的装入:7.3:7.3:中断服务子程序的装载中断服务子程序的装载中断服务子程序的装载中断服务子程序的装载 CLICLDPUSH ESXOR AX,AX MOV ES,AXMOV DI,4*20HMOV AX,OFFSET INT-5STOSW ;DI+1DIAX,DI DI+2MOV AX,SEG INT-5STOSWPOP ESSTI中断向量表的修改中断向量表的修改用用DOS系统功能调用系统功能调用INT21H的的35H功能功能
15、获取原中断向量(中断向量获取原中断向量(中断向量=ES:BX.类型类型号号=AL),并保存;),并保存;用用DOS系统功能调用系统功能调用INT21H的的25H功能功能设置新中断向量(中断向量设置新中断向量(中断向量=DS:DX.类型类型号号=AL););用用DOS系统功能调用的系统功能调用的25H功能恢复原中功能恢复原中断向量。断向量。例:用例:用INT21H/35H设置新中断向量设置新中断向量CLIPUSHDSMOVAL,NMOVDX,OFFSETINT-SEVMOVAX,SEGINT-SEVMOVDS,AXMOVAH,25HINT21HPOPDSSTI思考题思考题1.中断响应周期中,第一
16、个中断响应脉冲信号向外部电路中断响应周期中,第一个中断响应脉冲信号向外部电路说明什么?第二个脉冲呢?说明什么?第二个脉冲呢?解:第一个中断响应信号脉冲表示当前中断请求已被响解:第一个中断响应信号脉冲表示当前中断请求已被响应,第二个中断响应信号表示将最高优先级的中断类型码应,第二个中断响应信号表示将最高优先级的中断类型码放在数据总线上。放在数据总线上。2.中断向量地址是中断向量地址是。3.硬件中断可分为硬件中断可分为两种。两种。4.8086/8088最多能处理种最多能处理种中断。中断。5.非屏蔽中断的中断类型码是非屏蔽中断的中断类型码是。6.对于掉电的处理,对于掉电的处理,8086/8088是通
17、过是通过来处来处理的。理的。中断服务程序入口地址中断服务程序入口地址非屏蔽中断和可屏蔽中断非屏蔽中断和可屏蔽中断2562非屏蔽中断非屏蔽中断7.在下面的中断中,只有在下面的中断中,只有需要硬件提供中断类需要硬件提供中断类型码。型码。A.INTOB.INTnC.NMID.INTRINTO是指溢出中断,是类型为是指溢出中断,是类型为4的内部中断;的内部中断;INTn是指软件中断,其类型码即为指令中的是指软件中断,其类型码即为指令中的n;NMI是非屏蔽中断,它的中断类型码为是非屏蔽中断,它的中断类型码为2;而;而只有可屏蔽中断需要硬件提供中断类型码。只有可屏蔽中断需要硬件提供中断类型码。8.在中断响
18、应周期内,将中断标志位在中断响应周期内,将中断标志位IF清清0是由是由完成的。完成的。D硬件自动硬件自动7.4 可编程中断控制器 Intel 8259A8259A8259A的的功能功能:具有具有8 8级优先权管理级优先权管理, ,可用可用9 9片扩展为片扩展为6464级中断系统级中断系统接受中断请求,提供中断类型号接受中断请求,提供中断类型号具有屏蔽与开放中断的功能具有屏蔽与开放中断的功能可编程选择不同工作方式可编程选择不同工作方式8259A8259A特点特点: :具有对中断服务程序入口地址的寻址能力具有对中断服务程序入口地址的寻址能力单片单片82598259可处理可处理8 8级中断级中断级联
19、时级联时: :最多可用最多可用9 9片处理片处理6464级中断级中断8259A8259A的片内的片内寻址寻址A A0 0=1=1、0,0,用于选择内部不同寄存器用于选择内部不同寄存器7.4.18259A的引脚的引脚VCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GND1 282273264 25 5 24 6 23 7 22 82192010 19111812 1713 161415双列直插式芯片28个引脚数数据据总总线线外设外设的的8 8级中级中断请断请求输求输入入读信号:状态信息读信号:状
20、态信息和中断向量和中断向量写信号:初始化命写信号:初始化命令字和操作命令字令字和操作命令字向向CPUCPU发送中发送中断请求信号断请求信号中断响中断响应信号应信号地址线地址线级联信号:用于连级联信号:用于连接主从芯片完成多接主从芯片完成多片间的信息传输片间的信息传输主从设备选择控制主从设备选择控制信号信号/ /允许缓冲线允许缓冲线8259A内部结构内部结构IRR:IRR:用于保存用于保存IR0IR7IR0IR7的中断请求,的中断请求,Di=1Di=1:IRiIRi有中断请求有中断请求ISRISR:用于存放正在被服务的中断源,:用于存放正在被服务的中断源, Di=1 Di=1: IRi IRi正
21、在被服务正在被服务IMRIMR:用于存放对应中断请求信号的屏蔽状态,:用于存放对应中断请求信号的屏蔽状态, Di=1 Di=1: IRi IRi被禁止被禁止7.4.2 8259A7.4.2 8259A的中断工作过程的中断工作过程有有请求输入请求输入时,将时,将IRRIRR相应位置位;相应位置位;经经IMRIMR屏蔽电路处理后(屏蔽电路处理后(IRRIRR与与IMRIMR相与),送相与),送PRPR;PRPR检测出最高的中断请求位,并经嵌套处理考虑是否发送检测出最高的中断请求位,并经嵌套处理考虑是否发送INTINT;若可发若可发INTINT信号,则控制逻辑将信号,则控制逻辑将INTINT信号送给
22、信号送给CPUCPU的的INTRINTR引脚引脚若若CPUCPU处在处在开中断开中断,则在当前,则在当前指令完成指令完成后,发两个后,发两个INTAINTA信号;信号;8259A8259A接到第一个接到第一个INTAINTA信号后,使信号后,使ISRISR位置位,位置位,IRRIRR相应位复位;相应位复位;CPUCPU启动另一个响应周期,输出第二个启动另一个响应周期,输出第二个INTAINTA脉冲,脉冲,8259A8259A 向数据总线送出向数据总线送出中断类型码中断类型码;同时,;同时,CPUCPU取出此向量乘以取出此向量乘以4 4, 得到中断服务程序的入口地址;得到中断服务程序的入口地址;
23、中断响应周期完成,中断响应周期完成,CPUCPU执行中断服务程序,执行中断服务程序,8259A8259A工作工作 在自动结束在自动结束AEOIAEOI或普通结束或普通结束EOIEOI模式下,使模式下,使ISRISR清清0 0。 端口地址的确定端口地址的确定假设:假设:8259A的端口地址为:的端口地址为:20H,21H,某某8位位CPU和和8259A的地址线如何连接的地址线如何连接?地址地址译码译码CPUD7D0A7A1D7D0A0A0INTAINTRINTAINT8259IR0IR7CSA7A00010000020H0010000121H分为分为3类类(1 1)中断触发方式)中断触发方式(2
24、 2)中断优先权管理方式:)中断优先权管理方式:中断屏蔽方式中断屏蔽方式 设置优先权方式设置优先权方式 中断结束处理方式中断结束处理方式(3 3)连接系统总线方式)连接系统总线方式7.4.38259A的工作方式的工作方式7.4.38259A的工作方式的工作方式1.中断触发方式中断触发方式(此方式由此方式由ICW1ICW1来设置来设置) )(1)(1)边沿触发方式:边沿触发方式: 上升沿触发,要求高电平信上升沿触发,要求高电平信号具有一定的宽度,可避免毛刺现象引发的中断号具有一定的宽度,可避免毛刺现象引发的中断误判误判(2)(2)电平触发方式电平触发方式: : 当中断输入端持续出现当中断输入端持
25、续出现2 2个脉冲的高电平,表个脉冲的高电平,表示有示有1 1个中断请求,当该请求得到响应后,输入端个中断请求,当该请求得到响应后,输入端必须及时撤除高电平,否则引发第二次中断。必须及时撤除高电平,否则引发第二次中断。(3)(3)中断查询方式中断查询方式: :CPUCPU用软件查询用软件查询, ,通过读取查询通过读取查询字来确认是否有中断产生字来确认是否有中断产生7.4:8259A7.4:8259A中断触发方式中断触发方式中断触发方式中断触发方式2.中断屏蔽方式中断屏蔽方式(1 1)普通屏蔽方式)普通屏蔽方式 用用OCW1OCW1命令将中断屏蔽寄存器命令将中断屏蔽寄存器IMR的相应位置的相应位
26、置“1 1”。高优先级的中断才能中止低优先级的中断高优先级的中断才能中止低优先级的中断(2 2)特殊屏蔽方式)特殊屏蔽方式 用于中断处理程序中。当要允许优先级低的中用于中断处理程序中。当要允许优先级低的中断进入断进入, ,可采用特殊屏蔽方式可采用特殊屏蔽方式. . 可用可用OCW3OCW3的的D D6 6D D5 5=11=11设置设置, 用用OCW1OCW1命令将中断命令将中断屏蔽寄存器屏蔽寄存器IMR的相应位置的相应位置“1 1”,同时将,同时将ISR对对应位清应位清“0”。此时除此时除IMRIMR中置中置1 1位对应的中断被屏位对应的中断被屏蔽外蔽外, ,其它置其它置0 0位对应的中断无
27、论优先级高低都可位对应的中断无论优先级高低都可得到响应。得到响应。3.优先级的管理方式优先级的管理方式:一般全嵌套方式一般全嵌套方式特殊全嵌套方式特殊全嵌套方式优先级自动循环方式优先级自动循环方式优先级特殊循环方式优先级特殊循环方式(1)(1)全嵌套方式:全嵌套方式:8259A默认工作方式默认工作方式.特点特点:在全嵌套方式中,中断请求按在全嵌套方式中,中断请求按固定优先级固定优先级IR0IR7进行处理,进行处理,IR0级中断的优先级最高。级中断的优先级最高。当一个中断被响应时,中断类型码被放到数据总线当一个中断被响应时,中断类型码被放到数据总线上,上,ISR中的对应位中的对应位ISn被置被置
28、1,然后进入中断服务程序。然后进入中断服务程序。一般情况下(除了中断自动结束方式外),一般情况下(除了中断自动结束方式外),在在CPU发出发出中断结束命令(中断结束命令(EOI)前,此对应位一直保持)前,此对应位一直保持“1”,需,需使使AEOI=0。仅级别高的中断才能中断级别低的中断仅级别高的中断才能中断级别低的中断。(2)(2)特殊全嵌套方式特殊全嵌套方式用途用途:多片级联方式多片级联方式,特殊全嵌套方式仅设置在主片中特殊全嵌套方式仅设置在主片中.特点特点:和全嵌套方式基本相同和全嵌套方式基本相同,不同的是不同的是:在处理中断时在处理中断时,可响应同级中断可响应同级中断,从而实现对同从而实
29、现对同级中断请求的特殊嵌套级中断请求的特殊嵌套.思考题:当有思考题:当有3 3片片8259A8259A级联时,主片采用特殊全嵌套方式,级联时,主片采用特殊全嵌套方式,从片采用全嵌套方式,其中断的优先级顺序应该为?从片采用全嵌套方式,其中断的优先级顺序应该为?(3)(3)优先级自动循环方式优先级自动循环方式: :(由(由OCW2决定)决定)用途用途:多个中断源优先级相等的场合。多个中断源优先级相等的场合。特点特点:优先级是在变化的优先级是在变化的。优先权初始化顺序为优先权初始化顺序为IR0IR7,一个设备中断被响应后,一个设备中断被响应后,其优先级自动其优先级自动降为最低,比它低一级的中断降为最
30、低,比它低一级的中断源优先级升到最高。源优先级升到最高。如:如:IR4中断请求被响应后,此方式下,中断优先级自动变中断请求被响应后,此方式下,中断优先级自动变为:为:IR5IR6IR7IR0IR1IR2IR3IR4 (4) (4)优先级特殊循环方式优先级特殊循环方式与优先级自动循环方式不同点:用户用程序指定与优先级自动循环方式不同点:用户用程序指定初始的最低优先级的中断源。初始的最低优先级的中断源。例如设置例如设置IRi为最低优为最低优先级,则最高优先级为先级,则最高优先级为IRi+1,其它各级按循环方式,其它各级按循环方式类推类推。4.中断结束处理的方式中断结束处理的方式中断自动结束方式中断
31、自动结束方式一般的中断结束方式一般的中断结束方式特殊的中断结束方式特殊的中断结束方式(1 1)中断自动结束方式:)中断自动结束方式: 用于系统中只有一片用于系统中只有一片8259A8259A,多个中断不会嵌,多个中断不会嵌套的情形。系统一进入中断处理,就将当前中断服套的情形。系统一进入中断处理,就将当前中断服务寄存器务寄存器ISRISR的对应位清除。对的对应位清除。对8259A8259A来说,好像已来说,好像已经结束了当前中断。经结束了当前中断。 在命令字在命令字ICW4ICW4中将中将AEOIAEOI(D1D1)位置)位置“1 1”。(2 2)普通的中断结束方式)普通的中断结束方式( (非自
32、动非自动EOI)EOI): 用在全嵌套的情形。用在全嵌套的情形。CPUCPU用用OUTOUT指令往指令往82598259A A偶偶地址地址发一个发一个EOIEOI命令,命令,82598259A A将使将使ISRISR中优先级别最中优先级别最高的非零位高的非零位( (正在服务的最高优先级正在服务的最高优先级) )清零清零。结束当结束当前正在处理的中断。前正在处理的中断。用操作命令字用操作命令字OCW2OCW2中的中的R=0 , R=0 , SL=0, EOI=1 SL=0, EOI=1 的设置来实现。的设置来实现。 在命令字在命令字OCW2=OCW2=0010010000B=20H0000B=2
33、0H(3 3)特殊的中断结束方式)特殊的中断结束方式( (非自动非自动EOI)EOI)在非全嵌套方式下,通过向在非全嵌套方式下,通过向8259A8259A发一条特殊中发一条特殊中断结束命令来判断要清除断结束命令来判断要清除ISRISR中置中置1 1位中的位中的哪一哪一位。位。用操作命令字用操作命令字OCW2OCW2中的中的R=0, SL=1, EOI=1 R=0, SL=1, EOI=1 的设的设置来实现,此时置来实现,此时OCW2OCW2中的中的L2L2、L1L1、L0L0这这3 3位指出位指出了到底要清除了到底要清除ISRISR中的哪一位。中的哪一位。OCW2=01100L2L1L0 往偶
34、地址端口输出往偶地址端口输出OCW2OCW2命令。命令。 OCW2OCW2中:中:EOI=1EOI=1、SL=1SL=1、R=0R=0是特殊中断结束命是特殊中断结束命令。令。5.5.连接系统总线方式连接系统总线方式(1)(1) 缓冲方式:缓冲方式:8259A通通过过总总线线驱驱动动器器和和数数据据总总线线相相连连,这这就就是是缓缓冲冲方式。方式。用用于于多多片片8259A8259A级级联联时时,此此时时主主片片SP/ENSP/EN作作为为总总线线驱驱动动器器的启动信号连接到的启动信号连接到CECE端,从片端,从片SP/ENSP/EN控制数据的方向。控制数据的方向。(2)(2) 非缓冲方式:非缓
35、冲方式: 当当系系统统中中只只有有单单片片8259A8259A时时,一一般般将将它它直直接接与与数数据据总总线线相相连连。或或者者8259A8259A片片数数不不多多的的情情况况下下,也也可可直直接接与与数数据据总总线相连。线相连。 单单片片时时,8259A 8259A SP/ENSP/EN接接高高电电平平;多多片片时时,主主片片SP/ENSP/EN接高电平,从片接高电平,从片SP/ENSP/EN接低电平接低电平8259A缓冲方式下级连结构缓冲方式下级连结构8259A非缓冲方式下级连结构非缓冲方式下级连结构 地址总线 控制总线 数据总线 CS A0 DB INTA INT CAS0 8259A
36、 从控 A CAS1A CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 CAS1 8259A主控 CAS2 IRQ7 IRQ0 SP/EN 7 6 5 4 3 2 1 0 CS A0 DB INTA INT CAS0 8259A 从控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 GND 7 6 5 4 3 2 1 0 GND 7 6 5 4 3 2 1 0 VCC 7 6 5 4 3 2 1 0 CS A0 DB INTA INT CAS0 8259A 从控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB
37、INTA INT CAS0 8259A 从控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 8259A 从控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 8259A 从控 B CAS1B CAS1 CAS2 SP/EN IRQ7 IRQ0 361#从片从片挂在挂在主片主片的的IR6,2#从片从片挂在挂在主片主片的的IR368259A的级联应用的级联应用?主片:主片:IR3有申请有申请IRR:00001000ISR:00001000主片向主片向CPU发发INTR信信号号CPU发响应信
38、号发响应信号INTA主片收到主片收到INTA主片向从片送识别码主片向从片送识别码:CAS0CAS2=011在在2#2#从片:从片:若若IR5有申请有申请IRR:00100000ISR:00100000向主片发向主片发INT信号信号2#从片与识别码一致从片与识别码一致2#从片通过数据总线从片通过数据总线送出中断类型码送出中断类型码7 7 中断查询工作方式中断查询工作方式与前面所讲与前面所讲8259A8259A工作在向量中断方式不同,工作在向量中断方式不同,查询中断工作查询中断工作方式方式具有以下特点:具有以下特点:外设的中断请求信号送入外设的中断请求信号送入8259A8259A,但是,但是825
39、9A8259A不使用不使用INTINT引脚向引脚向CPUCPU发送中断请求发送中断请求CPUCPU的的IF=0IF=0,即使得,即使得CPUCPU不会响应不会响应INTINT引脚上产生的中断引脚上产生的中断CPUCPU通过软件定期或循环查询通过软件定期或循环查询8259A8259A的状态(的状态(读入查询读入查询字字)来确认中断源)来确认中断源8259A外设外设CPU中断中断查询查询7.4.48259A的编程的编程分两种:分两种:分两种:分两种:初始化编程初始化编程初始化编程初始化编程和和和和工作方式编程工作方式编程工作方式编程工作方式编程。初始化编程:初始化编程:初始化编程:初始化编程:由由
40、由由CPUCPU向向向向8259A8259A送送送送2424个字节的初始化个字节的初始化个字节的初始化个字节的初始化命令字,一旦设定,在中断工作过程中一般不再改变。命令字,一旦设定,在中断工作过程中一般不再改变。命令字,一旦设定,在中断工作过程中一般不再改变。命令字,一旦设定,在中断工作过程中一般不再改变。工作方式编程:工作方式编程:工作方式编程:工作方式编程:由由由由CPUCPU向向向向8259A8259A送送送送33个字节的工作命个字节的工作命个字节的工作命个字节的工作命令字,以规定令字,以规定令字,以规定令字,以规定8259A8259A的工作方式,用于动态控制中断处理过的工作方式,用于动
41、态控制中断处理过的工作方式,用于动态控制中断处理过的工作方式,用于动态控制中断处理过程。程。程。程。8259A的的初始化命令字:初始化命令字:ICWi(i=14)ICW1:芯片控制初始化命令字芯片控制初始化命令字ICW2:中断类型码设置中断类型码设置ICW3:用于级联,主片用于级联,主片/从片的初始化命令字从片的初始化命令字ICW4:方式控制初始化命令字方式控制初始化命令字(1 1)ICW1ICW1(A A0 0=0=0)芯片控制初始化命令芯片控制初始化命令ICW1必须写入必须写入偶偶地址端口中。地址端口中。D7D5:在系统中不用,为在系统中不用,为1为为0都可以,是都可以,是A7A5。D4:
42、设置为设置为1,指示指示ICW1的标志。的标志。D3(LTIM)=1,表示中断请求为电平触发方式,表示中断请求为电平触发方式,=0,表示中断请求为边沿触发方式。,表示中断请求为边沿触发方式。D2(ADI):在在8086/8088中不起作用。中不起作用。D1(SNGL):指出指出8259A有否级联。有否级联。=1,表示系统中有一片,表示系统中有一片8259A,不需写不需写ICW3=0,表示系统中有多片,表示系统中有多片8259A,需要写需要写ICW3D0(IC4):指出后面是否设置指出后面是否设置ICW4。使用。使用ICW4时时D0必须为必须为1。LTIMADISNGLIC41000D7D6D5
43、D4D3D2D1D08259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字(2 2)ICW2(AICW2(A0 0=1)=1)中断类型码的设置中断类型码的设置ICW2写入写入8259A的的奇奇地址端口。地址端口。T7T3:设置中断类型码的高:设置中断类型码的高5位,低位,低3位可以为位可以为0D2D0:由中断请求引脚:由中断请求引脚IR的编号自动插入的编号自动插入T3T4T6T5T7D7D6D5D4D3D2D1D08259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字解:解:ICW1= 0001 0011B ICW1= 0001 0011B ICW2
44、= 0000 1000BICW2= 0000 1000B MOV AL,00010011BMOV AL,00010011B OUT 20H,ALOUT 20H,AL MOV AL,00001000BMOV AL,00001000B OUT 21H,ALOUT 21H,AL例例1:1: 8259A8259A采用前沿触发,单片使用,需要采用前沿触发,单片使用,需要ICW4 ICW4 , 假设假设IR0IR0的类型码为的类型码为08H,08H,试确定试确定ICW1,ICW2ICW1,ICW2。 已知已知8259A8259A端口地址端口地址: 20H,21H: 20H,21H【问问】 8259A825
45、9A的的ICW2ICW2设置了中断类型码的哪设置了中断类型码的哪几位?试说明对几位?试说明对8259A8259A的的ICW2ICW2分别设置为分别设置为: : 30H30H、38H38H、36H36H时有什么差别?时有什么差别?【答答】8259A8259A的的ICW2ICW2设置了中断类型码的设置了中断类型码的D7D7D3D3位。位。 30H30H和和36H36H对应的高对应的高5 5位相同,均为:位相同,均为:0011000110,表示中断类型码区别于低,表示中断类型码区别于低3 3位;位; 而而38H38H的高的高5 5位为:位为:0011100111,与前面,与前面的两者不可能是同片的两
46、者不可能是同片82598259中断。中断。8259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字(3)(3)初始化命令字初始化命令字ICW3: ICW3: 级联方式结构级联方式结构需要分别对主片和从片进行设置需要分别对主片和从片进行设置8259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字(3 3)ICW3(AICW3(A0 0=1)=1)级连方式的设置级连方式的设置 ICW3写入写入8295A的的奇奇地址端口。地址端口。主片主片ICW3的格式的格式:指出主指出主8259哪个引脚连有从哪个引脚连有从8259,对应位置,对应位置1。从片从片ICW3的格
47、式的格式:指出从片指出从片8259连在主连在主8259哪个哪个引脚上,由引脚上,由D2D1D0指出。指出。IR3IR2IR1IR0IR4IR6IR5IR7D7D6D5D4D3D2D1D0主片主片从片从片8259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字例例2:现有一主片现有一主片8259A的的IR3和和IR6接了接了2个从片。个从片。主片端口地址主片端口地址:20H,21H;1#从片端口地址从片端口地址:A0H,A1H试设置试设置ICW3。8259A8259A的初始化命令字举例的初始化命令字举例的初始化命令字举例的初始化命令字举例主片主片:ICW3=01001000=
48、48H从片从片1#:ICW3=00000011=03H从片从片2#:ICW3=00000110=06H主片主片ICW3的初始化程序段的初始化程序段:MOVAL,48HOUT21H,AL1#从片从片ICW3的初始化的初始化:MOVAL,03HOUT0A1H,AL解:解:(4) ICW4(4) ICW4的格式(的格式(A A0 0=1=1)ICW4为方式控制初始化命令字,写入为方式控制初始化命令字,写入奇奇地址端口。地址端口。SFNM:=0,一般全嵌套方式一般全嵌套方式;=1,特殊全嵌套方式特殊全嵌套方式(SpecificFullNestedMode)BUF:=0,非缓冲方式非缓冲方式;=1,缓冲
49、方式缓冲方式(buffered)M/S:主片主片(Master)/从片从片(Slave)若若BUF=1,M/S=1,作主片作主片,M/S=0,作从片作从片BUF=0,M/S无意义无意义AEOI:=0,中断非自动结束中断非自动结束;=1,中断自动结束中断自动结束(AutomaticEndOfInterrupt)uPM:=0,用于用于8位机位机;=1,用于用于16位机位机8259A8259A的初始化命令字的初始化命令字的初始化命令字的初始化命令字8259A的工作命令字:的工作命令字:OCWi(i=13)OCW1:中断屏蔽命令字;:中断屏蔽命令字;OCW2:优先级循环方式和中断结束方式;:优先级循环
50、方式和中断结束方式;OCW3:查询方式:查询方式,特殊屏蔽方式特殊屏蔽方式,读状态等。读状态等。8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字 在对在对8259A8259A进行了初始化编程后,芯片已经进行了初始化编程后,芯片已经作好接收中断请求的输入准备。作好接收中断请求的输入准备。 在在8259A8259A工作期间若需要改变工作期间若需要改变8259A8259A的工作方的工作方式,可由式,可由CPUCPU发送操作命令字发送操作命令字OCWOCW进行控制。进行控制。(1 1)OCW1OCW1的格式(的格式(A A0 0=1=1)OCW1称为屏蔽命令字,写入称为屏蔽命令字,
51、写入8259A的的奇奇地址端口。地址端口。当当OCW1某位某位=1,表示对应的中断请求,表示对应的中断请求被屏蔽被屏蔽。8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字用于设置优先级循环方式和中断结束方式,用于设置优先级循环方式和中断结束方式,写入写入偶偶地址单元。地址单元。D4D3:=00,特征位特征位D7(R):=1,优先级循环方式;,优先级循环方式;R=0,固定方式。,固定方式。D5(EOI):=1,普通,普通EOI方式。在中断服务完毕,发中断结方式。在中断服务完毕,发中断结束命令,使当前束命令,使当前ISR的最高优先权的的最高优先权的ISn复位。复位。D5(EOI)
52、:=0,未定义。,未定义。D6(SL):=1,用,用L2、L1、L0指定中断等级。指定中断等级。在在ICW4中,若中,若AEOI=1,自动清除当前,自动清除当前ISn。AEOI=0,ISn要用要用EOI清除。清除。(2 2)OCW2OCW2的格式(的格式(A A0 0=0=0)8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字OCW2的的R、SL、EOI格式格式D7 D6 D5D7D6D5=001:使当前最高优先级的正在服务使当前最高优先级的正在服务ISR位清位清0。例例1:普通普通EOI命令命令.(中断服务
53、程序中断服务程序).MOVAL,00100000BOUT20H,ALIRETD7D6D5=011:使:使L2L0所指定所指定IR对应的对应的ISR清清0。例例2、特殊、特殊EOI命令命令:MOVAL,01100101BOUT20H,ALIRETIR7IR6IR5IR4IR3IR2IR1IR0(原原)ISR:00110000(新新)ISR:00010000(中断源中断源IR5)D7D6D5=101:使当前正在服务使当前正在服务ISR位清位清0,并,并使其对应使其对应IR的优先级变为最低。的优先级变为最低。例例3、自动循环、普通自动循环、普通EOI命令命令MOVAL,10100000BOUT20H
54、,ALIRET执行前执行前ISR:01001000优先级优先级:76543210执行后执行后ISR:01000000优先级优先级:32107654D7D6D5=100:进入自动循环优先状态,进入自动循环优先状态,在在CPU响应某一响应某一IR请求后自动将其请求后自动将其ISR位位清清0,并将该,并将该IR的优先级变为最低。的优先级变为最低。10000000D7D6D5=000:退出自动循环优先状态,退出自动循环优先状态,此后按此后按AEOI方式使方式使ISR清清0,优先级结构,优先级结构保持固定方式不变。保持固定方式不变。00000000D7D6D5=111:同时完成普通同时完成普通EOI命令
55、和设置最命令和设置最低优先级命令。低优先级命令。例例4、循环指定、普通、循环指定、普通EOI命令命令(有多个中断时有多个中断时)。要把要把IR6定为最低定为最低(L2L1L0=110)MOVAL,11100110BOUT20H,AL执行前执行前ISR:01100100优先级优先级:21076543执行后执行后ISR:01000100优先级优先级:07654321D7D6D5=110:使使L2L0所指定所指定IR为最低优先为最低优先级。该命令可用于循环优先的优先级结构改变,级。该命令可用于循环优先的优先级结构改变,也可用于固定优先结构中设定优先级顺序。也可用于固定优先结构中设定优先级顺序。例例:
56、设置优先权命令。若知当前设置优先权命令。若知当前IR5最高,想把最高,想把IR7定为最高优先权。定为最高优先权。(实际上应该把实际上应该把IR6置为最置为最低优先权低优先权)。此时,。此时,L2L1L0=110.MOVAL,11000110BOUT20H,AL;IR7IR6IR5IR4IR3IR2IR1IR0(前前)优优:21076543(后后)优优:07654321(3 3)OCW3OCW3的格式(的格式(A A0 0=0=0)用于提供查询方式用于提供查询方式,特殊屏蔽方式特殊屏蔽方式,读状态等操作读状态等操作D4D3=01,特征位,特征位1.查询中断:查询中断:P=1时,表示查询。时,表示
57、查询。例:例:IR4引脚上有中断请求,引脚上有中断请求,CPU执行一条输入执行一条输入指令,从指令,从偶地址偶地址端口读得以下查询字:端口读得以下查询字:8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字P=0时,读时,读IRR或或ISR。2.读状态读状态OCW3=00001010B,RR=1,RIS=0,读读IRR;OCW3=00001011B,RR=1,RIS=1,读读ISR。若要读若要读IMR,不须设,不须设OCW3的查询命令,直接从的查询命令,直接从奇地址奇地址端口读入端口读入IMR。3.特殊屏蔽方式操作特殊屏蔽方式操作ESMM=1,SMM=1,置特殊屏蔽方式置特殊屏
58、蔽方式,8259A脱离当脱离当前优先级方式前优先级方式.ESMM=1,SMM=0,撤销特殊屏蔽方式撤销特殊屏蔽方式ESMM=0,SMM不起作用不起作用8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字4. 8259A4. 8259A哪些寄存器的内容可读出?哪些寄存器的内容可读出? 设设8259A8259A地址地址20H20H,21H21H1 1)读中断屏蔽寄存器)读中断屏蔽寄存器IMRIMR内容:内容:中断屏蔽字中断屏蔽字 IN ALIN AL,21H 21H ;A A0 0=1=12 2)要读出)要读出ISRISR或或IRRIRR的内容,的内容,A A0 0=0=0必须设置
59、必须设置OCW3OCW3中的中的 D D4 4D D3 3 D D2 2 =010=010: (1 1)读)读IRRIRR:设置:设置OCW3OCW3:D D1 1D D0 0=10=10 MOV AL, 000010 MOV AL, 0000101010B B IN AL, 20H IN AL, 20H (2 2)读)读ISRISR:设置:设置OCW3OCW3:D D1 1D D0 0=11=11 MOV AL, 000010 MOV AL, 0000101111B B IN AL, 20H IN AL, 20H 8259A8259A的操作命令字的操作命令字的操作命令字的操作命令字3 3)此
60、外,)此外,查询字查询字也可读出,也可读出,A0=0A0=0。先写入先写入P=1P=1的的OCW3OCW3查询命令字查询命令字【问问】 8529A 8529A仅占用两个仅占用两个I/OI/O地址,它是如何地址,它是如何区别区别4 4条条ICWICW命令和命令和3 3条条OCWOCW命令的?在地址引脚命令的?在地址引脚A0A01 1时读出的是什么?时读出的是什么?【答答】A0=0A0=0写写ICW1ICW1、OCW2OCW2、OCW3OCW3,以其,以其特征特征位位区分区分(D(D4 4D D3 3分别是分别是1X1X,0000,01)01)。A0=1A0=1写写ICW2ICW2、ICW3ICW
61、3、ICW4ICW4、OCW1OCW1,写,写ICW1ICW1后后顺序写的是顺序写的是ICW2ICW2、ICW3ICW3、ICW4ICW4。A0=0A0=0读读IRRIRR、ISRISR、查询字,由、查询字,由OCW3OCW3的的RRRR和和RISRIS两位区分两位区分IRRIRR和和ISRISR,通过,通过OCW3OCW3的的P P位向位向82598259发发查询命令后读出的是查询字。查询命令后读出的是查询字。A0=1A0=1时时, ,读读IMRIMR。 编写程序,将编写程序,将82598259的的IRRIRR、ISRISR和和IMRIMR寄存寄存器的内容送到内存器的内容送到内存0050H0
62、050H开始的单元中。开始的单元中。MOV ALMOV AL,0AH0AHOUT 20HOUT 20H,ALALIN ALIN AL,20H20HMOV 0050HMOV 0050H,ALALMOV ALMOV AL,0BH0BHOUT 20HOUT 20H,ALALIN ALIN AL,20H20HMOV 0051HMOV 0051H,ALALIN ALIN AL,21H21HMOV 0052HMOV 0052H,ALAL分析:分析:要读要读IRRIRR,则,则OCW3OCW3的的D1D0=10D1D0=10;要读要读ISRISR,则,则OCW3OCW3的的D1D0=11D1D0=11;IR
63、RIRR和和ISRISR在偶地址中,在偶地址中,IMRIMR在奇地址中。在奇地址中。8259A8259A命令字的使用方法命令字的使用方法 ICW ICW按顺序写入(先写)按顺序写入(先写)ICW1ICW2(ICW3)(ICW4)ICW2、ICW3、ICW4为同址顺序写入(奇地址)为同址顺序写入(奇地址) OCW OCW按需要写入(后写)按需要写入(后写)OCW1、OCW2、OCW3无写入顺序无写入顺序OCW2、OCW3为同址识别写入(偶地址、标志位)为同址识别写入(偶地址、标志位)7.4.68259A在微机系统中的使用在微机系统中的使用图图8-128259A的初始化流程的初始化流程1.8259
64、编程命令编程命令1.初始化命令字初始化命令字ICW1ICW42.操作命令字操作命令字OCW1OCW3送送ICW1,是否用是否用ICW4用用ICW2设中断类型码设中断类型码级连方式级连方式?设设ICW3需要需要ICW4?设设ICW4准备接受中断准备接受中断YNNY2.8259A的使用的使用例例1:单片使用单片使用8259A的初始化的初始化(1)要求要求:IBMPC/XT8259A,单片单片,边缘触发边缘触发,全嵌套方全嵌套方式式,设定设定0级中断类型码为级中断类型码为08H.端口地址端口地址:20H,21H.(2)硬件连接硬件连接:CAS2CAS0不用不用,SP/EN接接+5V.(3)初始化命令
65、字初始化命令字:ICW1=00010011B;边缘触发边缘触发,单片单片,需需ICW4ICW2=00001000B;设置类型码的高设置类型码的高5位位ICW4=00000001B;全嵌套全嵌套,非缓冲非缓冲,非自动非自动EOI,16位机位机8259A初始化编程初始化编程.MOVAL,13H;ICW1:边沿触发边沿触发.单片单片.要要ICW4OUT20H,ALMOVAL,08H;ICW2:IRQ0中断类型为中断类型为08HOUT21H,ALMOVAL,01H;ICW4全嵌套全嵌套.8086系统系统OUT21H,AL;普通普通EOI方式方式例2:1片8259A工作于全嵌套方式. 若要求在IR3的中
66、断服务中,允许IR5进入,该如何作? 1)1)在在IR3IR3中断服务程序开始中断服务程序开始关中断关中断(CLI)(CLI)用用OCW3OCW3设置特殊屏蔽方式设置特殊屏蔽方式取原屏蔽字保存取原屏蔽字保存将将IMR3,IMR4,IMR6,IMR7IMR3,IMR4,IMR6,IMR7置置1,1,只允许只允许IR5IR5进入进入开中断开中断(STI)(STI)2)2)在在IR3IR3中断服务程序后中断服务程序后适当处恢复原屏蔽字适当处恢复原屏蔽字用用OCW3OCW3撤销特殊屏蔽方式撤销特殊屏蔽方式7.4:8259A7.4:8259A的应用举例的应用举例的应用举例的应用举例例例3:一片从一片从8
67、259的的INT端连在主端连在主8259的的IR3上上,主主8259的的IR0和和IR5端分别引入两个中断端分别引入两个中断,从从8259的的IR2和和IR3引入两个中断引入两个中断.主主8259中断类型码为中断类型码为:40H,45H;中断服务程序的段基址为中断服务程序的段基址为1000H,偏移地址为偏移地址为1050H和和2060H.主主8259端口地址端口地址为为:FFE8H,FFE9H从从8259中断类型码为中断类型码为:32H,33H;中断服务程序的段基址为中断服务程序的段基址为2000H,偏移地址为偏移地址为5440H和和3620H.从从8259端口地址为端口地址为:FFFAH,F
68、FFBH主主8259A的初始化程序段的初始化程序段:MOVAL,11H;定义定义ICW1,边缘触发边缘触发,级联级联,单级单级,需需ICW4MOVDX,0FFE8HOUTDX,AL;ICW1送偶地址端口送偶地址端口MOVAL,40H;定义定义ICW2,使使IR3的中断类型码为的中断类型码为40HMOVDX,0FFE9H;送奇地址端口送奇地址端口OUTAL,DXMOVAL,08H;定义主片定义主片ICW3,IR3上接从片上接从片OUTDX,AL;ICW3送奇地址端口送奇地址端口MOVAL,11H;定义定义ICW4,8086,特殊完全嵌套方式特殊完全嵌套方式OUTDX,ALMOVAL,0D6H;定
69、义定义OCW1,屏蔽屏蔽IR0,IR3,IR5以外的中断申请以外的中断申请OUTDX,ALMOVAL,80H;定义定义OCW2,优先级自动循环优先级自动循环MOVDX,0FFE8HOUTDX,AL从从8259A的初始化程序段的初始化程序段:MOVAL,11H;定义定义ICW1,边缘触发边缘触发,级联级联,单级单级,需需ICW4MOVDX,0FFFAHOUTDX,AL;ICW1送偶地址端口送偶地址端口MOVAL,30H;定义定义ICW2MOVDX,0FFFBH;送奇地址端口送奇地址端口OUTAL,DXMOVAL,03H;定义从片定义从片ICW3,INT接主片的接主片的IR3OUTDX,AL;IC
70、W3送奇地址端口送奇地址端口MOVAL,11H;定义定义ICW4,8086,特殊完全嵌套方式特殊完全嵌套方式OUTDX,ALMOVAL,0F3H;定义定义OCW1,屏蔽屏蔽IR2,IR3以外的中断申请以外的中断申请OUTDX,ALMOVAL,80H;定义定义OCW2,优先级自动循环优先级自动循环MOVDX,0FFFAHOUTDX,AL(1)中断类型为中断类型为40H的中断向量设置的中断向量设置:服务程序的入口地址服务程序的入口地址:1000H:1050H20H*4=0080H0080H+2=0082HPUSHDSXORAX,AX;清清AXMOVDS,AXMOVAX,1050HMOV0080H,
71、AX;设中断服务程序的入口地址设中断服务程序的入口地址,送送IPMOVAX,1000HMOV0082H,AX;送送CSPOPDS1 1、8259A8259A中中 IRRIRR、IMRIMR和和 ISRISR三个寄存器的作三个寄存器的作用是什么?用是什么? 2 2、某时刻某时刻8259A8259A的的IRRIRR内容是内容是08H(00001000B)08H(00001000B),说明,说明。某时刻。某时刻8259A8259A的的ISRISR内容是内容是08H,08H,说明说明。在两片。在两片8259A8259A级连的中断电级连的中断电路中,主片的第路中,主片的第5 5级级IR5 IR5 作为从片的中断请作为从片的中断请求输入,则初始化主、从片时,求输入,则初始化主、从片时,ICW3ICW3的控的控制字分别是制字分别是和和。习题作业作业P19723459结束语结束语谢谢大家聆听!谢谢大家聆听!83