可编程中断控制器A

上传人:cl****1 文档编号:569723194 上传时间:2024-07-30 格式:PPT 页数:75 大小:742.50KB
返回 下载 相关 举报
可编程中断控制器A_第1页
第1页 / 共75页
可编程中断控制器A_第2页
第2页 / 共75页
可编程中断控制器A_第3页
第3页 / 共75页
可编程中断控制器A_第4页
第4页 / 共75页
可编程中断控制器A_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《可编程中断控制器A》由会员分享,可在线阅读,更多相关《可编程中断控制器A(75页珍藏版)》请在金锄头文库上搜索。

1、7.5 可编程中断控制器 8259An8259A的的功能功能n8259的引脚与功能结构的引脚与功能结构n8259A的中断工作过程的中断工作过程n8259A的工作方式的工作方式n8259A的编程的编程n8259A在在IBMPC/XT中的应用举例中的应用举例袄跨靳渭簇梆轴剃拟汕曼昌怖渗倍摇称庸化坚蔚烩玲踊项约泌骏呵塔伙呼可编程中断控制器A可编程中断控制器A17.5 可编程中断控制器 8259A一、功能一、功能nIntel 8259A是是可可编编程程中中断断控控制制器器,配配合合80X86CPU管理可屏蔽中断管理可屏蔽中断n中断优先权的管理中断优先权的管理n中断屏蔽的管理中断屏蔽的管理n中断结束的管

2、理中断结束的管理舒谅育庆谊滩异辨打搁择版怜岩草森汐苇勋俯九剿探役启振舱翼外藻锭偷可编程中断控制器A可编程中断控制器A28259An8259A8259A具体功能具体功能: n1片片8259A可以管理可以管理8级中断,经级连最多可扩展至级中断,经级连最多可扩展至64级级n每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许n在在中中断断响响应应周周期期,可可提提供供中中断断向向量量号号(配配合合I8086 /88 /286/ 386 ),或或相应的调用指令(配合相应的调用指令(配合 I8080/85)。)。n8259A有多种工作方式,可通过初始化编程进行设置。有多种工作方式,可通过初始化编

3、程进行设置。筷相棠派惋栈老嗡付像因滩委袒撒劣入潦郝脊合蓄速熟甲恨筹盅操栽使蓄可编程中断控制器A可编程中断控制器A3二、 8259的引脚与功能结构D7D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优优先先权权判判别别电电路路中中断断服服务务寄寄存存器器控制逻辑控制逻辑尾副晃记囤培庞支责柱柳骤痘啄像襟章傲克涅烬熙心碗贬盼榜羽故啊镊山可编程中断控制器A可编程中断控制器A48259的内部结构1。中断请求寄存器。中断请求寄存器IR

4、Rn保存保存8条外界中断请求信号条外界中断请求信号IR0IR7的请求状态的请求状态nDi位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;为0表示无请求表示无请求2、中断服务寄存器、中断服务寄存器ISRn保保存存正正在在被被8259A8259A服服务务着着的的中中断断源源 (或或已已进进入入中中断断处处理理程程序)。序)。nDiDi位为位为1 1表示表示IRiIRi中断正在服务中;为中断正在服务中;为0 0表示没有被服务表示没有被服务3、中断屏蔽寄存器、中断屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IRi的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断被屏蔽(禁止);

5、为中断被屏蔽(禁止);为0表示允许表示允许8259占用两个端口地址占用两个端口地址A0=1、0(奇地址、偶地址)(奇地址、偶地址)。见见P252 图图8-13 8259A与系统总线的连接与系统总线的连接伴故彭烧讽驰瞬惧奈惮戳伯抿色艘给顾舍霉舰埠咳习谐右厅报疫泰者队逸可编程中断控制器A可编程中断控制器A55. 控制逻辑控制逻辑 控制逻辑电路中,有一组初始化命令字Reg : ICW1ICW4 一组操作命令字Reg: OCW1OCW3。 系统刚开始时,初始化命令字送8259A,以后过程中将保持不变, 操作命令则用来在过程中控制中断操作。 控制逻辑按编程设定方式管理控制逻辑按编程设定方式管理8259A

6、的全部工作。的全部工作。4. 优先权判别电路优先权判别电路 用来识别和管理各中断请求信号的优先级别。6. 数据总线缓冲器数据总线缓冲器 三态缓冲器。8259A与CPU的数据总线接口倾还垃芦雨枣漱皿联爱嗡锅央召挝俞损蘸椰洛沂摈达南朽怕孺滑铝累否角可编程中断控制器A可编程中断控制器A67. 读读/写控制逻辑写控制逻辑 完成来自CPU的读写命令,及与片选信号与片选信号CS与与A0(0或或1)决定访问片内某个)决定访问片内某个Reg。 通过OUT指令指令WR有效,把命令字写入ICW和OCW. 通过IN指令指令RD有效,将IRR、ISR或IMR内容通过数据总线读入CPU。8. 级联缓冲器级联缓冲器/比较

7、器比较器(用于多片用于多片8259之间的连接之间的连接) 主从结构中,作为主设的8259A,CAS2CAS0是输出线,作为从设的8259A,CAS2CAS0是输入线,两者互连。 SP/EN从片编程从片编程/缓冲器允许缓冲器允许信号线,是个双功能引脚。 缓冲器方式缓冲器方式,输出信号,控制缓冲器传送方向。 非缓冲器方式非缓冲器方式,它是输入信号,用于规定8259A是主(SP=1) 还是从(SP=0)。在只有一片8259A的系统中,SP/EN接高电平。拥膘钡翱杉豢澜小皇烯沼锄祁醒笋拧齿宾香邻实途蔓贪徘界哺铝氮憾老砷可编程中断控制器A可编程中断控制器A7三、8259A的中断工作过程 00100000

8、00000000ISRIRRD0D7D0D70 0 0 0 0 0 0 0IMR优先权电路INTINTACPUINTRINTAD2111 0遮台恋刮二屎蝉欧鲁棋田挑叙饯岗鳖子邵用汪谜燃歹钮局淑邹联灶嘿映涸可编程中断控制器A可编程中断控制器A82. 当外设发出中断请求后,其对外部中断请求的处理过程如下: 若有若有IRi=1,则,则IRR中相应位中相应位置置1。 若对应若对应IMR中的相应位为中的相应位为0,则,则8259A向向CPUINTR。 若若IF=1,则,则CPU在执行完当前指令后,发第一在执行完当前指令后,发第一 个个 INTA8259A ISR中对应当前最高优先权的位为中对应当前最高优

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

