微型计算机输入输出和中断.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机输入输出和中断

* * * * * * * * * * * * * * 4. 程序查询方式 CPU利用查询命令(OCW3中D2=1)获得当前请求服务的优先级。此时8259A内部仍进行8级中断请求的判优和屏蔽管理。查询命令发出后,执行一条输入指令,可得到查询字。 D7=1 有中断请求 D7=0 无中断请求 当前发出中断请求级别最高的中断信号 * 5. 中断结束命令 根据不同的工作方式8259A可以有几种不同的结 束方法。 (1)自动中断结束方式(AEOI) 特点:中断服务寄存器ISR的相应位清零是由硬件自动完成的。当某一级中断被CPU响应后,CPU送回第一个INTA中断响应信号,使ISR的相应位置1,当第二个INTA负脉冲结束时,自动将ISR的相应位置0。 实现方法:通过将ICW4的D1位设置为1实现。 使用环境:适用不要求中断嵌套的情况。 * (2)非自动中断结束方式(EOI) 特点:中断返回前,必须用指令向8259A发中断结束命令,即使ICW4的D1=0。若级连,发2个。 方法:首先将ICW4的D1=0,定为正常中断结束方式,然后用OUT向8259A的偶地址端口输出OCW2操作控制字(OCW2的D7D6D5=001),实现自动结束命令。 使用环境:一般的中断结束方式只能应用于全嵌套方式下,不能用于优先级自动循环方式和优先级特殊循环方式。因为一般中断结束方式结束的中断是尚未处理完的级别最高的中断。若中断级别改变,会使整个中断过程混乱。 * (3)特殊中断结束方式 特点:通过用指令发一中断结束命令,同时给出结束中断的中断源是哪一级,使该中断源的中断服务寄存器ISR的相应位置0。 使用环境:可应用在任何情况下,但要在中断处理中给出中断结束命令。 使用方法:首先将ICW4的D1=0,定为正常中断结束方式,然后通过将OCW2的D7D6D5=011或111,D2D1D0位指出结束中断处理的中断源号,使该中断源在中断服务寄存器ISR中的相应位清零。 * 6. 读8259A 的状态 8259A的IRR、ISR、IMR的状态,可通过读命令读入CPU,供用户了解8259A的工作情况。 (1) 在读命令之前,输出一个OCW3,令其RR=1,RIS=0(D1D0=10),可利用读命令读入中断请求寄存器IRR的状态。若RR=1,RIS=1(D1D0=11),可利用读命令读入中断服务寄存器ISR的状态。 (2) 对奇地址端口(A0=1)进行读操作,可读得中断屏蔽寄存器IMR的值。 * 7. 5.5 由多片8259A组成的主从式中断系统 在一个系统中若中断源多于8个,必须采用多片8259A进行级连。其中有一片主8259A,若干片从8259A,可把中断源扩展到64个。 7 * 7.5.6 8259A的编程实例 1.初始化编程 例7-1:对IBM PC/XT机中使用的8259A初始化编程。硬件连 接如图。 7 * 设置ICW1为边沿触发,单片8259A需要ICW4。 方式字: MOV AL,13H ; OUT 20H,AL 设置ICW2 类型码为(IR0) MOV AL,08H ; OUT 21H,AL 设置ICW4,全嵌套方式,缓冲方式,正常EOI 。 方式字: MOV AL,0DH ; OUT 21H,AL 根据系统要求初始化编程如下: 在IBM PC机中,只有一片8259A,可接外部8级中断,8259A的端口地址为20H和21H。对8259A的初始化规定:边沿触发方式,缓冲方式,中断结束为EOI命令方式,中断优先权管理采用全嵌套方式。8级中断源类型码为08H-0FH。 * 初始化完成后,8259A处于全嵌套工作方式,可以响应外部中断。根据要求设置8259A的操作命令字OCW1~OCW2 (1)如允许时钟,键盘,异步通信卡(COM1)中断,设置OCW1为0ECH(屏蔽字) MOV AL,0ECH OUT 21H,AL (2)由于正常EOI,因此在中断服务程序结束后,返回断点前必须对OCW2写即20H作结束中断操作命令。 MOV AL,20H ;设置OCW2的值为20H OUT 20H,AL  IRET ;中断返回 * 欢迎辞 * * * * * * * * * * * * * * * * * * * * * * * 例:中断类型码为20H(32)的中断源所对应的中断服务程序

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档