可编程中断控制器_第1页
可编程中断控制器_第2页
可编程中断控制器_第3页
可编程中断控制器_第4页
可编程中断控制器_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

可编程中断控制器1第一页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例52第二页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例53第三页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的主要功能●一片8259A可以管理8级中断,且可以多片级联,最多可以用9片构成64级的主从式中断管理。●对任何一级中断都可以单独屏蔽。●可以通过编程,使8259A工作在不同方式下,使用灵活。●能根据编程提供中断源的中断类型码。4第四页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的引脚及功能中断请求中断响应数据线中断请求输入5第五页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的引脚及功能级联信号从设备编程/缓冲器允许引脚内部寄存器选择。A0=0:ICW1,OCW2OCW3A0=1:ICW2~ICW4,OCW1片选信号读、写信号6第六页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构8位的寄存器,用来接收来自IR0~IR7上的中断请求信号,当收到请求信号时就在IRR的相应位置位。外设产生中断请求的方式有两种:一种是边沿触发方式,另一种是电平触发方式。用户可根据需要通过编程来设置。7第七页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构8位的寄存器,用来存放中断屏蔽字,它是由用户通过编程(操作命令字OCW1)来设置的。IMRi与IRi一一对应,当IMR中第i位置位时,就屏蔽了来自IRi的中断请求,使锁存于IRRi位的中断请求不能送达优先权裁决电路参加排队,也就是说,禁止了IRi的中断请求获得服务的机会。这样用户就可以根据需要设置IMR的值,从而改变系统原有的中断优先级。8第八页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构标记了CPU正在为哪些中断源服务,这又分为两种情况:其一,若CPU不处于中断服务状态,有未被屏蔽的中断请求,CPU满足中断响应条件,将响应这些请求中级别最高的中断。如经中断优先权裁决电路裁决IRi的中断请求被响应,当8259A收到第一个中断响应信号时将使ISRi置“1”,而IRRi清“0”。ISRi置1表明CPU正在为IRi端的中断请求服务;而IRRi由1变0则表示IRi端的中断请求已被响应。其二,若CPU正在为中断源服务,比如正在为IR6端的中断请求服务中,如果IR0又申请中断且没被屏蔽,按8259A的默认优先级IR0高于IR6,因而CPU会暂停IR6的中断处理而响应IR0的中断请求,这样ISR0也被置1,此时IRS0、IRS6均为1,这表明IR0、IR6的中断服务均未结束。从该意义上而言,ISR的每一位都是“中断服务的标志位”。9第九页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构它是用来管理和识别各个中断源的优先级的,也分为两种情况。其一,根据优先级的规定,判别同时送达优先权电路的中断源(IRRi=1且IMRi=0的位)那一个级别最高。其二,根据当前服务寄存器的状态和新进入中断优先权裁决电路的中断请求,判别新的中断请求的级别是否更高,以决定是否进入中断嵌套。10第十页,共七十八页,编辑于2023年,星期五ISR寄存器中断屏蔽寄存器IMR中断请求优先级编码器中断请求寄存器IRR比较器B0B1B2A>BA0A1A2ISR编码ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR0INTD0……D7IR0IR1IR2IR3IR4IR5IR6IR7中断优先权裁决电路11第十一页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构有一组初始化命令字寄存器(ICW1~ICW4共4个)和一组操作命令字寄存器(OCW1~OCW3共3个),这7个寄存器均由用户根据需要通过编程来设置。控制逻辑可以按照编程所设置的工作方式来管理8259A的全部工作。在IRR中有未被屏蔽的中断请求位时,它可以输出高电平的INT信号向CPU申请中断。在中断响应期间,它使得ISR的相应位置位,并控制向CPU发送相应的中断类型码。在中断服务结束时,它按照编程指定的方式进行结束处理。12第十二页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构8位的双向三态缓冲器,用作8259A与系统数据总线的接口。用来传输初始化命令字、操作命令字、状态字和中断类型码。13第十三页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构

它接收来自CPU的读/写命令,完成规定的操作。具体动作由片选信号CS,地址输入信号A0,以及读(RD)和写(WR)信号共同控制。14第十四页,共七十八页,编辑于2023年,星期五9.18259A的主要功能8259A的内部结构在级联方式的主−从结构中用来存放和比较系统中各8259A的从设备标志(ID)。其中CAS0~CAS2是8259A相互间连接用的专用总线,用来构成8259A的主−从式级联控制结构。SP/EN在缓冲方式下产生总线启动信号,以控制总线缓冲器的接收和发送.15第十五页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例516第十六页,共七十八页,编辑于2023年,星期五9.28259A的工作过程