10、程的工作过程1. 上电后,由CPU执行一段程序对8259初始化(通过输入初始化通过输入初始化命令字实现命令字实现)。完成初始化后,8259A处于 就绪状态 。CPU 进入进入响应中断的过程响应中断的过程,继而执行中断子程序。继而执行中断子程序。魏硅忽缸装龄需秘齿缀碾震夺吾碌繁曲瞥旺盂疯熙墟琶冗甸牧蝴脚亲涤甸可编程中断控制器A可编程中断控制器A98259A的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第第1个总线周期个总线周期T1 T2 T3 T4ALECLK 第第2个总线周期个总线周期T1 T2 T3 T4第第1个个-INTA前保

11、持高电平前保持高电平 INTALOCK中断向量主片输出级联信号从片接收潭直沂匣章晤因稳喂谬把腾昧渝羚危宏弘角息逮胯给卜赋历敛洗帕诵痞殉可编程中断控制器A可编程中断控制器A10四、8259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断方式结束中断方式中断屏蔽方式中断屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方

12、式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式与与CPU配合方式配合方式与与8080/8085 CPU配合配合与与8086/8088 CPU配合配合级连方式级连方式级连级连不级连不级连犬慷培垢淡差蛰究彩赴蟹援驱智监岩犁休巫实惶氧挨抬蛙儒笺衙垢烧填仗可编程中断控制器A可编程中断控制器A111. 设置优先权方式n普通全嵌套方式普通全嵌套方式n8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为:IR0、IR1、IR2、IR7n中中断断请请求求后后,8259A

13、对对当当前前请请求求中中断断中中优优先先权权最最高高的的中中断断 IRi 予予以以响响应应,将将其其向向量量号号送送上上数数据据总总线线,对对应应ISR的的 Di位位置置位位,直直到到中中断断结束(结束(ISR的的 Di 位复位)位复位)n在在ISR的的 Di 位位置置位位期期间间,禁禁止止再再发发生生同同级级和和低低级级优优先先权权的的中中断断,但但允许高级优先权中断的嵌套允许高级优先权中断的嵌套n特殊全嵌套方式特殊全嵌套方式允许同级中断嵌套(用于级连主片)允许同级中断嵌套(用于级连主片)n优优先先权权自自动动循循环环方方式式最最高高优优先先权权自自动动转转移移到到相相邻邻的的低低优优先先级

14、级中断源中断源(P332),如如IR3被响应后,被响应后,IR3最低,最低,IR4最高。最高。n优优先先权权特特殊殊循循环环方方式式优优先先权权由由OCW2设设置置哪哪个个IR最最低低,其其他他的随之确定。的随之确定。虽太喉耗郑卖企草坍隐粟遮越蛹探蛆泽使彭膊抗樟哪农朽碍醇屁烯耕拯兽可编程中断控制器A可编程中断控制器A12 特殊全嵌套方式特殊全嵌套方式(适用于8259级联级联的情况的情况) 级联时,主片 须采用特殊的全嵌套方式。CPUCPU主主主主8259A8259AINTINT从从从从8259A8259AIRIR0 0IRIR1 1IRIR7 7IRIR0 0IRIR1 1IRIR7 7特殊全

15、嵌套特殊全嵌套特殊全嵌套特殊全嵌套普通全嵌套普通全嵌套普通全嵌套普通全嵌套 普通全嵌套方式普通全嵌套方式常用方式,又称全嵌套方式,适用于单片单片 8259的情况。特特特特点点点点: : 和和和和全全全全嵌嵌嵌嵌套套套套方方方方式式式式基基基基本本本本相相相相同同同同,不不不不同同同同的的的的是是是是:在在在在处处处处理理理理某某某某以以以以及及及及中中中中断断断断时时时时,可可可可响响响响应应应应同同同同级级级级中中中中断断断断,从而实现对同从而实现对同从而实现对同从而实现对同 级中断请求的特殊嵌套级中断请求的特殊嵌套级中断请求的特殊嵌套级中断请求的特殊嵌套.止雕讣耶兔宠堡吧灯碴成史藤伊揪棉绳

16、照柔犊旋杯何占景伶铝嗽囚顿裂仙可编程中断控制器A可编程中断控制器A13 主片编程为特殊全嵌套方式: 当处理一级中断时,如果有同级的中断请求,也会给予响应当处理一级中断时,如果有同级的中断请求,也会给予响应。 否则:当从片8259IR2有中断请求,若主片是普通全嵌套方式,则会屏蔽从片上的IR0、IR1(比IR2优先级高)中断请求。 因为从片上的因为从片上的8个个IRi变成了主片的同一级。变成了主片的同一级。 而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。 EOI从从从从ISR是是否全为否全为0 EOI主主NYIRET 在从片的中断处理程序快结束时,应给 8259A发EOI(中断结束)

17、命令,方法是: (a) 向从片发EOI; (b) 读从片的ISR内容: 若为若为0,表示从片只有一个中断源申请中断,再向主片发一个EOI命令。 若不为若不为0,表示从片存在两个以上的中断源在申请中断,则不应发EOI给主片。由丹刺刑规知酪状手殖隅芳寂咒胖咏肛侯觉孵近匿咀郸赠振咆骗桂湾锚辙可编程中断控制器A可编程中断控制器A14(3) 优先权循环方式优先权循环方式 一个系统的优先权比较复杂,所以一个系统的优先权比较复杂,所以不能总规定不能总规定IR0高高 IR7低低。 8259A设计了两种改变优先权的方法。设计了两种改变优先权的方法。 特殊循环方式特殊循环方式适用于中断源的优先级需要任意改变的情况

18、适用于中断源的优先级需要任意改变的情况 通过OCW2命令字设置当前的最低优先级最低优先级IR5,使得有: IR6 IR7 IR0 IR5。自动循环方式自动循环方式 适用于设备的优先权相等情况适用于设备的优先权相等情况 当一个设备受到中断服务后,它的优先级自动降到最低,其相邻的中断请求变成最高的。 例如例如: IR0 IR1 IR2 IR 3 IR4 IR5 IR6 IR7 初始 高高 低低 若IR4有中断请求,处理IR4后,IR5成为最高优先级, 优先级次序为:IR5 IR6 IR7 IR0 IR1 IR2 IR3 IR4 IR4左循环至最低优先级。左循环至最低优先级。 堰造喊诣咖仰雇藻滚胸丧

