3.4 KiB
3.4 KiB
tags, create time
| tags | create time | |||||
|---|---|---|---|---|---|---|
|
2026-06-28 16:30 |
中断控制器 82C59A 选择题考点
概述
82C59A 在 3 套试卷中共出现 4 题,核心考点集中在初始化命令字功能区分和中断类型号计算。记住"每个 ICW 管什么"即可覆盖全部考题。
正文
1. 四个初始化命令字功能速查
graph TD
A["82C59A<br/>初始化命令字"] --> B["ICW1<br/>基本模式<br/>单片/级联、触发方式"]
A --> C["ICW2<br/>中断类型号高5位"]
A --> D["ICW3<br/>级联标识<br/>仅级联时需要"]
A --> E["ICW4<br/>工作方式<br/>8086模式、EOI方式"]
style B fill:#eef,stroke:#333,color:#000
style C fill:#ffd,stroke:#333,color:#000
style D fill:#fdd,stroke:#333,color:#000
style E fill:#dfd,stroke:#333,color:#000
| 命令字 | 功能 | 是否级联必需 | 高频考法 |
|---|---|---|---|
| ICW1 | 基本模式(单片/级联、边沿/电平触发) | 否 | 较少考 |
| ICW2 | 中断类型号的高 5 位(T7~T3) | 否 | ⭐⭐⭐ |
| ICW3 | 级联标识(主片/从片连接关系) | 是 | ⭐⭐ |
| ICW4 | 工作方式(8086 模式、自动 EOI) | 视情况 | 较少考 |
[!important] 两条必背结论
- ICW2 确定中断类型号的高五位,低 3 位由 IR 编号(000~111)硬件自动填充。
- ICW3 只有在级联系统中才需要写入,单片系统中不需要。
2. ICW2 与中断类型号的关系
ICW2 的 8 位格式:
D7 D6 D5 D4 D3 │ D2 D1 D0
──────────────────┬────────────
高 5 位(程序员设定) 低 3 位(IR 编号自动填入)
[!example] 真题计算 某中断系统中,82C59A 的 IR3 对应中断类型号为 63H,求 IR6 对应的类型号。
解题步骤:
- IR3 → 63H,则基址 = 63H − 3 = 60H(即 ICW2 高5位 = 01100)
- IR6 → 60H + 6 = 66H
公式:
\text{类型号} = \text{ICW2基址} + \text{IR编号}
3. 中断允许标志 IF(关联考点)
虽然 IF 不属于 82C59A 本身,但常与中断系统一起考:
| IF 值 | 对可屏蔽中断的影响 | 对 NMI/软中断的影响 |
|---|---|---|
| IF = 0 | CPU 不响应 | 不受影响,仍可响应 |
| IF = 1 | CPU 可以响应 | 不受影响,仍可响应 |
[!question] 思考题 为什么 IF 只控制可屏蔽中断,不控制 NMI 和软中断?
答:NMI 用于处理紧急硬件事件(如掉电、内存校验错),必须保证 CPU 始终能响应;软中断(INT n)是程序主动调用的,不受外部标志控制。IF 只作为"总开关"控制外部可屏蔽中断(INTR)。
4. 真题回顾
[!example] 【真题1】在对 82C59A 进行初始化时,命令字( )只有在级联系统中才需要写入。 答案:C. ICW3
[!example] 【真题2】在 82C59A 初始化序列中,哪个命令字用来确定中断类型号高五位? 答案:B. ICW2
[!example] 【真题3】当中断允许标志 IF=0 时,CPU 对( )不予响应。 答案:C. 可屏蔽中断