1 / 31

第 5 章 中断系统

第 5 章 中断系统. 5.1 Intel 8259A 可编程中断控制器 5.2 8258A 在 PC 机中的作用 5.2 中断程序举例. 处理一个中断的过程,就是妥善处理以下一些基本问题的过程:. 1 )何时检查中断输入信号及其处理办法。 2 )如何把控制转给中断服务程序。 3 )如何保护和恢复中断的现场。 4 )如何识别中断源。 5 )如何识别优先级较高的中断。 6 )如何开放和关闭中断。. 5.1 Intel 8259A 可编程中断控制器. 5.1.1 8259A 的框图和引脚 5.1.2 中断触发方式和中断响应过程

alden
Download Presentation

第 5 章 中断系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章中断系统 • 5.1 Intel 8259A可编程中断控制器 • 5.2 8258A在PC机中的作用 • 5.2 中断程序举例

  2. 处理一个中断的过程,就是妥善处理以下一些基本问题的过程:处理一个中断的过程,就是妥善处理以下一些基本问题的过程: 1)何时检查中断输入信号及其处理办法。 2)如何把控制转给中断服务程序。 3)如何保护和恢复中断的现场。 4)如何识别中断源。 5)如何识别优先级较高的中断。 6)如何开放和关闭中断。

  3. 5.1 Intel 8259A可编程中断控制器 • 5.1.1 8259A的框图和引脚 • 5.1.2 中断触发方式和中断响应过程 • 5.1.3 工作方式 • 5.1.4 屏蔽中断源的方式 • 5.1.5 结束中断处理的方式 • 5.1.6 8259A初始化命令字和操作方式命令字 返回本章首页

  4. 5.1.1 8259A的框图和引脚 1.功能及工作特点 1)可用多片8259A来构成主从式中断系统。 2)每一级中断都可以屏蔽或允许。 3)8259A可提供相应的中断向量,从而能迅速地转至中断服务程序。 4)通过编程使8259A工作在多种不同的方式。 5)工作时只需要一组+5V电源。

  5. INTA INT 数据总线 2.结构框图 D7 ~ D0 缓冲器 控制逻辑 RD / / / 读 / 写 读 读 读 写 写 写 WR 控制 控制逻辑 控制逻辑 控制逻辑 A0 IR0 逻辑 CS IR1 中断 优先权 中断 IR2 服务 判别 请求 IR3 寄存器 寄存器 电路 IR4 ISR IRR CAS0 级连缓冲 IR5 CAS1 比较器 IR6 CAS2 IR7 SP/EN 中断屏蔽寄存器 IMR 内部总线 图5-14 8259A的方框图

  6. 3.8259A的引脚 图5-15 8259A的引脚

  7. 4.8259A的工作原理 第一个负脉冲到达时,8259A做到: 1)使IRR的锁存功能失效。 2)使当前中断服务寄存器ISR中的相应位置1。 3)使IRR寄存器中的相应位清零。 第二个负脉冲到达时,8259A完成: 1)将中断类型寄存器中的内容ICW2,送到数据总线的D7~D0,CPU将此作为中断类型码。 2)第二个脉冲结束时,8259A会将第一个脉冲到来时设置的当前中断服务寄存器ISR的相应位清零。

  8. CS RD WR A0 功能 8259A端口 PC/XT机端口 0 0 1 0 读IRR,ISR 偶地址 20H 0 0 1 1 读IMR 奇地址 21H 0 1 0 0 写ICW1,OCW2,OCW3 偶地址 20H 0 1 0 1 写ICW2,ICW3,ICW4,OCW1 奇地址 21H 0 1 1 × 无操作 1 × × × 无操作 5.8259A寄存器及I/O端口的识别 表5-6 8259A读写操作及地址 返回本节

  9. 5.1.2 中断触发方式和中断响应过程 1.中断触发方式 (1)边沿触发方式 (2)电平触发方式 (3)中断查询方式

  10. 2.中断响应过程 1)当它的一条或多条中断请求线(IR7~IR0)变为高电平时,它就使中断请求锁存器IRR相应的位置1。 2)8259A分析这些请求,它就向CPU发出高电平有效信号INT,请求中断服务。 3)当前一条指令执行完毕,且IF=1时,CPU响应中断请求,进入中断响应总线周期。

  11. 4)8259A接到来自CPU的第一个脉冲,把允许中断的最高优先级请求位,置入服务寄存器ISR,并把IRR中对应的位清零。4)8259A接到来自CPU的第一个脉冲,把允许中断的最高优先级请求位,置入服务寄存器ISR,并把IRR中对应的位清零。 5)CPU在第二个总线周期,再次发出一个脉冲,8259A接到第二个脉冲,送出中断类型码,CPU读取该类型码。第二个中断响应周期,总线封锁撤销。

  12. 图5-16 中断响应总线周期时序 返回本节

  13. 5.1.3 工作方式 1.一般完全嵌套方式 2.特殊完全嵌套方式 3.优先级自动循环方式 4.优先级特殊循环方式 返回本节

  14. 5.1.4 屏蔽中断源的方式 1.普通屏蔽方式 2.特殊屏蔽方式 返回本节

  15. 5.1.5 结束中断处理的方式 1.中断自动结束方式 2.一般的中断结束方式 3.特殊的中断结束方式 返回本节

  16. 5.1.7 8259A初始化命令字和操作方式命令字 1.初始化命令字ICW (1)ICW1 (2)ICW2 (3)ICW3 (4)ICW4

  17. (1) ICW1:芯片控制初始化控制字 A0 D7 D6 D5 D4 D3 D2 D1 D0 A7 A6 A5 1 LTIM 0 SNGL IC4 0 偶地址端口 1 要 ICW4 8086/8088系统中不用 0 不要 ICW4 特征位 1 单片方式 1 电平触发 0 级连方式 0 边沿触发 图5-19 ICW1命令字 图5-19 ICW1命令字

  18. (2) ICW2:设置中断类型号初始化命令字 A0 D7 D6 D5 D4 D3 D2 D1 D0 T7 T6 T5 T4 T3 0 0 0 1 中断类型号的高 位 8259A 自动 填入 图5-20 ICW2命令字

  19. (3) ICW3:标示主片/从片初始化命令字 图5-21 主8259A的ICW3命令字

  20. (4) ICW4:方式控制初始化命令字 图5-23 ICW4命令字

  21. 2.操作命令字 操作命令字决定中断屏蔽,中断优先级次序, 中断结束方式等。 • 操作命令字OCW • (1)OCW1 • (2)OCW2 • (3)OCW3 返回本节

  22. (1) OCW1:中断屏蔽操作命令字 A0 1 1:屏蔽由IRi引入的中断请求 Mi= 0:允许IRi中断请求引入 A0=1,OCW1命令字必须写入8259A奇地址端口

  23. (2) OCW2:优先权循环方式和中断结束方式 A0 0 标志位 IRi 001:普通EOI方式 011:特殊EOI方式 101:普通EOI循环方式 111:特殊EOI循环方式 000:自动EOI循环(复位) 100:自动EOI循环(置位) 110:置位优先权命令 010:无效

  24. 8259A中断控制过程: (1)IRR端出现中断申请信号; (2)8259A接收中断申请信号,与同时存在的中断申 请信号一起判断优先级; (3)8259A向CPU发中断申请信号,如果只有一个中 断源申请中断,直接转CPU;如果多个中断源申请中 断,判断优先级后,将优先级最高者转CPU; (4)CPU向8259A发响应脉冲,8259A接收响应脉冲后, 通过数据线向CPU发中断向量(8位); (5)CPU接收中断向量(8位)后,以此为基础,查表 得到中断服务程序地址; (6)CPU根据中断服务程序地址,转移到程序计数器 指向的新地址,执行中断服务程序。

  25. 5.2 8259A在PC机中的作用 8259A中断控制器主要应用于两种场合: 一种场合是系统计算机,如PC/XT机, 这是使用比较多的场合; 第二种是嵌入式系统,如在8051系列单片机系统中。

  26. 中断源 中断类型 中断向量存储地址 用 途 NMI 02H 0008H 奇偶校验错、I/O通道NMI、8087NMI IRQ0 08H 0020H 8253的0通道 IRQ1 09H 0024H 键盘 IRQ2 0AH 0028H 保留 IRQ3 0BH 002CH 保留 IRQ4 0CH 0030H RS——232C IRQ5 0DH 0034H 硬盘驱动器中断 IRQ6 0EH 0038H 软盘驱动器中断 IRQ7 0FH 003CH 打印机中断

  27. 由中断源转换到中断服务子程序的过程: ◆中断源(IR0——IR7之一) ◆中断类型(在8259A初始化时设置,由ICW2中的T7、 T6、T5、T4、T3确定) ◆中断向量内存地址(查中断表) ◆中断向量(4个字节的中断服务程序入口地址) ◆执行中断服务子程序。

  28. 5.3 中断程序举例 对8259A编程包括三个部分的内容: 第一是8259A的初始化 第二是主程序的设计 第三是中断服务子程序设计 返回本章首页

  29. 对8259A初始化编程: 要求:对8253的0通道对应的中断进行初始化 1. 采用边沿触发方式 2. 单片使用 3. 采用普通嵌套方式 4. 缓冲方式 5. 正常结束方式 求初始化实现程序

More Related