19、乌爆茄端栏别鱼死襄潮绿洼予铡米焕半蛹委橇蛆可编程中断控制器A可编程中断控制器A152. 2. 结束中断处理方式结束中断处理方式 在中断请求得到响应时,ISR中相应位置1, 中断服务结束时,必须使这个位复位为0以标识中断处理结束。 这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序。 非自动中断结束方式非自动中断结束方式 普通中断结束方式(普通中断结束方式(EOIEOI) 适用于全嵌套方式适用于全嵌套方式 当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。 这个命令加在中断服务程序的末尾处。这个命令

20、加在中断服务程序的末尾处。 自动中断结束方式自动中断结束方式(AEOI)只能用于不要求中断嵌套的情况只能用于不要求中断嵌套的情况 在第二个INTA的后沿,8259A自动把ISR的对应位清0。用用用用于于于于系系系系统统统统中中中中只只只只有有有有一一一一片片片片8259A8259A,多多多多个个个个中中中中断断断断不不不不会会会会嵌嵌嵌嵌套套套套的的的的情情情情形形形形。系系系系统统统统一一一一进进进进入入入入中中中中断断断断处处处处理理理理,就就就就将将将将当当当当前前前前中中中中断断断断服服服服务务务务寄寄寄寄存存存存器器器器ISRISR的的的的对对对对应位清除。对应位清除。对应位清除。对

21、应位清除。对8259A8259A来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。来说,好像已经结束了当前中断。 在命令字在命令字在命令字在命令字ICW4ICW4中将中将中将中将AEOIAEOI(D1D1)位置)位置)位置)位置“1”“1”。寿遗谴宾旦奶墙遗诡潜诸肘穴信栖舵茄挟涎朵肿鲁兄纲滥澡稳诛砂蒲哭较可编程中断控制器A可编程中断控制器A16 不管是普通、还是特殊的中断结束方式,级联系统中的中断结不管是普通、还是特殊的中断结束方式,级联系统中的中断结束必须发送两次束必须发送两次EOI: 一次给从片,一次给主片。一次给从片,一次给主片。 (向从片发(向从

22、片发EOI后,须检查从片中的所有申请中断的源是否全服务过。后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主只有都服务过了,才能向主8259送另一个送另一个EOI命令)。命令)。 特殊结束中断方式特殊结束中断方式非全嵌套方式下非全嵌套方式下 当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。贞咬缅蠕黍概娟庸业妆唐庄披馁诌浇果亥谁翅未呆缸埋唤杀睡斡秀乓涪牺可编程中断控制器A可编程中断控制器A17中断结束字n什么是什么是8259A的的中断结束字中断结束字(EOI)?)?n8259A判断中断服务寄存器判断中

23、断服务寄存器ISR的状态:的状态:n若若某某位位为为1,表表示示该该中中断断源源正正在在得得到到服服务务;一一般般情情况况下下,将将不不再再响响应应同同级级或或低低级级的的中中断断(采采用用特特殊殊屏屏蔽蔽方方式式时时,可响应低级别的中断)可响应低级别的中断)n若若某某位位为为0,表表示示该该中中断断服服务务已已结结束束,可可响响应应低低级级级级别别中断。中断。n用指令向用指令向8259A送中断结束字,可以使送中断结束字,可以使ISR的某位清的某位清0辣哑栓钓陨卤颗詹坊瞒袁喳怎舰墓贴啸毙肌镊呕抚反燃涟粒纺臣候年维擂可编程中断控制器A可编程中断控制器A183. 3. 屏蔽中断源方式屏蔽中断源方式

24、 通过通过IMRIMR编程可允许或禁止中断编程可允许或禁止中断 普通屏蔽方式普通屏蔽方式 通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。 特殊屏蔽方式特殊屏蔽方式用于开放较低级中断请求用于开放较低级中断请求 在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它低的中断。 用特殊屏蔽方式可以做到: 屏蔽当前中断级(IMR对应位为1); ISR中相应位复位,则较本级低的中断源申请可以得到响应。裂纵鸽初尺壬俗骋坞拢皇眼甲锰醛喝呛寓狂婴谦笔谁莱纵翻能尽嗣聚驾箕可编程中断控制器A可编程中断控制器A19屏蔽中断源方式

25、P331n普通屏蔽方式普通屏蔽方式n将将 IMR的的 Di 位位置置1,对对应应的的中中断断 IRi 将将被被屏屏蔽蔽,该中断请求将不能从该中断请求将不能从8259A送到送到CPUn如果将如果将 IMR 的的 Di位置位置0,则允许,则允许对应的对应的中断产生中断产生n特特殊殊屏屏蔽蔽方方式式允允许许发发生生低低级级的的中中断断嵌嵌套套,用于级连时的主片。用于级连时的主片。n将将IMR的的 Di 位位置置1,中中断断IRi被被屏屏蔽蔽;同同时时,ISR的的Di位将置位将置0,允许发生低级的中断。允许发生低级的中断。萄玖旧颖斡扣玉镶护抢锈问宙荷逆肚艺具压闸还狠资科踌勉屁癣析扣端刷可编程中断控制器

26、A可编程中断控制器A204. 与CPU的配合方式n与与8086/8088 CPU配配合合中中断断响响应应时时, INTA信信号号2个个总总线线周周期期有有效效,8259A送送相相应应的的中中断断向向量号量号(1个字节)到数据总线。个字节)到数据总线。8086/88CPU8259A中断向量号中断向量号INTAINTR挥来袖磐晓衣俊凑乎酸勃糕蕴恳肢耐哪任刃骸钞掷淹址胆混倒坎藉宦迹倪可编程中断控制器A可编程中断控制器A215. 级连方式n不级连不级连只用只用1片,如片,如 PC/XTn级连级连使用使用29片,如片,如 PC/AT(2片)片)主片从片-INTAINTRIR0IR7IR7IR0CAS0C

27、AS2=010INTINTD0D7细阐棍璃屯粕司婚饲粤了饥环冠彻靳警潜吕为讽茨绕丢龄屎赡柿栅她隧资可编程中断控制器A可编程中断控制器A22中断级连n8259A可以可以级连级连,1个个主片主片最多可以级连最多可以级连8个个从片从片n级级连连时时,主主片片的的级级连连线线CAS0CAS2连连至至每每个个从从片的片的CAS0CAS2,输出被选中的从片编号输出被选中的从片编号,n每每个个从从片片的的中中断断请请求求信信号号 INT,连连至至主主8259A的的一一个个中中断断请请求求输输入入端端IRi;主主片片的的 INT 线线连连至至CPU的中断请求输入端的中断请求输入端INTRn在在非非缓缓冲冲方方

