8259工作过程

•(1)某一条或几条中断请求线(IR0~IR7)有中断申请,变为高电平,使中断请求寄存器IRR的相应位置“1”。
•(2)IMR对IRR屏蔽。未被屏蔽的请求信号经优先权电路判别最高优先级,再经由优先级方式确定没有更高级优先权的中断,则8259A的INT 端输出为“1”,向CPU提出中断请求。
•(3)CPU响应中断后发出中断响应信号。在中断响应过程中,CPU要发出两次INTA信号。当8259A 收到第一个INTA信号后,ISR中当前被选中的最高优先级对应的那一位置“1”,同时IRR中的相应位被清“0”,表示该位上的中断请求已被CPU所接受。
•(4)8259A收到第二INTA信号后,驱动数据总线将对应的中断类型码输出。
•(5)如果是自动结束中断方式(AEOI),则在第二个INTA脉冲结束时将ISR中相应置“1”的位复位,否则该位的“1”将一直保持,直到CPU发出EOI命令为止。

8259A的工作方式

中断控制器8259A有:
•四种主要的工作方式:全嵌套、循环优先级、特定屏蔽和程序查询方式;
•四种从属的工作方式:中断结束方式、读状态、中断请求触发方式和缓冲器方式。
•两大工作类型 ,即单片工作和多片级连工作。
•两种命令,一种是初始化命令,另一种是操作命令,它们用于控制8259A的中断管理。

全嵌套方式

•这是一种最普通的工作方式。8259A在初始化工作完成后若未设定其它的工作方式,就自动进入全嵌套方式,这种方式的特点是:
(1)中断请求的优先级固定,其顺序是IR0最高,逐次减小,IR7最低。
(2)中断服务寄存器ISR保存优先权电路确定的优先级状态,相应位置“1”,并且一直保持这个服务“记录”状态,直到CPU发出中断结束命令为止。
(3)在ISR置位期间,不再响应同级及较低级的中断请求,而高级的中断请求如果CPU开放中断的话仍能够得到中断服务。
(4)IR7~IR0的中断请求输入可分别由中断屏蔽寄存IMR的D7~D0的相应位屏蔽与允许,对某一位的屏蔽与允许操作不影响其它位的中断请求操作。