单片8259A的工作过程●中断源通过IR0~IR7向8259A发中断请求,使得IRR的相应位置位。●若此时IMR中的相应位为0,即该中断请求没有被屏蔽,则进入优先级排队。8259A分析这些请求,若条件满足,则通过INT向CPU发中断请求。●CPU接收到中断请求信号后,如果满足条件,则进入中断响应,通过引脚发出两个连续负脉冲。17第十七页,共七十八页,编辑于2023年,星期五9.28259A的工作过程

单片8259A的工作过程●8259A收到第一个INTA时,做如下动作①使IRR的锁存功能失效,到第二个INTA时再有效。②使ISR的相应位置位,表示已为该中断请求服务。③使IRR相应位清0,表明对应的中断请求被响应。18第十八页,共七十八页,编辑于2023年,星期五9.28259A的工作过程

单片8259A的工作过程●8259A收到第二个INTA时,做如下动作①把中断类型码送往数据总线。②如果8259A工作在中断自动结束方式,此时将清除ISR的相应位③如果8259A工作在中断非自动结束方式,此时不清除ISR的任何位,只有在中断服务结束时发出中断结束命令才会使ISR中的相应位清除。19第十九页,共七十八页,编辑于2023年,星期五9.28259A的工作过程

多片级联的工作过程在级联使用时,至少要两片8259A(一片主片,一片从片,所以也叫主从式连接),可管理15级外部中断。最多允许9片8259A级联(其中一片为主片,8片从片),可管理64级中断20第二十页,共七十八页,编辑于2023年,星期五9.28259A的工作过程

多片级联的工作过程主IR0~IR2>

从A的IR0~IR7>

主IR4~IR7>

从B的IR0~IR721第二十一页,共七十八页,编辑于2023年,星期五

多片级联的工作过程9.28259A的工作过程级联时,从片上中断源的请求与响应过程:●从片上的中断源通过IR0~IR7向从8259A发中断请求

,使得IRR的相应位置位。●若此时IMR中的相应位为0,即该中断请求没有被屏蔽,则进入优先级排队。8259A分析这些请求,若条件满足,则通过INT向主8259A发中断请求。22第二十二页,共七十八页,编辑于2023年,星期五

多片级联的工作过程9.28259A的工作过程●主8259A收到请求后若满足条件则通过INT向CPU发中断请求●CPU接收到中断请求信号后,如果满足条件,则进入中断响应,通过INTA引脚发出两个连续负脉冲,该INTA信号送给所有的8259A。23第二十三页,共七十八页,编辑于2023年,星期五

多片级联的工作过程9.28259A的工作过程●在各8259A收到第一个INTA时,使各自的IRR的锁存功能失效(目的是防止此时再来中断导致中断响应的错误),到第二个INTA时再有效。●主片收到第一个INTA后使对应的ISR位置,并通过CAS0~CAS2输出当前被响应的中断源所属从片的设备代码ID。●每个从片均收到这一设备代码并和自身的代码进行比较。24第二十四页,共七十八页,编辑于2023年,星期五

多片级联的工作过程9.28259A的工作过程●与主片送出的代码一致的从片则清除被响应的中断源的IRR位,置位被响应的中断源的ISR位,并做好把自身被响应的中断源的类型码送到数据总线的准备。●在第二个INTA脉冲有效期间,由被选中的从8259A将中断类型码送上数据总线。CPU在中断响应周期的第二周期读取类型码,并生成中断向量表的地址,然后从向量表中读出中断向量转入相应的中断服务程序。25第二十五页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例526第二十六页,共七十八页,编辑于2023年,星期五9.38259A的中断管理

中断优先级管理

中断结束管理

中断嵌套管理

中断屏蔽管理27第二十七页,共七十八页,编辑于2023年,星期五9.38259A的中断管理

中断优先级管理

中断结束管理

中断嵌套管理

中断屏蔽管理28第二十八页,共七十八页,编辑于2023年,星期五中断优先级管理固定优先级方式8259A复位后自动处于固定优先级方式,8个中断源的优先级别是固定的,依次为IR0>IR1>IR2>IR3>IR4>IR5>IR6>IR7。循环优先级方式设置为此方式后瞬时优先级为IR0>IR1>IR2>IR3>IR4>IR5>IR6>IR7,一旦某中断源的请求被响应后它就变成最低优先级,它的下一级上升为最高优先级。29第二十九页,共七十八页,编辑于2023年,星期五中断优先级管理特殊循环优先级方式在设置8259A为循环优先级的同时,还指明循环起始时的最低优先级。查询排序优先级方式一般用于中断级数多于64级的场合。由程序读取8259A的查询字来判断该8259A的中断源是否有请求。30第三十页,共七十八页,编辑于2023年,星期五9.38259A的中断管理

