实验五使用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,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等
(2)写控制命令字*写操作命令字0CW1,用来设置或清除对中断源的屏蔽