- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
§7.3 可编程中断控制器8259A 一、引言 二、8259A的引脚、编程结构和工作过程 三、8259A的编程 1. 设置中断屏蔽字 2. 发中断结束命令EOI 四、8259A在IBM PC/XT系统中的应用 一、引言 1. 向CPU的引脚INTR发中断申请信号 当有多个外设同时发出中断请求时, 能按照一定的优先级顺序,向CPU发出中断申请, 使CPU能优先响应优先级最高的外部设备的中断申请。 2. 送中断类型号 在CPU中断响应周期,针对不同外设的中断请求, 向CPU传送不同的中断类型号, 使CPU执行相应的中断子程。 分两步: (1)处理外设中断申请,决定是否向CPU发中断申请信号。 (2)若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号。 CPU接收到 INTR上的中断申请信号后: 如果 IF 标志为0,则CPU不响应此中断申请信号, 即中断申请被IF屏蔽。 如果 IF 标志为1, 则处理完当前的指令后, 进入中断响应周期 通过 INTA 引脚发出两个负脉冲信号, 从数据总线上获取中断类型号, 进入中断响应的过程。 三、8259A的编程 8259初始化流程 (1)通过中断屏蔽寄存器IMR的读写,设置中断屏蔽字 (2) 通过OCW2操作命令寄存器,发中断结束EOI命令 通过往奇地址端口写入IMR内容实现 对应位为0,允许该级中断申请进入 对应位为1,禁止该级中断申请进入 由 8259A 的工作过程可知: ISR中的内容是优先级裁决器进行裁决的重要依据 CPU响应某级中断后,8259A自动将ISR的对应位置1,如果CPU已执行完中断子程,而ISR中的对应位仍为1, 8259A的优先级裁决器仍会据ISR的内容做裁决, 从而会屏蔽同级或低级的中断申请。 在中断响应后,对 ISR中相应位的清0很重要, 它是8259A认为中断结束的标志。 一、 初始化8259A时,设置8259A工作方式为自动清0方式, 则在CPU响应中断后,硬件自动将ISR的对应位清0。 四、8259A在IBM PC/XT系统中的应用 1.8259A与系统的连线。 2.BIOS初始化程序对8259A的设置。 IR0 接一个频率为17.2Hz的方波; 若CPU对该申请给予响应, 则每秒执行17.2次该申请对应的中断子程。 IR1接键盘接口发出的中断申请; 每按下一键,若CPU对该申请给予响应, 则执行一次该申请对应的中断子程。 IR2~IR7通过系统总线引出, 对应引脚信号为IRQ2~IRQ7。 ① IR0~IR7 中断申请信号为上升沿触发方式; ② IR0~IR7 对应的中断类型号分别为08H~0FH; ③ 优先级IR0最高, IR7最低; ④ 采用非自动结束方式, 需向OCW2发EOI中断结束命令, 清除ISR中的记录。 第一小节结束,谢谢您的合作! 17.2Hz时钟信号 ② 8259A的8个中断申请与外设的连接 8086 INTR 主 板 IF 键 盘 17.2Hz 方波 8259A INT 中断屏蔽寄存器 键盘 中断申请 IR1 IR2 ~ IR7 IR0 当前 中断 服务 寄存器 键盘 接口 IRQ2 ~ IRQ7 PC 总 线 外设接口 外 设 08h 09h 0Ah ~ 0Fh IBM PC/XT微机可屏蔽中断响应过程示意图 IBM PC/XT总线插槽引脚信号 GND RESET +5V IRQ2 -5V DRQ2 -12V +12V GND MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 DACK0 CLOCK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 T/C ALE +5V OSC GND I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0 I/O CH RDY AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 2.BIOS初始化程序对8259A的设置 ④ 优先级裁决器PR据新进入的中断申请和 ISR的内容, 决定是否发中断申请信号。 如果进入的中断申请比 ISR 中记录的中断优先级高, 则通过 8259A 的 INT 引脚向 CPU发出中断请求信号; 如果进入的中断申请不比 ISR 中记录的中断优先级高,同级或低级, 则不向 CPU 发中断请求信
文档评论(0)