28、式式下下,引引脚脚SP/EN,通通过过接接地地指指定定该该片片充充当当从从片片(-SP0);反反之之若若接接高高电电平平则则该该片片充当主片(充当主片(-SP1)。)。戍冶惩己墓撩淄扬蚀租讶镶淋毁耍铬迄市玲雷并哺斗诵队尝己酶栋退枫俏可编程中断控制器A可编程中断控制器A236. 数据线连接方式n缓冲方式缓冲方式n对对8259A的的数数据据线线(输输出出中中断断向向量量)加加缓缓冲冲器器予予以以隔离和驱动隔离和驱动nSP/EN引引脚脚作作为为输输出出端端,输输出出允允许许信信号号,用用以以关关闭闭或开启缓冲器或开启缓冲器n非缓冲方式非缓冲方式nSP/EN引脚作为引脚作为输入端输入端n在在8259A

29、级连时,用它选择该芯片充当主片或从片级连时,用它选择该芯片充当主片或从片 汀沃兴牧葵煞誓颇谅刀贾奶邦最驴岿智稚钥铝贾砸篆眶铱迄蹋瓢镁讫萝应可编程中断控制器A可编程中断控制器A247. 中断触发方式n边沿触发方式边沿触发方式n中中断断请请求求输输入入端端出出现现上上升升沿沿为为有有效的中断请求信号效的中断请求信号n电平触发方式电平触发方式n中中断断请请求求端端出出现现高高电电平平为为有有效效的的中断请求信号中断请求信号缕癣儡砧枢趋刁沂冒框唁胶着遏铬甩燃沂声严笛堤释碧茵野奢宴舱炳氓盆可编程中断控制器A可编程中断控制器A26 8259A是可编程中断控制器,对其编程可以分为两部分: 初始化编程初始化编

30、程:由CPU向8259A送24个字节的初始化命令字 ICW(Initialization Command Word)。 工作方式编程:工作方式编程:由CPU向8259A送三个字节的操作命令字 OCW( Operation Command Word)。 8259A必须必须通过ICW初始化,则处于全嵌套工作方式,在8259A工作期间,OCW规定或设置其工作方式,动态地控制动态地控制CPU处理中断的过程。处理中断的过程。五、8259A的编程军卫毛窑凑苍连孪金解禾谊塘曾医杨歉骸苔札帐驱凹禽卖豢袋西袋券各俄可编程中断控制器A可编程中断控制器A27n初始化编程初始化编程n8259A开始工作前写入。开始工作

31、前写入。n用用户户必必须须对对8259A进进行行初初始始化化编编程程。通通过过写写入入初初始始化化命命令令字字ICW对对8259A进行初始化。共有进行初始化。共有ICW1-ICW4。 n工作方式编程工作方式编程n在在8259A工作期间写入,共有工作期间写入,共有OCW1OCW3。n可可以以随随时时向向8259A写写入入工工作作命命令令字字OCW,使使之之按按用用户户设设置的新的工作方式进行工作置的新的工作方式进行工作n用用户户还还可可以以通通过过写写工工作作命命令令字字OCW通通知知8259A,下下面面的的操作要读取操作要读取8259A中的状态信息,以便了解其工作情况中的状态信息,以便了解其工

32、作情况籽捡叭显仅途企妊锯澳币咙陋咯燥癌酌矛侗了簿唁砸凡忠汝卑退蠢厉扁上可编程中断控制器A可编程中断控制器A281. 初始化命令字ICWn8259A在开始工作前必须写入初始化命令字在开始工作前必须写入初始化命令字n初始化命令字初始化命令字ICW最多可以有最多可以有4个:个:ICW1ICW4n必须按照以下顺序必须按照以下顺序依次依次写入写入n其中其中 ICW1 和和 ICW2 是必须的是必须的nICW3和和ICW4是是否否需需要要,由由具具体体的的工工作作方方式式(在在ICW1中中的的设设置置)决定。决定。虞奖老匠褐笺虽缠猿蹬付岔盛帮我缆死泻贰咸飞奶尧纹何嘴聘贿且哪眯伶可编程中断控制器A可编程中断

