实验五 使用8259A的单级中断控制实验 一、实验目的 1、掌握中断控制器 8259A 与微机接口的原理和方法
2、掌握中断控制器 8259A 的应用编程
二、预备知识 1、8259A的内部结构 8259A 是专为控制优先级中断而设计的芯片
它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理 8 级中断
如图 5-19 所示,它由中断请求寄存器(IRR)、优先级分析器、 中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成
图 5-19 中断请求寄存器:寄存所有要求服务的请求 IR0~IR7
中断服务寄存器:寄存正在被服务的中断请求
中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为 1,屏蔽该号中断,否则开放该号中断
数据总线缓冲器:是双向三态的,用以连接系统总线和 8259A 内部总线, 通过它可以由CPU 对 8259A 写入状态字和控制字
读写控制电路:用来接受 I/O 命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A 的工作方式和控制方式
级联缓冲器/比较器:用于多片 8259A 的连接,能构成多达 64 级的矢量中断系统
2、8259A编程及初始化 (1) 写初始化命令字 * 写初始化命令字 ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片
* 写初始化命令字 ICW2,以定义中断向量的高五位类型码
* 写初始化命令字 ICW3,以定义主片8259A 中断请求线上 IR0~ IR7 有无级联的 8259A 从片
第 i 位=0,表明 IRi 引脚上无从片 第 i 位=1,表明 IRi 引脚上有从片 * 写初始化命令 ICW4,用来定义 82