微机接口与编程第五章数字量输入输出2(8259)_第1页
微机接口与编程第五章数字量输入输出2(8259)_第2页
微机接口与编程第五章数字量输入输出2(8259)_第3页
微机接口与编程第五章数字量输入输出2(8259)_第4页
微机接口与编程第五章数字量输入输出2(8259)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、 15.3 5.3 中中 断断主要内容:主要内容:一、基本概念一、基本概念 1. 1. 中断的功能中断的功能 2. 2. 中断的分类中断的分类 3. 3. 中断的响应过程中断的响应过程二、可编程中断控制器二、可编程中断控制器8259A8259A 25.3 5.3 中中 断断一、基本概念一、基本概念( (一一) )中断的中断的概念概念及及功能功能 当前程序当前程序: :中断发生时正执行的程序中断发生时正执行的程序( (主程序主程序) )当前指令当前指令:中断发生时正在执行的指令。:中断发生时正在执行的指令。中断中断:当前指令完成后,打断原正常的执行:当前指令完成后,打断原正常的执行顺序,插入执行

2、另一段程序后返回继续。顺序,插入执行另一段程序后返回继续。 3中断源中断源: :发出原始中断请求信号的设备发出原始中断请求信号的设备( (接口接口) )中断服务程序中断服务程序:中断后插入执行的另一段程:中断后插入执行的另一段程序,一般是为中断源实现序,一般是为中断源实现I/OI/O服务。服务。断点断点:中断发生时主程序中原应执行的下一:中断发生时主程序中原应执行的下一条指令,具体化为条指令,具体化为CSCS、IPIP、FLAGSFLAGS。现场现场:中断发生时其他需保护的寄存器。:中断发生时其他需保护的寄存器。 4( (二二) ) 中断分类中断分类(1)(1)除以零中断:产生除以零中断:产生

3、INT INT 0 0(2)(2)单步中断:当单步中断:当IF=TF=1IF=TF=1时时, ,产生产生INT INT 1 1(3)(3)溢出中断溢出中断: :当当OF=1OF=1时执行时执行INTO,INTO,产生产生INT INT 4 4以上三种都是以上三种都是CPU产生产生中断类型号中断类型号n。 (4) 其它其它 INT n指令指令,由指令提供中断类型号由指令提供中断类型号n。由中断类型号由中断类型号 n,用,用4n当作指针到中断矢量表中当作指针到中断矢量表中取中断服务程序取中断服务程序入口地址入口地址,转入服务,转入服务 5 6(1)(1)非屏蔽中断非屏蔽中断NMINMI不受不受IF

4、IF控制,控制, CPUCPU产生产生 INT 2INT 2 NMI NMI中断源:浮点运算协处理器中断源:浮点运算协处理器80878087请求、请求、 RAMRAM错、错、I/OI/O通道错通道错CPU中的非屏蔽,在系统板上增加了屏蔽:中的非屏蔽,在系统板上增加了屏蔽:NMI屏蔽寄存器屏蔽寄存器可以控制可以控制NMI允许允许 / 禁止禁止NMI屏蔽寄存器仅屏蔽寄存器仅1位,接位,接DB7 ,当作,当作I/O端口端口管理,端口地址为管理,端口地址为A0H: MOV AL,80H ; D7=1 OUT 0A0H,AL ;允许;允许NMI若清零若清零AL后输出则禁止后输出则禁止NMI。 7(2)

5、(2) 可屏蔽中断可屏蔽中断INTRINTR 外部中断源的请求经过外部中断源的请求经过82598259产生。产生。 PC/XTPC/XT中外部中断类型号为中外部中断类型号为080FH080FH, 286286以上机器外部中断类型号还有以上机器外部中断类型号还有70H77H70H77H 不论何种中断,得到响应后都是首先获取中断不论何种中断,得到响应后都是首先获取中断类型号类型号n,其值都在,其值都在0255的范围。然后根据的范围。然后根据n乘乘以以4到中断矢量表中寻找中断服务程序的入口地到中断矢量表中寻找中断服务程序的入口地址,转入中断服务程序。址,转入中断服务程序。 8中断类型与中断类型与响应