中断优先级管理

中断结束管理

中断嵌套管理

中断屏蔽管理31第三十一页,共七十八页,编辑于2023年,星期五中断结束管理自动结束方式一般结束方式由CPU向8259A的偶地址写入一个一般的EOI命令来实现,一旦写入该命令字,ISR中为1的位中的最高优先权的ISR位就被清除,从而结束了本级中断服务。在中断响应的第二周期中的INTA的后沿就自动清除ISR中的最高优先级位。这种结束方式不能用于中断嵌套管理。32第三十二页,共七十八页,编辑于2023年,星期五中断结束管理特殊结束方式通过向8259A的偶地址写入一个特殊的EOI命令来实现,这个命令字特殊就特殊在清除指定要的ISR位,而不是象一般的EOI命令直接清除ISR中的最高优先权的ISR为1的位。33第三十三页,共七十八页,编辑于2023年,星期五9.38259A的中断管理

中断优先级管理

中断结束管理

中断嵌套管理

中断屏蔽管理34第三十四页,共七十八页,编辑于2023年,星期五中断嵌套管理完全嵌套方式8259A复位后自动处于这种方式,8259A按默认优先级管理中断,即优先级为IR0>IR1>……>IR7;在该方式下,高级中断可以中断低级中断,低级或同级中断不能被响应。当一个服务结束时必须通过中断结束命令(用一般的EOI命令即可)清除该中断源所对应的在服务寄存器的ISR位。35第三十五页,共七十八页,编辑于2023年,星期五例设某系统只用了1片8259A,初始化时设置为完全嵌套,一般结束方式,并设当前所有的ISR和IMR均为零。假设系统在执行主程序时,首先在IR2和IR4引脚上同时出现中断请求。然后IR1引脚上又有中断请求。36第三十六页,共七十八页,编辑于2023年,星期五主程序初始化STIIR2,IR4有请求ISR2=1IR2中断处理程序

IR1有请求,开中断后才能被响应

STIIR1中断处理程序(嵌套)

STI

ISR1=1中断结束命令ISR1被清除IRET返回IR2中断处理程序中断结束命令ISR2被清除ISR4=1IR4中断处理程序STI中断结束命令IRET返回IR2中断处理程序

IRETISR2被清除返回主程序为什么低优先级的IR4可以打断高优先级的IR2的执行?37第三十七页,共七十八页,编辑于2023年,星期五结论●进入中断处理程序后,只有执行STI指令,才能允许其他可屏蔽中断处理程序进行嵌套。●进入中断处理程序后,如果STI指令使IF为1,但未用OCW2清除对应的ISR位,这种情况下,会允许比本中断优先级高的中断进入,形成符合优先级规则的嵌套。如果在STI指令之后,接着用OCW2命令清除了相应的ISR位,但中断处理过程并没有结束,这种情况下,中断嵌套就未必按优先级规则进行了。38第三十八页,共七十八页,编辑于2023年,星期五●在主程序中如允许响应可屏蔽中断,必须执行开中断指令使IF为1。●每当进入一个中断处理程序时,系统会自动关中断,所以只有中断处理程序中再次开放中断,才有可能被较高级的可屏蔽中断嵌套。注意●每个中断处理程序结束时,必须执行中断结束命令,清除对应的ISR位,才能返回断点。否则,将阻止同级和低级中断被响应。39第三十九页,共七十八页,编辑于2023年,星期五中断嵌套管理特殊全嵌套方式用于级联方式下主片的管理。例某计算机系统由2片8259A构成主从式中断管理系统,主片IR4端接有1个从片,若从片上有1个中断源(IR6)的中断正在被CPU处理,则主片的ISR4=1,从片的ISR6=1。在处理从片的IR6中断时,该从片上又有高级别的中断源IR0请求服务。40第四十页,共七十八页,编辑于2023年,星期五方案A:全嵌套方式级联情况下的中断管理。00000000从片(全嵌套方式)IRR00000010ISRIR0IR1IR2IR3IR4IR5IR6IR7优先级排队电路INTIR40000000主片(全嵌套方式)IRR00001000ISR优先级排队电路INT去CPU的INTR0从片的IR6被服务的情况41第四十一页,共七十八页,编辑于2023年,星期五00000000从片(全嵌套方式)IRR00000010ISRIR0IR1IR2IR3IR4IR5IR6IR7优先级排队电路INTIR40000000主片(全嵌套方式)IRR00001000ISR优先级排队电路INT去CPU的INTR0从片的IR6被服务时又有IR0请求的情况1对于主片而言,该请求属于同级中断,按全嵌套管理模式该请求将被屏蔽。42第四十二页,共七十八页,编辑于2023年,星期五中断嵌套管理特殊全嵌套方式当来自某个从设备的中断请求进入服务时,主设备的优先权控制逻辑不封锁这个从设备,从而使来自该从设备的较高优先级的中断请求能被主设备识别,并向CPU发出中断请求。43第四十三页,共七十八页,编辑于2023年,星期五方案B:特殊全嵌套方式级联情况下的中断管理。00000000从片(全嵌套方式)IRR00000010ISRIR0IR1IR2IR3IR4IR5IR6IR7优先级排队电路INTIR40000000主片(全嵌套方式)IRR00001000ISR优先级排队电路INT去CPU的INTR0从片的IR6被服务时又有IR0请求的情况1暂停从片IR6的服务144第四十四页,共七十八页,编辑于2023年,星期五中断嵌套管理特殊全嵌套方式主片的中断结束必须先用软件检查被服务的中断是否是该从设备的唯一中断请求。为此,先向从设备发一个一般中断结束命令,清除已完成服务的ISR的相应位。然后读出从片的ISR内容,若全为零,则向主设备发出一个一般的EOI命令。反之,则不向主设备发出EOI命令。45第四十五页,共七十八页,编辑于2023年,星期五9.38259A的中断管理

