- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6-2 80X86中断系统 3)优先级自动循环方式:初始队列IR0最高,IR7最低,当任何一级中断被处理后则其优先级变为最低, IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR4 IR5 IR6 IR7 IR0 IR1 IR2 IR3 中断被响应,则级别变最低 4)优先级特殊循环方式: 编程指定初始队列最低优先级,其它依次排列 (级别最高) (级别最低) (级别最低) (级别最高) 6-3 可编程中断控制器8259A 6-3 可编程中断控制器8259A 2、中断结束方式 分为:正常中断结束 自动中断结束 IR0 IR4 IR6 IR7 IR1 IR2 IR3 IR5 INTA INT ISR 1 0 ISR-中断服务寄存器 ISRi=“1”,正在为 IR2服务 ISRi=“0” ,表示服务结束; IR0 IR4 IR6 IR7 IR1 IR2 IR3 IR5 INTA INT 8259A ISR 1 0 1 2 1)中断自动结束方式(AEOI命令方式): 第二个INTA的后沿使8259A优先级最高的ISRi=0。适用于无中断嵌套的系统 CPU INTR INTA 6-3 可编程中断控制器8259A IR0 IR4 IR6 IR7 IR1 IR2 IR3 IR5 INTA INT 8259A ISR 1 0 EOI命令 2)正常中断结束方式(EOI命令方式): 中断返回IRET之前 向8259A发出中断结束命令,分为 普通EOI命令和特殊EOI命令: : 中断 服务 程序 MOV AL,20H OUT 20H,AL IRET 6-3 可编程中断控制器8259A 正常EOI命令: 使优先级最高的ISRi=0(最后一次响应和处理的中断),适用于完全嵌套方式下的中断结束。 特殊EOI命令: 指定所清除的ISR位,处于从片的8259A没有工作在完全嵌套方式时使用。 R SL EOI 0 0 L2 L1 L0 OCW2 特殊方式IR编码 000 对应 IR0端 001 对应 IR1端 010 对应 IR2端 011 对应 IR3端 100 对应 IR4端 101 对应 IR5端 110 对应 IR6端 111 对应 IR7端 1=正常EOI 1=特殊 6-3 可编程中断控制器8259A 普通屏蔽方式:IMRi=1,该位被屏蔽; IMRi=0,且该位优先级高,则允许中断 IR0 IR4 IR6 IR7 IR1 IR2 IR3 IR5 INTA INT 8259A IMR 0 IMR: 中断屏蔽寄存器 3、屏蔽中断源的方式: 6-3 可编程中断控制器8259A 特殊屏蔽方式:IMRi=1,该位被屏蔽; 而IMRi=0的位无论优先级高低均可以中断。 1 1)边沿触发: IRi从低电平变为高电平,表示中断请求; 2)电平触发:IRi为高电平,表示中断请求,IRRi置1 IRR中断请求寄存器 4、中断触发方式 IR0 IR4 IR6 IR7 IR1 IR2 IR3 IR5 INTA INT 8259A IRR 3)中断查询方式:超过64个中断请求信号时使用。 6-3 可编程中断控制器8259A 1、初始化编程: 编写初始化命令字ICW1~ICW4, 确定工作方式 2、操作方式编程: 编写操作命令字OCW1~OCW3, 对8259A控制 A7 A6 A5 1 LTIM ADI SNGL IC4 T7 T6 T5 T4 T3 X X X S7 S6 S5 S4 S3 S2 S1 S0 0 0 0 0 0 ID2 ID1 ID0 0 0 0 SFNM BUF M/S AEOI ?PM ICW1 ICW2 ICW3 ICW4 M7 M6 M5 M 4 M3 M2 M1 M0 R SL EOI 0 0 L2
文档评论(0)