33、控制器A29ICW1 写入偶地址,A0=01LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意,为为1为为0都可以(建议为都可以(建议为0) 1只能为只能为1,作为标志,表示写的为,作为标志,表示写的为ICW1D3 中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发方式LTIM0,边沿触发方式,边沿触发方式 D1 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式 ,且后边要写且后边要写ICW3D0 是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即,即ICW4规

34、定的位全为规定的位全为0特征:特征:特征:特征:A0=0A0=0,ICW1ICW1中中中中D4=1D4=1 ICW1ICW1启动了启动了启动了启动了8259A8259A中的初始化顺序,中的初始化顺序,中的初始化顺序,中的初始化顺序,自动发生一系列事件自动发生一系列事件自动发生一系列事件自动发生一系列事件尔泵雨亡肋鸽特州黑萍耪先舶诉闷纵祖剪酌奈通刘毕铡乞打窄岗顿煎川馈可编程中断控制器A可编程中断控制器A30ICW1启动了启动了8259A中的初始化顺序,自动发生中的初始化顺序,自动发生一系列事件一系列事件n 对中断请求信号边沿检测电路复位;n 清IMR、ISR;n 指定IR0优先级最高;n 设定为

35、普通屏蔽方式; n 设定为非自动结束中断方式。碰镀娘奇醇列哗蛀眠嫁隘权峰过戎络连炯困剿王才毯逛驼闭双峙花鸽亲翟可编程中断控制器A可编程中断控制器A31ICW2 写入奇地址 A0=1T7T6T5T4T3D7D6D5D4D3D2D1D0设置中断向量号设置中断向量号 T7T3为中断向量号的高为中断向量号的高5位位 低低3位由位由8259A自动确定:自动确定: IR0为为000、IR1为为001、IR7为为111期疙抠篆痞跨低栈囤戍斌揖肉溉吸坐脉仙铀庙陨硝簿吵谈惩池掂昔搞恐咀可编程中断控制器A可编程中断控制器A32ICW3 写入奇地址 A0=1S7S6S5S4S3S2ID2S1ID1S0ID0D7D6

36、D5D4D3D2D1D0针对从片针对从片针对主片针对主片级连命令字级连命令字主片主片:Si1,说明其对应引脚,说明其对应引脚IRi 上连接有上连接有从片;否则引脚从片;否则引脚IRi上没有连接从片上没有连接从片从片从片:ID0ID2 编码说明该从片的编码说明该从片的INT引引脚接到了主片上的哪个脚接到了主片上的哪个IRi引脚引脚财欢诵夸答摆滁杭娶萄右芋潍省龟谅泊艳榜牡夷径怯顷慎疵茵逃那伦涯吕可编程中断控制器A可编程中断控制器A33ICW4 写入奇地址 A0=1000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0SFNM 嵌套方式:嵌套方式:特殊全嵌套方式(特殊全嵌套方式(SF

37、NM1)普通全嵌套方式(普通全嵌套方式(SFNM0)BUF 数据线的缓冲方式:数据线的缓冲方式:缓冲方式(缓冲方式(BUF1)非缓冲方式(非缓冲方式(BUF0)M/S :主片主片/从片选择:从片选择:主片(主片(M/S=1)从片(从片(M/S=0)AEOI 中断结束方式:中断结束方式:自动中断结束(自动中断结束(AEOI1)非自动中断结束(非自动中断结束(AEOI0)微)微PM处理器类型:处理器类型:16位位80x86( PM1)8位位8080/8085( PM0)肋朋蒂虹南尚哆坏聂靠帅玫募囤盔肯寓婿走嗓陕夷赋撅锤铲桩柿房筐吝咀可编程中断控制器A可编程中断控制器A34写写ICW1 A0=0,D

38、4=1写写ICW2 A0=1SNGL=1 IC4=1写写ICW3 A0=1写写ICW4 A0=1是是否否是是否否按顺序对按顺序对A0=1端端口写入命令字口写入命令字8259A芯片的初始化流程苍啸芽傈锨祟揭懦贞廉殖羌虑胶整苛霖焚凛署氮辊青暂扔娜皇膨中巧赚鳖可编程中断控制器A可编程中断控制器A35初始化主片8259Amov al,11h;写入写入ICW1out 20h,alintr1:mov al,08h;写入写入ICW2out 21h,alintr2:mov al,04h;写入写入ICW3out 21h,alintr3:mov al,1h;写入写入ICW4out 21h,al中断控制器的初始化程

39、序段PC机上机上8259地址:地址:20h-21h疮券遗疙沽士釜熬跃铆宜苗就瓦届驱坠护谴揍备宿吕胆姬袁抖剔蜀夏收檬可编程中断控制器A可编程中断控制器A36初始化从片8259Amov al,11h;写入写入ICW1out 0a0h,alintr5: mov al,70h;写入写入ICW2out 0a1h,alintr6: mov al,02h;写入写入ICW3out 0a1h,alintr7: mov al, 01h;写入写入ICW4out 0a1h,al中断控制器的初始化程序段该题中该题中8259的两个地址:的两个地址:0a0h、0a1h吾靳腰豌借蹿物唬睫竟犹虚欺垮蕾惩胃躁俺估酱锨但灶情炳傅苹

40、诱看渠诲可编程中断控制器A可编程中断控制器A372. 工作命令字OCWn8259A工工作作期期间间,可可以以随随时时接接受受工工作作命命令令字字OCWnOCW共有共有3个:个:OCW1OCW3n写写入入时时没没有有顺顺序序要要求求,需需要要哪哪个个OCW就就写写入入那个那个OCW 在写入在写入ICW1ICW4后,后,8259A就绪,可接收中断请求信号,就绪,可接收中断请求信号,若不再写入若不再写入OCW,则处于,则处于全嵌套中断工作方式全嵌套中断工作方式。 若需改变上述若需改变上述8259A8259A的中断控制方式,或为了屏蔽某些中断,的中断控制方式,或为了屏蔽某些中断,以及读出以及读出825

41、9A8259A的一些状态信息,如的一些状态信息,如IRRIRR、ISRISR、IMRIMR的内容,则的内容,则必须写入操作命令字必须写入操作命令字OCWOCW。艘哮户鼠川攀呆空膏驰猾万氢棠酬窟噬秆挞滔阜悟氰没圭纳诅讨哮矩胶峡可编程中断控制器A可编程中断控制器A38OCW1 写入奇地址M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字其内容将写入中断屏蔽寄存器其内容将写入中断屏蔽寄存器IMR Mi=1,则禁止对应,则禁止对应IRi中断;中断; Mi=0,则允许对应,则允许对应IRi中断。中断。 各位互相独立。各位互相独立。nnOCW1OCW1可可可可放放置置于于

42、程程序序的的任任何何地地方方,实实现现对对某某些些中中断断的的屏屏蔽蔽或开放,也就实现了对优先权的改变。或开放,也就实现了对优先权的改变。塑严障杯愧锗是墒淘遁屁涸僳允肖土驭滔浩莹亡浅霍韧赠氓艳汾窘芯秦济可编程中断控制器A可编程中断控制器A39OCW2 写入偶地址RSLEOI00L2L1L0D7D6D5D4D3D2D1D0L2L0的的3位编码位编码指定指定IR引脚引脚 R、SL和和EOI配合使用配合使用产生中断结束产生中断结束EOI命令和改变命令和改变优先权顺序优先权顺序OCW2标志标志发中断结束命令字发中断结束命令字控制中断优先权的循环控制中断优先权的循环OCW2标志标志贺乌水肪骚暂莽鬼笆捏漆

43、酶荧蝶蓉漠堑糟逮详伟篱我醇昌籍呈凶逞椭暗苔可编程中断控制器A可编程中断控制器A40OCW2(中断结束和优先权循环控制字)(中断结束和优先权循环控制字) 设置优先级是否循环,循环的方式,中断结束的方式。 L0 L1 L2 0 0EOI SL R 0A0D7 D6 D5 D4 D3 D2 D1 D0偶偶地地址址8259A的几种的几种不同工作方式不同工作方式OCW2标志位标志位0 0 00 0 11 1 01 1 1 系统中最系统中最低优先级的低优先级的编码编码SL1时,时,要清除要清除ISR中中的哪一位。的哪一位。中断优先方式:中断优先方式:1 按左循环方式按左循环方式0 非循环方式非循环方式 I

44、R0(高高) IR7(低低)决定决定L2L1L0是否有效:是否有效:1 有效,指出最低优先级有效,指出最低优先级0 无效,当前被服务的中无效,当前被服务的中 断源左循环到最低优先断源左循环到最低优先 级级 。 中断结束命令位:中断结束命令位:1 ISR中相应位复位中相应位复位0 在在ICW4中给出中给出 AEOI厌舶袜派捡袁撤绝乱攻碰怖尔傲以爷涎匹辅拽百癸佛讥袒姬建镑慑瓣食脐可编程中断控制器A可编程中断控制器A41族阶司膛疟冰实到竖茸闺锈妮劳渤李彼亚缅厩器陌报骨倾翠渠瞥州长痈搅可编程中断控制器A可编程中断控制器A42OCW3 写入偶地址0ESMMSMM01PRRRISD7D6D5D4D3D2D

45、1D0ESMM、SMM设置中断屏蔽方式设置中断屏蔽方式P、RR和和RIS规定随后读取的状态字含义规定随后读取的状态字含义OCW3标志标志畦不队刷慑茨讳穆纂在宦伯坷融旱卧吕羹嘛笛患昧际幻懊撇吉系琐宇冤蜕可编程中断控制器A可编程中断控制器A43RIS RR P 1 0SMMESMM 0 0A0D7 D6 D5 D4 D3 D2 D1 D0偶偶地地址址未定义,未定义,常取常取0OCW3标志标志是否工作是否工作于特殊屏蔽于特殊屏蔽模式模式1 中断查询命令中断查询命令0 非查询命令非查询命令 在下一个在下一个RD脉冲脉冲1 0 读读IRR(从(从A001 1 读读ISR 端口)端口)决定下一个决定下一个

46、操作是否是操作是否是读操作读操作1 0 复位复位1 1 置置 特殊屏蔽特殊屏蔽OCW3(屏蔽和读状态控制字)(屏蔽和读状态控制字) 设置和撤消特殊屏蔽方式设置和撤消特殊屏蔽方式 D6 D5 1 0 复位为普通屏蔽方式复位为普通屏蔽方式 1 1 置为特殊屏蔽方式置为特殊屏蔽方式 设置中断查询方式设置中断查询方式 查询外部事件是否有中断请求查询外部事件是否有中断请求. i)写)写OCW38259A,其中,其中D2=1 ii) 读查询字(对同一地址)读查询字(对同一地址)未缘惧续谴敖晦嗜俊勇翅梗虞吗衫慕前筐叮瘪硬得追跃综甚军憨煮兼畸桓可编程中断控制器A可编程中断控制器A442。查询字: 在OCW3的

47、D2位P为1后的下一个读命令,查询为外设服务iW2W1W0D7D6D5D4D3D2D1D0中断位中断位I位为位为1,有外设请求中断有外设请求中断 W2W0的编码的编码 当前中断请求的最高优先级当前中断请求的最高优先级CPU内部禁止中断时,或不想用INT 引脚向CPU 申请中断时,可通过查询字获得外设中断请求情况。肿怔男影似件义邀惫酋首沽掐颊挚浅脓挎牧研们闽详钧橱限蔑闻阶恳房该可编程中断控制器A可编程中断控制器A453. 读取状态字nCPU可可随随时时读读出出IRR、ISR、IMR和和查查询字询字nA0为低(偶地址)时为低(偶地址)时n由由OCW3中中RR和和RIS位位编编码码决决定定读读取取的

48、的是是IRR或或ISR,n由由OCW3中中P=0位决定下面读取的是位决定下面读取的是nA0为高(奇地址)时,读取的是为高(奇地址)时,读取的是IMR唆相蜀掖仲昆掘豁干犊胡蓑剔剃虱跌潦垛组让咏妹窟给稍况赐叉个帧胆彭可编程中断控制器A可编程中断控制器A468259A的端口 CS A0 RD WR功能功能 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 写入写入ICW1、OCW2和和OCW3写入写入ICW2ICW4和和OCW1读出读出IRR、ISR和查询字和查询字读出读出IMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态壳受部蛤砸饶掺帽啮驻孰麻痒巨

49、妈渠庶粱眨忘九驼关卤村辫魂敦蒸协赵腊可编程中断控制器A可编程中断控制器A474. 命令字和状态字的区别方法 利利用用读读写写信信号号区区别别写写入入的的控控制制寄寄存存器器和和读读出出的的状态寄存器状态寄存器 利用利用地址信号地址信号区别不同区别不同I/O地址的寄存器地址的寄存器 由由控制字中的控制字中的标志位标志位说明是哪个寄存器说明是哪个寄存器 由由芯芯片片内内顺顺序序控控制制逻逻辑辑按按一一定定顺顺序序识识别别不不同同的的寄存器寄存器 由由前前面面的的控控制制字字(引引导导字字)决决定定后后续续操操作作的的寄寄存器存器接口电路中常用的方法接口电路中常用的方法挛撒俗信嘘聋戮氓岭但畏悬可猫亿

50、鬼芜贼步恭烃蠢豹呼丽屏质驳瘦殴虫懦可编程中断控制器A可编程中断控制器A488259A在IBM PC/AT上的应用CAS02CAS02+5V主主8259A80286 CPUINTRD0D7SP/ENINTD0D7日时钟日时钟键盘键盘串行口串行口2串行口串行口1并行口并行口2软盘软盘并行口并行口1A0-INTR1 CS IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 A0 CS 从从8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0-INTR2 CS IRQ8 IRQ9 IRQ10 IRQ

51、11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS系统总线系统总线B25B24B23B22B21系统总线系统总线B4D3D4D5D6D7INTARDWRINTAIORIOWINTARDWR-S0 -S282288晦筒嫩释饯仁伐株撇僵捡舀卤代料燎舅犬捎簧唉迭顾时酶量朴灼线塘匿别可编程中断控制器A可编程中断控制器A50PC机中8259A应用注意事项n利用利用上升沿上升沿做为中断请求做为中断请求IRQ的有效信号的有效信号nIRQ0IRQ7中断向量号依次为中断向量号依次为08H0FHnIRQ8IRQ15中断向量号依次为中断向量号依次为70H77H( PC/AT机)机)n采采用用普普通通全

52、全嵌嵌套套优优先先权权方方式式,中中断断优优先先权权从从高高到到低低顺顺序序为为IRQ0IRQ2、IRQ8IRQ15(级级连连从从片片)、IRQ3IRQ7,且不能改变,且不能改变n采采用用普普通通中中断断结结束束EOI方方式式,需需在在中中断断服服务务程程序序最最后后发发送送普通普通EOI命令命令n一一般般采采用用普普通通屏屏蔽蔽方方式式,通通过过写写IMR相相应应位位为为0允允许许中中断断,应注意不要破坏原屏蔽状态。应注意不要破坏原屏蔽状态。鹊充另耽憎掣条癣镍貌搏杨麓军轩越盎荆均芜瓷擂骆梭雁阎跪舷抗旱卤符可编程中断控制器A可编程中断控制器A51外部中断服务程序n编写外部可屏蔽中断服务程序,需

53、注意:编写外部可屏蔽中断服务程序,需注意:n中中断断服服务务结结束束时时应应向向8259发发送送中中断断结结束束命命令令EOI(OCW2)n一般只能采用一般只能采用存储单元存储单元来来传递参数传递参数n不不能能使使用用DOS系系统统功功能能调调用用(DOS为为单单用用户户单单任务操作系统,不能重入)任务操作系统,不能重入)n中中断断服服务务程程序序要要尽尽量量短短小小,以以免免影影响响系系统统的的实实时性时性底挎摈浴尸姥脑杯淮直涕驳国凯肺战诗棘袁禽著幅堵徊赎六持哪谋茅拈胁可编程中断控制器A可编程中断控制器A52外部中断服务程序(续)n编写主程序,需注意:编写主程序,需注意:n修改中断向量修改中

54、断向量n控制控制CPU的中断允许标志的中断允许标志n设置设置8259A的中断屏蔽寄存器的中断屏蔽寄存器霓纳包颗蒂式狂襄仗慌蓝枷试善穷淹闯凭烙监义穗刨入凛况睦被舰翁烬芯可编程中断控制器A可编程中断控制器A53例题: 可屏蔽中断服务程序n在在PC机中:机中:n8259A的的IRQ0(向向量量号号为为08H)中中断断请请求求来来自自定时器定时器8253,每隔,每隔55ms产生一次定时中断产生一次定时中断n该该例例的的 08H 号号中中断断服服务务程程序序将将显显示示一一个个字字符符串串, 10次中断共显示次中断共显示10个字符串个字符串n用用内内存存单单元元(共共享享变变量量)在在主主程程序序与与外

55、外部部中中断断服务程序之间传递参数:服务程序之间传递参数:中断发生的次数中断发生的次数n显示信息安排在共同的数据段中显示信息安排在共同的数据段中藩仪忽拱煽戈骗掺实们炳辅洒儒上闯础桅皿真坪奸惧心促澜磺当躁欣幌女可编程中断控制器A可编程中断控制器A54数据段intmsgdb A 8259A Interrupt !db 0dh,0ah,0counterdb 0例7.2浮手尽离绘验耸腆捶龋差遭易躲藏力桶泼卜撰奋罢颇锰铲甫有才袋屉雁歪可编程中断控制器A可编程中断控制器A55保存中断向量mov ax,35 08hint 21hpush bx;保存偏移地址保存偏移地址push es;保存段基地址保存段基地址

56、例7.2浑币伊畜瓜焉辛滴翅涩颗斗潮憨糯合钥洪军清戳信瘦氰训摊操减入菱冲饯可编程中断控制器A可编程中断控制器A56设置中断向量clipush ds ;保护保护dsmov dx,offset new08h ;中断入口地址中断入口地址mov ax,seg new08hmov ds,axmov ax,25 08hint 21hpop ds ;恢复恢复ds例7.2估耐猜惮傣埃顷扑切咕墨澜懊吨鹏膳瓣独椽送匙舶腔硷更粗芒怒缘骡钢谴可编程中断控制器A可编程中断控制器A57设置中断寄存器in al,21h ;读读IMRpush axand al,0feh ;允许允许IRQ0(接(接8253)out 21h,al

57、mov counter,0 ;设置中断次数初值设置中断次数初值sti ;开中断开中断例7.2痕半啥较虚棍哺体笨街熄轧梗栗升貉梆渣阂服哨豌馅尺逆鼠埂辣蹋期惺绎可编程中断控制器A可编程中断控制器A58循环等待中断start1:cmp counter,10jb start1;中断中断10次退出次退出例7.2就在主程序循环当中就在主程序循环当中匿源芥卵戳毡匠杠砧旷脚弧铃悍渍凡析抚舔艰划昔卜已痒圣柄墨瘤馅玫庞可编程中断控制器A可编程中断控制器A59new08hprocsti;开中断开中断push ax;保护寄存器保护寄存器push bxpush dsmov ax,datamov ds,ax;设置数据段设

58、置数据段DS例7.2进入中断服务程序电狼篆鸳淋瘸善詹隅昆辕淀扩呻充沪堑途焉尼柏惹骄茫仲湾邢叁荣磅默揍可编程中断控制器A可编程中断控制器A60中断处理inc countermov si,offset intmsg;显示信息显示信息call dpstri例7.2驹侨受舅逛笨沛陋荣严籽躬擎痰鳞敷若碴苔纠够末良买钓货晃挽枷绪原百可编程中断控制器A可编程中断控制器A61显示字符串dpstriproc ;显示字符串子程序显示字符串子程序push axpush bxdps1:lodsb ;取一字符取一字符cmp al,0;判是否结束标志判是否结束标志jz dps2例7.2疟剔酸空瓜恒悲式火骋郊乾斗枚顾廓乎坪

59、庆妒佩薯梗萎蜒扫毕悍秦乃腐茧可编程中断控制器A可编程中断控制器A62显示字符串(续)mov bx,0mov ah,0ehint 10hjmp dps1dps2:pop bxpop axretdpstriendp例7.2伯镰桥涛瘦字砷蝇吕夸欣查煽塔讳鼓莉桐栖攀席榔眠穷四最呜租翅幕啼氟可编程中断控制器A可编程中断控制器A63退出中断服务程序mov al,20h ;送中断结束字送中断结束字out 20h,alpop ds ;恢复寄存器恢复寄存器pop bxpop axiret ;中断返回中断返回new08hendp例7.2累烽膘起销赞者狐恬槛吐软誉尊岛通炙罪骂萧协踌士猩酪岂拦弗澳婴羞桃可编程中断控制

60、器A可编程中断控制器A64主程序结束clipop axout 21h,alpop dxpop dsmov ax,25 08hint 21hstimov ax,4c00hint 21h例7.2A 8259A Interrupt !A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt !A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! 葛宋逝孽睬蹿豁

61、嫡分觅腆抒锅药甄嘲勒穷煽危稗稀敦纬箍逊帆欣伏规那志可编程中断控制器A可编程中断控制器A65驻留中断服务程序n内存驻留内存驻留TSR (Terminate and Stay Resident) 程序程序n应应用用程程序序运运行行后后仍仍然然保保存存在在主主存存中中,可可以以被被其其他程序调用他程序调用n利用利用DOS功能调用功能调用 31H 代替代替 4CH 终止程序终止程序n小小型型驻驻留留程程序序常常编编写写成成.COM程程序序,但但驻驻留留程程序序也可编成也可编成.EXE程序程序n需需要要驻驻留留内内存存的的程程序序段段要要书书写写在在其其他他代代码码的的前前面面逻嫩赦痞鱼肿荤瑰弥但绘滚自

62、只酮倍恩夜滇堂阔由夜漏雏烦骨娩临丧秃疥可编程中断控制器A可编程中断控制器A66例题: 报时中断驻留服务程序n在在PC机中机中n系统系统 08H 号中断服务程序调用号中断服务程序调用 INT 1CH 指令中断指令中断n每每隔隔55ms调调用用这这个个报报时时中中断断,中中断断65543次次就就是是时时间间过过了了1小时小时n该该例例编编写写驻驻留留内内存存的的 INT 1CH 中中断断服服务务程程序序用用于于整整点点报时,程序功能是每过报时,程序功能是每过1小时显示小时显示1条信息条信息n执行此程序后,该报时中断服务程序将驻留内存执行此程序后,该报时中断服务程序将驻留内存注意:因注意:因 655

63、43=65536+7,假定用,假定用2个字来记个字来记录中断发生的次数,则每经过录中断发生的次数,则每经过1小时有:小时有:高字高字=高字高字+1低字低字=低字低字+7 低字能被低字能被7整除时表示时间为整点整除时表示时间为整点靳蜂箍镇兴铅齿妻多亿责谆头赊尝内颂说骏瞩魁厘盆乖镭丘屏牢瞩铸撕响可编程中断控制器A可编程中断控制器A67new1chprocsti ;开中断开中断push si ;保护寄存器保护寄存器push dsmov si,cs ;com程序程序数据和代码共段数据和代码共段mov ds,si ;设置数据段设置数据段DSadd countl,1 ;处理低字处理低字adc counth

64、,0 ;处理高字处理高字例7.3进入中断服务程序惟天鲁桥茂饵盘冈翟京自橱盒势表柏疗靴瞎壶控刁磁褪希捎岿桶诅批挪踞可编程中断控制器A可编程中断控制器A68中断处理cmp countl,7 ;低字为低字为7否否jnz n1ch1cmp counth,1 ;高字为高字为1否否jnz n1ch1mov countl,0 ;计满计满1小时小时mov counth,0mov si,offset intmsgcall dpstri例7.365543=65536+7=高字高字1H / 低字低字7H蹲怒砂悟皇饲碌序味叁短赶蔬昌探来故驮掩熊宏郭箍剃总方敲尼睛蔓搓谍可编程中断控制器A可编程中断控制器A69退出中断服

65、务程序n1ch1:pop ds;恢复寄存器恢复寄存器pop siiret;中断返回中断返回countldw 0 ;数据数据counthdw 0intmsgdb One Hour Has Passed ! db 0dh,0ah,0new1chendp例7.3One Hour Has Passed !One Hour Has Passed ! 毕发霉碑傈湍负毫趾抓椽锐豫逢恶耐晒早碘诲丧于犬漏鞋梆溪御泳呈掣滓可编程中断控制器A可编程中断控制器A70显示字符串dpstriproc ;显示字符串子程序显示字符串子程序push axpush bxdps1:lodsbcmp al,0jz dps2例7.3潞

66、旺拘犯趾捆浮龟签祝堰擞葵翌锐膳怖读垦碳早友祟万尘隐蝴屉堑魄赡色可编程中断控制器A可编程中断控制器A71显示字符串(续)mov bx,0mov ah,0ehint 10hjmp dps1dps2:pop bxpop axretdpstriendp例7.3散最音喀踞椽席颜埂徒宗氮让伪站试磋余羊安造芍掩浊劲奋闪待吁瓜荡触可编程中断控制器A可编程中断控制器A72主程序开始start:mov ax,csmov ds,axmov dx,offset new1chclimov ax,25 1chint 21hstimov dx,offset tsrmsgmov ah,09hint 21h例7.3整拒掷韩帖各

67、栏牺皑瓜吝擦背盒除脯港现磊迁教地迪蹭谍棕被净浴情崇卞可编程中断控制器A可编程中断控制器A73主程序结束mov dx,offset start ;计算驻留内存的边界计算驻留内存的边界add dx,15 ;以以“节节”(16B)为单位处理为单位处理mov cl,4shr dx,cladd dx,10h ;加程序段前缀开销加程序段前缀开销256Bmov ax,31 00h ;程序驻留程序驻留int 21htsrmsgdb INT 1CH Program Installed !db 0dh,0ah,$end start例7.3INT 1CH Program Installed ! 闭祝喊吐滓砍罢骸揪续

68、担澡树哮梢蹭素呕牲洞活失主挚煞殿坎轧啥苛眷退可编程中断控制器A可编程中断控制器A74第8章教学要求1. 掌掌握握中中断断的的基基本本概概念念。(中中断断、CPU响响应应中中断断的的条条件件、CPU响响应应中中断断的的过过程程、中中断断优优先先权权)。表表2. 掌掌握握8088的的中中断断类类型型、中中断断响响应应过过程程、中中断断向向量表。量表。3. 掌掌握握8259的的功功能能、特特点点。理理解解8259A的的内内部部结结构、寄存器作用、中断过程、命令字。构、寄存器作用、中断过程、命令字。4. 掌掌握握8259A的的普普通通全全嵌嵌套套优优先先权权、普普通通中中断断结结束、边沿触发方式束、边沿触发方式5、熟悉内部、外部中断服务程序的编写。、熟悉内部、外部中断服务程序的编写。第灿太悸伸囤践眶箔堵铅件母股孰烂修埂捷坷谰深攻薄呻栽受莹户蓖域损可编程中断控制器A可编程中断控制器A75

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号