8259A中断控制器及其应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INTA
图 8259A缓冲方式下级连结构
地址总线 控制总线
数据总线
INT CAS0 8259A 从控 B CAS1 CAS2 SP/EN IRQ7 ┅ IRQ0
CS A0 DB INTA
INT CAS0 8259A 从控 A CAS1 CAS2 SP/EN IRQ7 ┅ IRQ0
CS A0
DB INTA
8259A的工作方式
8259A结束中断处理方式:
ISRn被清0,中断结束。 中断自动结束方式(EOI):8259A收到INTA#后自动把
ISRn位清0。
一般的中断结束方式:8086发命令清除ISR中级
最高的位,结束中断。 特殊的中断结束方式:用于优先权循环情况,将ISR中指定 位清0。
1.功能及工作特点
1)可用9片8259A来构成64级主从式中断系统。 2)每一级中断都可以屏蔽或允许。 3 ) 8259A 可提供相应的中断向量,从而能迅速地转至中断服务程 序。 4)通过编程使8259A工作在多种不同的方式。 5)工作时只需要一组+5V电源。
2、8259A可编程中断控制器结构:
3.结构框图
INTA INT D7~D0 数据总线 缓冲器 控制逻辑
RD WR A0 CS
/写 读读 /写 控制 控制逻辑 逻辑 中断 服务 寄存器 ISR 优先权 判别 电路 中断 请求 寄存器 IRR
CAS0 CAS1 CAS2
级连缓冲 比较器
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
注意:级联方式不用自动EOI方式,中断结束用一般和特殊.一个中 断结束可能发两次EOI(一次主、一次从),分别清除主从片的
ISR。
5、中断结束方式
中断程序结束时,应使ISR相应位清零,根据清 ‘0’的实现方法,8259A有三种中断结束方式。 1)自动中断结束方式(AEOI) 这是最简单的中断结束方式,进入中断服务程序 的同时自动对ISR相应位清零,只能适用于单片的 8259的单级中断 2)正常中断结束方式 (一般 EOI ) 在中断返回之前用输出指令向8259发送正常中断 源来命令字向OCW2写入20H即可实现这种方式, 多用于全嵌套工作方式下的中断服务程序 3)特殊中断结束方式(特殊EOI) 在特殊屏蔽方式下,较低级中断高级,那么被临 时开放的低级中断结束时就不能用正常的中断结束 命令,而要使用特殊的中断结束命令(60H~67H)
8259A的工作方式
8259A屏蔽中断源方式
普通屏蔽方式:对应IMR为1位的中断请求将被屏
蔽。
特殊屏蔽方式: 执行中断程序时,动态改变优先级结
构,屏蔽本级,允许较低级请求被服务。中断时清除 ISR=0
特殊屏蔽方式是在中断服务程序中使用,用于中断嵌 套,(低级别可以打断高级别).
8259A的工作方式
4)8259A接到来自 CPU 的第一个脉冲,把允许中断的 最高优先级请求位,置入服务寄存器ISR,并把IRR中对 应的位清零。 5)第二个负脉冲到达时, CPU产生中断类型码,CS: IP=中断向量执行中断服务程序 6) 中断结束,CPU发IRET;8259清除ISRn=0
T1 CLK
T2
T3
T4
T1
T2
T3
T4
ALE LOCK INTA D7-D0
类型码
INT
IR
3. 中断响应总线周期时序
INTA# INT 8259A CAS0 CAS1 CAS2 CAS0 CAS1 CAS2 IR0 IR1 IR2 : : IR7
IR0 IR1 IR2 : : IR7
SP#/EN# SLAVE0 ; SLAVE1 SLAVE2
返回本节
8086中断程序的编写步骤:
主程序:(1) 设置中断向量 ( INTTAB=CS:IP )
(2) 设置8086CPU中断允许位
FLAGS中的IF位=1 允许中断 (STI 开中断) =0 禁止中断 (CLI 关中断)
(3) 编写系统主程序
四、8259A的初始化编程
8259A的初始化编程包括写入四个初始化命令字ICW1、 ICW2 、 ICW3、 ICW4和三个工作命令字OCW1、 OCW2、 OCW3。 8259A命令字的写入,以及8259A的状态的读出是由/RD和/WR 信号、A0以及命令字中的某些特定位所规定的,如表6-2所示。
初始化编程流程图
8259的工作流程
中断申请 IRR相应位置1
ISR相应位置1, IRR相应位清0
CPU执行中断程序 返回前清ISR相应位(中断结束方式)
三、中断触发方式和中断响应过程 1.中断触发方式
(1)边沿触发方式 (2)电平触发方式 (3)中断查询方式
2.中断响应过程
1 ) 当 一 条 或 多 条 中 断 请 求 线 , IR7 ~ IR0=8259=“1” , 同 时 , 使 中 断 请 求 锁 存 器 IRRn=“1”。 2 )在 IRR 接收与 IMR 比较, ---- 响应,比较 PR。 若高,8259A INT=1,若低,8259A INT=0, 向CPU发高电平有效信号INT,请求中断服务。 3 ) CPU 当 前 一 条 指 令 执 行 完 毕 , 且 IF=1 时 , CPU 响应中断请求,进入中断响应总线周期。 (CPU送- INTA=0 ISRn=1 IRRNn=0),并且送中 断类型码。
中断级联方式
系统数据总线
B7~B0 T 74LS245 OE A7~A0
B7~B0 T 74LS245 OE A7~A0
B7~B0 OE 74LS245 T A7~A0
DT/R
局部数据总线 +5V 1kΩ +5V 1kΩ +5V 1kΩ DEN SP/EN D7~D0 从控 B CAS2-0 INTA INT SP/EN D7~D0 从控 A CAS2-0 INTA INT SP/EN D7~D0 主控制器 INT IR5 IR6 INTA CAS2-0 INTR
SP/EN 内部总线
中断屏蔽寄存器
IMR
图
8259A的方框图
CS
1 2 3 4 5 6 7 8 9 10 11 12 13 14
8259A
28 27 26 25 24 23 22 21 20 19 18 17 16
VCC A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2
8259A连接总线方式 缓冲方式:8259A通过总线驱动器和数据总线相 连,这就是缓冲方式。 非缓冲方式:当系统中只有单片8259A时,一般 将它直接与数据总线相连 中断查询方式
CPU不是通过对中断申请的响应而是靠主动查询实现对外 部接口的服务。 主—从:主片工作特殊全嵌套方式;从工作与全嵌套方式, 允许同级中断。
8259A中断触发方式:
电平触发; 边沿触发; 程序触发
8259A的工作方式
8259A中断优先权设置方式
普通全嵌套方式;固定优先级,IR0最高,IR7最低。
(默认)
特殊完全嵌套方式:与(a)基本相同,响应同级中断请
求。(主片设置特殊方式) 优先级自动循环方式:某级被响应后,降为最低。 如IR4被响应后,优先级顺序变为: IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4。 优先级特殊循环方式;编程指定最低优先级,其它 同(C)。
5.8259A的工作原理
第一个负脉冲到达时,8259A做到: 1)使IRR的锁存功能失效。 2)使当前中断服务寄存器ISR中的相应位置1。 3)便IRR寄存器中的相应位清零。 第二个负脉冲到达时,8259A完成: 1 )将中断类型寄存器中的内容 ICW2 ,送到数据 总线的D7~D0,CPU将此作为中断类型码。 2)第二个脉冲结束时,8259A会将第一个脉冲到 来时设置的当前中断服务寄存器ISR的相应位清零。
Fra Baidu bibliotek
中断请求寄存器(IRR):8位寄存器,可寄存储 8 个请求输入(IR0~IR7)的状态。 优先权裁决器:对请求源与正在被服务的中断级进 行比较,裁决出优先级最高者。CPU设定。 中断服务寄存器(ISR):8位,与IRR对应,记 录正被处理的请求。IRn被响应,ISRn被置1; IRn处理结束, ISRn置0。 中断屏蔽寄存器(IMR):8位,某位置1对应 IRR位的请求被屏蔽。 控制逻辑:寄存8259A的命令字,多种工作方式的 控制,向处理器发INT,接收INTA#。 级联缓冲与比较器:多片8259A级联时,对从片的 标识码进行寄存与比较。 MAX 2级= 64中断。
INTA
8086/ 8088 CPU
IRQ6 软磁盘 IRQ7 打印机
由此可见:每片8259A带有8个中断源,向CPU发出可屏蔽中断请 求信号INTR,可提供相应的中断向量,(如何提供?)
中断控制器8259A的主要引脚信号说明
D7~D0:数据总线,双向,与系统数据线连接。 CS#:片选信号,确定芯片在系统I/O空间位置。 A0: 地址线,8259A占相邻的2个I/O地址,与 CS#信号配合,A0=0选偶端口,A0=1选奇端口。 CAS2~CAS0:级联线,双向。在主从级联结构 中,主片输出,从片输入。主片发从片标识码, 从片比较,符合时输出中断类型码。 SP#/EN#:双向信号。输入时为SP#,硬接线确 定主从;输出时为EN#,作为DB缓冲允许。 INT:中断请求,输出,与相连。 INTA#:中断响应,输入,与8086INTA#相连。
CS A0 DB INTA INT CAS0 CAS1 8259A 主控 CAS2 IRQ7 ┅ IRQ0 SP/EN 7 6 5 4 3 2 1 0 VCC 7 6 5 4 3 2 1 0
GND 7 6 5 4 3 2 1 0
GND 7 6 5 4 3 2 1 0
图 8259A非缓冲方式下级连结构
.
WR RD D7 D6 D5 D4 D3 D2 D1 D0 CAS0 CAS1 GND
4 8259A 的 引 脚
图 8259A 的 引 脚
15
一、中断控制器8259A的内部结构和引脚功能
INTR IR0 INT IR1 IR2 IR3 INTA IR4 IR5 IR6 IR7 8259A
IRQ0 日时钟定时器 IRQ1 键盘 IRQ2 IRQ3 IRQ4 IRQ5 保留 串行通信口1 串行通信口2 硬磁盘
8259A中断控制器及其应用
———8259A中断管理方式
一、中断控制器8259
1、中断系统应具有的功能
多中断源请求,软件可禁止与允许每个请求。 中断优先级判别功能,响应优先级别最高的请求。 中断嵌套功能,高级别中断可中断较低级别的中断。 响应中断后,能自动转向中断处理程序,处理结束 后自动返回主程序。 每片管理8个中断源,MAX2级,64个中断源。 实现多级嵌套 优先级管理 多种工作模式
80 86
INTA# INT 8259A +5 SP#/EN# MASTER
:
INTA#
最 多 64 条 中 断 请 求 线
INT 8259A
CAS0 CAS1 CAS2
IR0 IR1 IR2 : : IR7
4. 中断控制器:8259A的级连
SP#/EN#
SLAVE7
3片8259A的级联连接图
四、8259A的工作方式
2.
中断系统的组成 微处理器应有处理中断请求的机制与相关硬 件电路:接收请求,响应请求,保护现场, 转向中断服务程序,处理完返回。 外围应有一个与处理器匹配的中断控制器: 管理多个中断源,优先级裁决,中断源屏蔽 等功能。 依处理器的结构编写中断处理程序,安排相 关的系统初始化。
二、8259A的结构和引脚