中断优先级管理

中断结束管理

中断嵌套管理

中断屏蔽管理46第四十六页,共七十八页,编辑于2023年,星期五中断屏蔽管理一般屏蔽方式只屏蔽本机中断,使得被屏蔽的中断源无权参加优先级排队。其余中断源仍然按原有中断管理模式进行。特殊屏蔽方式一般是在为某个中断源服务时进行,而不像一般屏蔽方式是在响应之前。不仅屏蔽本级中断源的再次被响应,而且还自动清除被屏蔽中断源的ISR位。47第四十七页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例548第四十八页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化命令字ICW1ICW2ICW3ICW449第四十九页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化命令字ICW1ICW2ICW3ICW40A0A7A6A5D7D6D51D4LTIMD3ADID2SINGLD1IC4D0中断向量地址的A7~A5,仅用于8080/8085系统,其他系统无意义。中断请求触发方式选择:1:电平触发0:边沿触发调用地址间隔(8080/8085用):1:4个字节0:8个字节1:单一82590:8259级联1:需用ICW40:不用ICW450第五十页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化命令字ICW1ICW2ICW3ICW4用于设定中断类型码0A0A15A14A13A12A11A10A9A8D7D6D5D4D3D2D1D0T7T6T5T4T3×××8080/8085系统为中断向量地址的A15~A8.8086/8088系统中为中断类型码的高5位51第五十一页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化命令字ICW1ICW2ICW3ICW4有多片8259A级联时,才需要设置ICW31A0IR7IR6IR5IR4IR3IR2IR1IR0D7D6D5D4D3D2D1D01:该引脚有从片,0:该引脚无从片主片×××××ID2ID1ID0D7D6D5D4D3D2D1D0从片从设备的ID编码52第五十二页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化命令字ICW1ICW2ICW3ICW41A0000D7D6D5SFNMD4BUFD3M/SID2AEOID1μPMD01:特殊完全嵌套方式0:完全嵌套方式0X:非缓冲方式10:缓冲方式,从片11:缓冲方式,主片1:自动结束方式0:非自动结束1:8086/8088系统0:8080/8085系统53第五十三页,共七十八页,编辑于2023年,星期五9.48259A的编程初始化程序流程ICW1(A0=0)ICW2(A0=0)级联方式?Y为主片?ICW3(A0=1)指出从片连接情况YNICW3(A0=1)指出本从片连接主片哪个引脚要写ICW4吗?YICW4(A0=1)NN54第五十四页,共七十八页,编辑于2023年,星期五9.48259A的编程例9-1一个CPU为8086/8088的系统,采用1片8259A做控制器,要求其工作在全嵌套方式,不用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式,中断类型码为0B0H~0B7H。该8259A的两个端口地址分别为20H和21H,试完成初始化程序。0A0A7A6A5D7D6D51D4LTIMD3ADID2SINGLD1IC4D0ICW120H0001001ICW41(13H)55第五十五页,共七十八页,编辑于2023年,星期五9.48259A的编程例9-1一个CPU为8086/8088的系统,采用1片8259A做控制器,要求其工作在全嵌套方式,不用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式,中断类型码为0B0H~0B7H。该8259A的两个端口地址分别为20H和21H,试完成初始化程序。ICW20A0A15A14A13A12A11A10A9A8D7D6D5D4D3D2D1D0T7T6T5T4T3×××20H10110000(B0H)56第五十六页,共七十八页,编辑于2023年,星期五9.48259A的编程例9-1一个CPU为8086/8088的系统,采用1片8259A做控制器,要求其工作在全嵌套方式,不用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式,中断类型码为0B0H~0B7H。该8259A的两个端口地址分别为20H和21H,试完成初始化程序。ICW41A0000D7D6D5SFNMD4BUFD3M/SID2AEOID1μPMD021H00000001(01H)57第五十七页,共七十八页,编辑于2023年,星期五9.48259A的编程例9-1一个CPU为8086/8088的系统,采用1片8259A做控制器,要求其工作在全嵌套方式,不用中断自动结束方式,不用缓冲方式,中断请求信号为边沿触发方式,中断类型码为0B0H~0B7H。该8259A的两个端口地址分别为20H和21H,试完成初始化程序。MOVAL,13H;ICW1OUT20H,ALMOVAL,0B0H;ICW2OUT21H,ALMOVAL,01H;ICW4OUT21H,AL58第五十八页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW359第五十九页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW31A0M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0Mi=1:IRi的中断请求被屏蔽Mi=0:IRi的中断请求开放60第六十页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW30A000D4D3RD7SLD61:L2~L0有意义0:L2~L0无意义L2L1L0D2D1D01:循环优先级0:固定优先级EOID51:有中断结束功能0:无中断结束功能61第六十一页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW30A000D4D3RD7SLD6L2L1L0D2D1D0EOID5SL=1时有意义:R=1、EOI=0时指出循环优先级起始最低优先级,即为特殊循环优先级。R=0、EOI=1时指出要清除的ISR位,即为特殊中断结束方式。R=EOI=1时是上述两功能的组合,即指出要清除的ISR位,同时指定它为最低优先级。62第六十二页,共七十八页,编辑于2023年,星期五RSLEOIL2~L0功能名称应用000无用设置固定优先级用于固定优先级和循环优先级间的切换100无用设置循环优先级001无用一般的EOI命令(一般的中断结束)固定优先级下的中断结束命令字011给出要清除的ISR位的编码特殊的EOI命令(特殊中断结束方式)101无用循环优先级一般的EOI命令循环优先级下的中断结束命令字110给出循环优先级的最低起始级的中断编码设置特殊循环优先级用于设置特殊循环优先级111给出要清除的ISR位,同时又指定它为循环优先级的最低起始级特殊的EOI命令特殊的循环优先级特殊循环优先级下的中断结束命令字63第六十三页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW30A001D4D30D7ESMMD6SMMD5特殊屏蔽方式允许位:1:允许;0:禁止特殊屏蔽方式位:1:进入特殊屏蔽0:恢复一般屏蔽(D6=1时有效)11:进入特殊屏蔽10:退出特殊屏蔽0X:无意义64第六十四页,共七十八页,编辑于2023年,星期五9.48259A的编程操作命令字OCW1OCW2OCW30A001D4D30D7ESMMD6PD2RRD1RISD0SMMD5查询方式位:1:查询命令;0:无查询功能读IRR,ISR寄存器允许位:1:允许;0:禁止RR=1有效RIS=0:读IRRRIS=1:读ISR1XX:设置为查询方式(从偶地址口读回)00X:无意义010:读IRR允许(从偶地址口读回)011:读ISR允许(从偶地址口读回)65第六十五页,共七十八页,编辑于2023年,星期五NUIST第9章可编程中断控制器8259A8259A的主要功能结构18259A的工作过程28259A的中断管理38259A的编程48259A的应用举例566第六十六页,共七十八页,编辑于2023年,星期五9.58259A的应用8259A的应用编程主要包括初始化命令字写入、操作命令字写入、状态字读取三部分。操作类型A0功能特征标志及写入顺序及说明写命令字0010数据总线