6、条件响应条件判断判断中断响应中断响应 91 1形成中断类型号形成中断类型号 n n;2 2保护断点:保护断点:FLAGSFLAGS入栈、清零入栈、清零IFIF及及TFTF、CSCS入栈、入栈、IPIP入栈;入栈;3 3以以 4n 4n 到中断矢量表中取中断服务程序入口地址。到中断矢量表中取中断服务程序入口地址。 中断矢量表见中断矢量表见P397P397附录附录8 84 4执行中断服务程序执行中断服务程序( (保护现场、保护现场、I I/ /O O服务、恢复现服务、恢复现场、场、IRETIRET)5.5.返回断点返回断点 10下一条下一条主程序主程序当前指令当前指令中断申请矢量表矢量表0+3+2

7、+14nCSIP3FFHSS堆栈堆栈SP-1-2-3-4-5-6FLAGCSIPIRET中断中断服务程序服务程序 入口入口中断服中断服务务根据中断类型号根据中断类型号n到中断矢量到中断矢量表找服务程序入口表找服务程序入口 11主要功能:主要功能:针对多个中断请求,对其进行屏蔽、优先级等管理针对多个中断请求,对其进行屏蔽、优先级等管理向向CPUCPU转达中断请求,并视转达中断请求,并视CPUCPU的响应送出中断类的响应送出中断类型号型号要点:要点:u中断请求是如中断请求是如何识别的?何识别的?u片内是如何寻址的?片内是如何寻址的?u类型号是如何确定及何时向类型号是如何确定及何时向CPUCPU送出

8、的?送出的?u中断请求的处理是如何完结的?中断请求的处理是如何完结的? 12每片可管理每片可管理8 8个外部中断源个外部中断源( (一一) 8529A) 8529A的构成的构成P253图图5.178259A功能框图功能框图 138259A8259A的功能的功能1. 单片8259可以管理8级硬件中断,用9片级联,组成主从方式,可以管理64级中断。2. 每一级中断都可以由软件屏蔽或允许。3. 能判别芯片的IRi输入端是否收到一个有效的中断请求。 若未被屏蔽,判其优先级。对优先级高的中断源送INTRCPU, 并提供相应的中断向量号CPU4. 几种工作方式可通过编程进行选择。 141. 中断请求寄存器

9、中断请求寄存器(IRR ,8位锁存器)用来锁存外设送来的IR7IR0中断请求信号2. 中断屏蔽寄存器中断屏蔽寄存器(IMR ,8位Reg ) 用来设置中断请求用来设置中断请求屏蔽信号。屏蔽信号。 IMR第i位置1,则与它对应的IRi中断申请被屏蔽。3. 中断服务寄存器(中断服务寄存器(ISR, 8位Reg )存放当前正在服务的中断级。存放当前正在服务的中断级。u 由优先权判别电路根据IRR中各请求位优先级别和IMR中屏蔽标志, 将允许中断的最高优先权请求位,选通到ISR中。u 在处理某级中断的整个过程中,ISR中与它对应的位始终保持1,只有 服务完,在返回之前,才由中断结束命令由中断结束命令E

10、OI将其清将其清0。u 不进行中断服务的ISR各位恒等于0。 控制逻辑控制逻辑中断服务中断服务 寄存器寄存器 ISR优先权优先权 电路电路 PR中断请求中断请求 寄存器寄存器 IRR中断屏蔽寄存器中断屏蔽寄存器IMR读写控制读写控制 逻辑逻辑级联缓冲级联缓冲 比较器比较器数据总线数据总线 缓冲器缓冲器D0D7RDWRCSA0CAS0 CAS1 CAS2ENSPINTAINTIR0 IR1 IR7 154. 优先权判别电路优先权判别电路 用来识别和管理各中断请求信号的优先级别。5. 控制逻辑控制逻辑 控制逻辑电路中,有一组初始化命令字Reg : ICW1ICW4 一组操作命令字Reg: OCW1

11、OCW3。 系统刚开始时,初始化命令字送8259A,以后过程中将保持不变, 操作命令则用来在过程中控制中断操作。 控制逻辑按编程设定方式管理控制逻辑按编程设定方式管理8259A的全部工作。的全部工作。6. 数据总线缓冲器数据总线缓冲器 三态缓冲器。8259A与CPU的数据总线接口 控制逻辑控制逻辑中断服务中断服务 寄存器寄存器 ISR优先权优先权 电路电路 PR中断请求中断请求 寄存器寄存器 IRR中断屏蔽寄存器中断屏蔽寄存器IMR读写控制读写控制 逻辑逻辑级联缓冲级联缓冲 比较器比较器数据总线数据总线 缓冲器缓冲器D0D7RDWRCSA0CAS0 CAS1 CAS2ENSPINTAINTIR

12、0 IR1 IR7 167. 读读/写控制逻辑写控制逻辑 完成来自CPU的读写命令,及与片选信号与片选信号CS与与A0(0或或1)决定访问)决定访问片内某个片内某个Reg。 通过OUT指令指令WR有效,把命令字写入ICW和OCW. 通过IN指令指令RD有效,将IRR、ISR或IMR内容通过数据总线读入CPU。8. 级联缓冲器级联缓冲器/比较器比较器(用于多片用于多片8259之间的连接之间的连接) 主从结构中,作为主设的8259A,CAS2CAS0是输出线,作为从设的8259A,CAS2CAS0是输入线,两者互连。 SP/EN从片编程从片编程/缓冲器允许缓冲器允许信号线,是个双功能引脚。 缓冲器

13、方式缓冲器方式,输出信号,控制缓冲器传送方向。 非缓冲器方式非缓冲器方式,它是输入信号,用于规定8259A是主(SP=1)还是从(SP=0)。在只有一片8259A的系统中,SP/EN接高电平。 控制逻辑控制逻辑中断服务中断服务 寄存器寄存器 ISR优先权优先权 电路电路 PR中断请求中断请求 寄存器寄存器 IRR中断屏蔽寄存器中断屏蔽寄存器IMR读写控制读写控制 逻辑逻辑级联缓冲级联缓冲 比较器比较器数据总线数据总线 缓冲器缓冲器D0D7RDWRCSA0CAS0 CAS1 CAS2ENSPINTAINTIR0 IR1 IR7 17P2P25353 图图5.15.16 6 8257A 8257A

14、引脚引脚 18(1) (1) 外部请求信号外部请求信号IRIR7 7IRIR0 0:可连接可连接8 8个外部中断源,接受外设中断请求信号,按照中个外部中断源,接受外设中断请求信号,按照中断系统设计的功能进行屏蔽、中断优先级等管理断系统设计的功能进行屏蔽、中断优先级等管理(2) (2) 对对CPUCPU的联系信号:的联系信号: INT:INT:中断请求。接受中断请求。接受IRIR后向后向CPUCPU转达转达 INTA:INTA:中断响应,中断响应,CPUCPU回答回答8259A8259A的允许的允许 CS:CS:片选,系统片选,系统I/OI/O译码选中本片。译码选中本片。 A A0 0 : :地

15、址线,片内译码再与片选地址组合,选中各寄存地址线,片内译码再与片选地址组合,选中各寄存器。器。( (若若A0接系统总线接系统总线A1?) RD: RD:读,读,CPUCPU读读8259A8259A各寄存器内容。各寄存器内容。 WR:WR:写,写,CPUCPU写数据到写数据到8259A8259A各寄存器。各寄存器。 19(3) (3) 级连信号:级连信号: SP/EN:SP/EN:主片接主片接+5V+5V,从片接地。,从片接地。 CASCAS2 2CASCAS0 0: 主片输出三位主片输出三位2 2进制进制从片标识码从片标识码, 从片接受后与自己的从片接受后与自己的编号编号对比识别。对比识别。

16、208259的级连信号的级连信号应答应答请求请求 IR0 IR1 IR2 IR6 IR7INTINTA8259主片主片SP +5V(去(去CPU)IRQ0IRQ2IRQ7CAS20INTINTA8259从片从片1 CAS20SPINTA8259从片从片8 SPINT 212. 当外设发出中断请求后,其对外部中断请求的处理过程如下:当外设发出中断请求后,其对外部中断请求的处理过程如下: 若有若有IRi=1,则,则IRR中相应位置中相应位置1。 若对应若对应IMR中的相应位为中的相应位为0,则,则8259A向向CPUINTR。 若若IF=1,则,则CPU在执行完当前指令后,发在执行完当前指令后,发

17、INTA8259A ISR中对应当前最高优先权的位为中对应当前最高优先权的位为1,且,且IRR中相应位清中相应位清0。 CPU发第二个发第二个INTA8259A,8259ADB上送上送8位的向量号位的向量号N (即中断类型号,(即中断类型号,初始化初始化8259A时已设定好时已设定好)。 CPU做:做:N4 从中断向量表中取出中断服务程序的入口地址。从中断向量表中取出中断服务程序的入口地址。 若若8259A为为AEOI(自动结束中断)(自动结束中断),则在第二个则在第二个INTA尾,尾,ISR中相中相应的位复位应的位复位;否则否则,至中断服务程序结束至中断服务程序结束,发出发出EOI命令使命令

18、使ISR中相应位复位中相应位复位。8259A8259A的工作过程的工作过程1. 上电后,由上电后,由CPU执行一段程序对执行一段程序对8259初始化(通过输入初始初始化(通过输入初始化命令字实现)。完成初始化后,化命令字实现)。完成初始化后,8259A处于就绪状态处于就绪状态 。CPU 进入响应中断的过程,继而执行中断子程序。进入响应中断的过程,继而执行中断子程序。 22 取中断类型号取中断类型号N 当前当前PSW的内容入栈的内容入栈 清清IF、TF标志为标志为0当前当前CS的内容入栈的内容入栈 当前当前IP的内容入栈的内容入栈 取内存单元取内存单元( 0 : N 4 )字内容送字内容送IP

19、取中断子程取中断子程 取内存单元取内存单元( 0 : N 4 + 2 )字内容送字内容送CS 入口地址入口地址 此时此时CS:IP指向中断程序的入口,开始执行中断程序。指向中断程序的入口,开始执行中断程序。保存现场与断点保存现场与断点CPU响应中断过程:响应中断过程:执行完中断子程中最后一条指令执行完中断子程中最后一条指令IRET后,后,返回被中断处,继续执行被中断的程序。返回被中断处,继续执行被中断的程序。 23特征特征: 中断优先级固定中断优先级固定 IR0 IR1 IR2 IR 3 IR4 IR5 IR6 IR7 高高 低低 响应某中断请求,并服务于该中断源时,与它同级或低级的中响应某中

20、断请求,并服务于该中断源时,与它同级或低级的中 断源的申请被屏蔽,而优先级比它高的中断源的申请可以响应。断源的申请被屏蔽,而优先级比它高的中断源的申请可以响应。 用用ISR中相应位表示该中断源正在被服务。中相应位表示该中断源正在被服务。 特殊全嵌套方式特殊全嵌套方式(适用于8259级联的情况级联的情况) 级联时,必须采用特殊的全嵌套方式。级联时,必须采用特殊的全嵌套方式。工作方式(工作方式(可以通过编程来实现)可以通过编程来实现)1. 中断嵌套方式中断嵌套方式 普通全嵌套方式普通全嵌套方式常用方式,又称全嵌套方式,适用于单片单片 8259的情况。 24 主片编程为特殊全嵌套方式:主片编程为特殊

21、全嵌套方式: 当处理一级中断时,如果有同级的中断请求,也会给予响应当处理一级中断时,如果有同级的中断请求,也会给予响应。 否则:当从片8259IR2有中断请求,若主片是普通全嵌套方式,则会屏蔽从片上的IR0、IR1(比IR2优先级高)中断请求。 因为从片上的因为从片上的8个个IRi变成了主片的同一级。变成了主片的同一级。 而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。 EOI从从从从ISR是是否全为否全为0 EOI主主NYIRET 在从片的中断处理程序快结束时,应给 8259A发EOI(中断结束)命令,方法是: (a) 向从片发EOI; (b) 读从片的ISR内容: 若为若为0,表

22、示从片只有一个中断源申请中断,再向主片发一个EOI命令。 若不为若不为0,表示从片存在两个以上的中断源在申请中断,则不应发EOI给主片。 252. 优先权循环方式优先权循环方式 一个系统的优先权比较复杂,所以不能总规定一个系统的优先权比较复杂,所以不能总规定IR0高高 IR7低。低。 8259A设计了两种改变优先权的方法。设计了两种改变优先权的方法。 特殊循环方式特殊循环方式适用于中断源的优先级需要任意改变的情况适用于中断源的优先级需要任意改变的情况 通过OCW2命令字设置当前的最低优先级最低优先级IR5,使得有: IR6 IR7 IR0 IR5。 自动循环方式自动循环方式 适用于设备的优先权

23、相等情况适用于设备的优先权相等情况 当一个设备受到中断服务后,它的优先级自动降到最低,其相邻的中断请求变成最高的。 例如例如: IR0 IR1 IR2 IR 3 IR4 IR5 IR6 IR7 初始 高高 低低 若IR4有中断请求,处理IR4后,IR5成为最高优先级, 优先级次序为:IR5 IR6 IR7 IR0 IR1 IR2 IR3 IR4 IR4左循环至最低优先级。左循环至最低优先级。 263. 3. 结束中断处理方式结束中断处理方式 在中断请求得到响应时,ISR中相应位置1, 中断服务结束时,必须使这个位复位为中断服务结束时,必须使这个位复位为0 0以标识中断处理结束。以标识中断处理结

24、束。 这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序 非自动中断结束方式非自动中断结束方式 普通中断结束方式(普通中断结束方式(EOIEOI) 适用于全嵌套方式适用于全嵌套方式 当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。 这个命令加在中断服务程序的末尾处。这个命令加在中断服务程序的末尾处。 自动中断结束方式自动中断结束方式(AEOI)只能用于不要求中断嵌套的情况只能用于不要求中断嵌套的情况 在第二个INTA的后沿,8259A自动把ISR的对应位清0。 特殊结束中断方式特殊结束中断方式非

25、全嵌套方式下非全嵌套方式下 当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。 27不管是普通、还是特殊的中断结束方式,级联系统中的中断结不管是普通、还是特殊的中断结束方式,级联系统中的中断结束必须发送两次束必须发送两次EOI: 一次给从片,一次给主片。一次给从片,一次给主片。 (向从片发(向从片发EOI后,须检查从片中的所有申请中断的源是否全服务过。后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主只有都服务过了,才能向主8259送另一个送另一个EOI命令)。命令)。4. 4. 屏蔽中断源方式屏蔽中

26、断源方式 通过通过IMRIMR编程可允许或禁止中断编程可允许或禁止中断 普通屏蔽方式普通屏蔽方式 通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。 特殊屏蔽方式特殊屏蔽方式用于开放较低级中断请求用于开放较低级中断请求 在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它低的中断。 用特殊屏蔽方式可以做到: 屏蔽当前中断级(IMR对应位为1); ISR中相应位复位,则较本级低的中断源申请可以得到响应。 28 5. 中断触发方式中断触发方式 边沿触发方式边沿触发方式 引脚IRi上出现上升沿上升沿表示有中断请求。

27、电平触发方式电平触发方式 引脚IRi上出现高电平高电平表示有中断请求。7. 8259A7. 8259A命令字命令字 8259A是可编程中断控制器,对其编程可以分为两部分: 初始化编程:初始化编程:由CPU向8259A送24个字节的初始化命令字 ICW(Initialization Command Word)。 工作方式编程:工作方式编程:由CPU向8259A送三个字节的操作命令字 OCW( Operation Command Word)。 8259A必须必须通过ICW初始化,则处于全嵌套工作方式,在8259A工作期间,OCW规定或设置其工作方式,动态地控制动态地控制CPU处理中断的过程。处理中

28、断的过程。 29先初始化编程先初始化编程( (写写ICW)ICW)一般一次完成。一般一次完成。后工作编程后工作编程( (写写OCW)OCW)工作中可重复多次。工作中可重复多次。1.1.内部寄存器的读写内部寄存器的读写在在CSCS有效时如何进一步寻址内部寄存器有效时如何进一步寻址内部寄存器用地址信号进行片内译码用地址信号进行片内译码对于对于8259A,8259A,只有一条地址线只有一条地址线A A0 0,只能译出两只能译出两个片内地址:奇地址和偶地址个片内地址:奇地址和偶地址 30辅助寻址手段辅助寻址手段特征位:用所写字节的某些位作辅助寻址的特征特征位:用所写字节的某些位作辅助寻址的特征顺顺 序

29、:用写的顺序辅助寻址序:用写的顺序辅助寻址RD/WRRD/WR信号:只读寄存器和只写寄存器合用一个地址,信号:只读寄存器和只写寄存器合用一个地址,用用RD/WRRD/WR信号辅助寻址信号辅助寻址 见见 P P255 255 表表5.45.4初始化完成后,片内奇地址固定用来读中断屏蔽初始化完成后,片内奇地址固定用来读中断屏蔽寄存器寄存器IMR/IMR/写写OCW1OCW1。OCWOCW1 1写到写到IMRIMR中二者内容相等名称混用。中二者内容相等名称混用。 31ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 4 ICW1和和ICW2是必须写的,是必须写的,IC

30、W3和和ICW4由工作方式决定。由工作方式决定。(1) ICW1 主初始化命令字,用偶地址写任何时候,任何时候, 若用若用偶地址偶地址对本片写一个对本片写一个D4=1的字节,的字节, 则理解为写则理解为写ICW1, 即即8259A的初始化开始。的初始化开始。 系统上电时完成初始化,系统上电时完成初始化, 以后一般只作工作编程。以后一般只作工作编程。 32ICW1ICW1启动了启动了8259A8259A中的初始化顺序,中的初始化顺序,自动发生以下事件:自动发生以下事件: 对中断请求信号边沿检测电路复位; 清IMR、ISR; 指定IR0优先级最高; 设定为普通屏蔽方式; 设定为非自动结束中断方式。

31、 33ICW1格式P256 图图5.20 ICW1的作用的作用 IC4SNGL ADILTIM 1 A5 A6 A7 0A0D7 D6 D5 D4 D3 D2 D1 D0偶地址偶地址 1=需要需要ICW4 0=不需要不需要ICW4 1=单片单片 0=级联级联 调用地址间隔:调用地址间隔: 1=间隔为间隔为4,80X86中不用中不用 0=间隔为间隔为8 1=电平触发电平触发 0=边沿触发边沿触发 中断向量地址的中断向量地址的A7A5 (只用于(只用于8080/8085)取)取0识别码识别码ICW1 34例:例:设8259A端口地址20H、21H MOV AL,13H OUT 20H,AL中断为边

32、沿触发,系统中一片8259A,要设ICW4. 35(2) ICW(2) ICW2 2中断类型号,用奇地址写。中断类型号,用奇地址写。 即每个中断源产生中断的类型号。即每个中断源产生中断的类型号。 同一片中同一片中8 8个中断类型号连续个中断类型号连续 (按(按IRIR0707 的序号的序号D D2 2 D D0 0 自动从自动从 000 000 排到排到 111 )111 )。 36当已知某中断源的中断类型码时,应填入当已知某中断源的中断类型码时,应填入ICW2, 其中高其中高5位有效,位有效,低低3位由位由8259A硬件自动产生,故可以是硬件自动产生,故可以是1,也可为,也可为0,但,但一般

33、都用一般都用0。在PC/XT中,T7-T3被编程为00001,则中断类型码的范围为08H-0FH。【例】初始化8259A,中断类型码为8,写入21H端口。MOV AL,08HOUT 21H,AL 1 T3 T4 T5 T6 T7A0奇地址奇地址中断类型中断类型自动填入自动填入IR0 000IR1 001IR7 111 37(3) ICW(3) ICW3 3 级连命令字,用奇地址写。级连命令字,用奇地址写。 多片级连时才用写,单片时不用写。多片级连时才用写,单片时不用写。 主片和各从片的主片和各从片的ICWICW3 3格式不同格式不同, ,分别写。分别写。 每个从片还要分别写。每个从片还要分别写

34、。 38主片D7D5高5位不用,置为0,D2D0位表示从片INT端连接主片的那个引脚,对应关系见表。从片 39第一周期:第一周期:相应的相应的ISRISR位置位置1 1,IRRIRR位复位;位复位;主主片检测被响应的片检测被响应的IRIR端是否接有从片,若有端是否接有从片,若有则送出被响应的从片标识码到则送出被响应的从片标识码到CASCAS2 2 CAS CAS0 0。第二周期:将自己的中断类型号送到数据总第二周期:将自己的中断类型号送到数据总线上供线上供CPUCPU读取读取,如中断源来自从片则是由,如中断源来自从片则是由被响应的被响应的从从片片送出中断类型号送出中断类型号。 40(4) IC

35、W4 多种功能,用奇地址写。多种功能,用奇地址写。 一般嵌套:只响应更高级一般嵌套:只响应更高级 特殊嵌套:同级也可以响应,用于级连特殊嵌套:同级也可以响应,用于级连 41正常正常EOI:每响应一个外部中断,会将每响应一个外部中断,会将8259的的ISR寄存器寄存器相应位置相应位置1,参与以后的优先级比较。,参与以后的优先级比较。用户中断服务程序结尾发用户中断服务程序结尾发EOI命令清除命令清除ISR中中相应位,相应位,8259可以处理后续中断。可以处理后续中断。自动自动EOI:中断响应时:中断响应时8259一送出中断类型号,一送出中断类型号,即自动清除即自动清除ISR中相应位。中相应位。在使

36、用系统中的8259A时,由于操作系统已经做完了初始化编程,用户应遵守其初始化的约定,只作工作编程。 42在写入在写入ICW1ICW1ICW4ICW4后,后,8259A8259A就绪,可接收中就绪,可接收中断请求信号,断请求信号,若不再写入若不再写入OCWOCW,则处于全嵌套中断工作方式。,则处于全嵌套中断工作方式。若需改变上述若需改变上述8259A8259A的中断控制方式,或为了的中断控制方式,或为了屏蔽某些中断,屏蔽某些中断,以及读出以及读出8259A8259A的一些状态信息,如的一些状态信息,如IRRIRR、ISRISR、IMRIMR的内容,则的内容,则必须写入操作命令字必须写入操作命令字

37、OCWOCW。 43(1) OCW(1) OCW1 1 用奇地址写到用奇地址写到IMRIMR中。中。 CPUCPU中的中的IFIF管整个系统管整个系统8259的中断屏蔽字只管本片的中断屏蔽字只管本片的IRIR信号信号 初始化编程完成后,片内奇地址固定用来初始化编程完成后,片内奇地址固定用来读读/写写IMR(OCW1)。P258 图图5.24 OCW1的作用(中断屏蔽字)的作用(中断屏蔽字) 44【例】系统开放IR2,写入8259A的21H端口。IN AL,21HAND AL,11111011BOUT 21H,AL 45R:中断优先权是否循环中断优先权是否循环 0:优先级固定,IR0最高,IR7

38、最低。 1:优先级左循环,当前刚被服务的中断源 轮为最低优先级。SL:特殊循环特殊循环 0:当前被服务中断源循环到最低优先级,D2D0无意义 1:D2D0有效,指出最低优先级的中断源。EOI:中断结束命令中断结束命令 1:使ISR中的相应位复位。当ICW4中的AEOI=0 时,必须给出一个EOI。 0:在ICW4已给出AEOI.D2D0: 给定该系统中最低优先级的编码。 在OCW2给出特殊的中断结束命令时,指明具体要清除当前 ISR中的哪一位。R R,SLSL,EOIEOI三位组合可形成三位组合可形成82598259的几种不同的工作方式的几种不同的工作方式 L0 L1 L2 0 0EOI SL

39、 R 0A0D7 D6 D5 D4 D3 D2 D1 D0(2) OCW2 多种功能,多种功能, 46(2) OCW2 多种功能,多种功能,最常用:中断结束命令(最常用:中断结束命令(EOI)D5=1 P258 图图5.25 OCW2的作用的作用 47【例】向8259A发中断结束命令,端口地址为20H。MOV AL,20HOUT 20H,AL 48随后查询随后查询IR7IR0的状态的状态 49读之前先写读之前先写OCWOCW3 3, , 其其D D2 2D D1 1D D0 0决定后续读(用偶地址)决定后续读(用偶地址)的对象:的对象: D D2 2D D1 1D D0 0=010,=010,

40、读中断请求寄存器读中断请求寄存器IRRIRR。 D D2 2D D1 1D D0 0=011,=011,读中断服务寄存器读中断服务寄存器ISRISR。 D D2 2D D1 1D D0 0=1XX,=1XX,查询外部请求信号,即读查询外部请求信号,即读IRIR7 7IRIR0 0的状的状态态(有则读出的D7为1,且低3位为优先级最高的外部请求编码)。 50( (一一) ) IBM PC/XTIBM PC/XT系统中的连接系统中的连接P260 图图5.27 8259A的连接的连接 51 其中其中第第3 3、4 4句句设置中断向量为设置中断向量为8 8,对照,对照ICWICW2 2 理解自动形成理解自动形成8 8个矢量个矢量8 80FH0FH; 再到附录再到附录8 8理解各个中断矢量表项(理解各个中断矢量表项(P P397397) 用户使用时用户使用时不要再做初始化不要

温馨提示

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

评论

0/150

提交评论