读8259A状态

•读8259A的状态是指读8259A内部的IRR、ISR和IMR的内容。
•(1)读IRR。先发出OCW3命令(使RR=1、RIS=0,地址A0=0),在下一个脉冲时可读出IRR,其中包含尚未被响应的中断源情况。
•(2)读ISR。先发出OCW3命令(使RR=1、RIS=1,地址A0=0),在下一个脉冲时可读出ISR,其中包含正在服务的中断源情况,也可看中断嵌套情况。
•(3)读IMR,不必先发OCW3,只要读奇地址端口(A0=l),则可读出IMR,其中包含设置的中断屏蔽情况。

中断请求触发方式

•8259A的中断请求寄存器IRR中有8个中断请求触发器,分别对应8个中断请求信号的输入端IR0-IR7,这些触发器的触发方式有中断请求(IRR中相应位的触发器被触发置“1”,而不是两种,即边沿触发和电平触发。
•(1)边沿触发。当输入端有从低电平到高电平的正跳变时,则产生直接向CPU申请中断)。此后,即使输入端仍然保持高电平也不会再产生中断。也就是说,只有正跳沿才能产生中断。
•边沿触发方式由ICW1的LTIM=0确定。
•(2)电平触发,当输入端产生高电平时产生中断请求。只要高电平就可以,不需要脉冲跳变。但需要注意的是,在电平触发方式下,在发出EOI命令以前,或CPU开放中断以前,必须去掉中断请求信号(使其变为低电平),否则将产生第二次中断。
•电平触发方式由ICW1的LTIM=1确定。

缓冲器方式

•所谓缓冲器方式就是在8259A和数据总线之间挂接总线驱动器的方式,如图2.4.2所示,既然挂接了总线驱动器(即总线缓冲器),那么在进行数据操作时就必须使之开启,并符合数据传送方向。因此,在缓冲器方式下,引脚将使用功能,并使之输出一个有效低电平,开启缓冲器工作。该方式多用于级联的大系统。
•缓冲器方式由ICW4的BUF=1确定。
图2.4.2 缓冲方式原理图