ICW1

命令字中的D4=10010数据总线OCW2命令字中的D4D3=000010数据总线OCW3命令字中的D4D3=010110数据总线OCW1――――――――0110数据总线ICW2、ICW3、ICW4图9-12初始化流程67第六十七页,共七十八页,编辑于2023年,星期五9.58259A的应用8259A的应用编程主要包括初始化命令字写入、操作命令字写入、状态字读取三部分。操作类型A0功能特征标志及写入顺序及说明读状态字0001IRR数据总线OCW3中的RR=1、RIS=0、P=00001ISR数据总线OCW3中的RR=1、RIS=1、P=00001查询字数据总线OCW3中的P=10101IMR数据总线任何时候无操作1***68第六十八页,共七十八页,编辑于2023年,星期五9.58259A的应用命令字的确定从8259A主8259A去CPU的INTR实时时钟INT0AH保留保留保留80287中断硬盘保留IRQ0IRQ1IRQ2INTIRQ3IRQ4IRQ5IRQ6IRQ7CAS0~CAS2IRQ0IRQ1IRQ2IRQ3INTIRQ4IRQ5IRQ6IRQ7电子钟时间基准键盘串行口2串行口1并行口2软盘并行口1CAS0~CAS269第六十九页,共七十八页,编辑于2023年,星期五9.58259A的应用命令字的确定从8259A主8259A去CPU的INTR实时时钟INT0AH保留保留保留80287中断硬盘保留IRQ0IRQ1IRQ2INTIRQ3IRQ4IRQ5IRQ6IRQ7CAS0~CAS2IRQ0IRQ1IRQ2IRQ3INTIRQ4IRQ5IRQ6IRQ7电子钟时间基准键盘串行口2串行口1并行口2软盘并行口1CAS0~CAS2写入主片8259A的ICWICW1=11H;定义主片8259A为上升沿触发方式,级联使用,要写入ICW3和ICW4。ICW2=08H;定义主片8259A中断类型码初值从08H开始,对应于IRQ0的中断类型码。ICW3=04H;定义主片8259A的引脚IR2上接有从片8259A。ICW4=01H;定义主片8259A工作在非缓冲器方式,非自动中断结束方式,正常完全嵌套方式和8259A芯片用于X86微机中。70第七十页,共七十八页,编辑于2023年,星期五9.58259A的应用命令字的确定从8259A主8259A去CPU的INTR实时时钟INT0AH保留保留保留80287中断硬盘保留IRQ0IRQ1IRQ2INTIRQ3IRQ4IRQ5IRQ6IRQ7CAS0~CAS2IRQ0IRQ1IRQ2IRQ3INTIRQ4IRQ5IRQ6IRQ7电子钟时间基准键盘串行口2串行口1并行口2软盘并行口1CAS0~CAS2写入从片8259A的ICWICW1=11H;与主片完全相同。ICW2=70H;定义从片8259A中断类型码的初始值为70H,对应于中断8(从片IRQ0)的中断类型码。ICW3=02H;定义为从片8259A的标志码,02H表示从片接在主片的IR2上。ICW4=01H;定义与主片完全相同。71第七十一页,共七十八页,编辑于2023年,星期五9.58259A的应用初始化编程例PC实模式下的中断初始化,系统分配给8259A的端口地址是:主片为20H和21H,从片为A0H和A1HMOVAL,11H

;ICW1送AL,上沿触发,级联使用 ;需要写入ICW3,ICW4。OUT20H,AL ;ICW1送主片ICW1口地址。OUT0A0H,AL ;ICW1送从片ICW1口地址。MOVAL,08H

;ICW2送AL,设置主片中断向量初值08H。OUT21H,AL ;ICW2送主片ICW2口地址。MOVAL,70H

;ICW2送AL,设置从片中断向量初值70H。OUT0A1H,AL ;ICW2送从片ICW2口地址。72第七十二页,共七十八页,编辑于2023年,星期五9.58259A的应用初始化编程例PC实模式下的中断初始化,系统分配给8259A的端口地址是:主片为20H和21H,从片为A0H和A1HMOVAL,04H

;ICW3送AL,定义主片IR2上接有从片。OUT21H,AL ;ICW3送主片ICW3口地址MOVAL,02H

;ICW3送AL,定义从片标志码OUT0A1H,AL;ICW3送从片ICW3口地址MOVAL,01H

;ICW4送AL,定义8259A的工作方式(主片从片一样)OUT21H,AL ;ICW4送主片ICW4口地址OUT

温馨提示

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

评论

0/150

提交评论