当处理器对中断控制器完成初始化编程后,8259A就处于准备就绪状态,等待接收外界的中断请求,进行完全嵌套的中断管理。若用户要改变初始化设定的操作方式,可以通过CPU发操作命令OCW对中断控制器进行动态控制。 内容来自www.paper51.com OCW1用来设置中断屏蔽,也就是屏蔽掉相应位为1的中断信号线。为0表示中断复位。它通过端口0x20(M)或0xA0(S)传送 内容来自www.paper51.com OCW2是很重要的操作命令字,它可以通过不同的值决定不同的中断优先权 内容来自论文无忧网 www.paper51.com 7 6 5 4 3 2 1 0 copyright paper51.com
R SL EOI 0 0 L2 L1 L0 paper51.com 高三位结合决定不同的方式 copyright paper51.com R SL EOI 内容来自论文无忧网 www.paper51.com 0 0 1 非特殊的EOI命令 http://www.paper51.com 0 1 1 特殊的EOI命令 内容来自论文无忧网 www.paper51.com 1 0 1 按非特殊的EOI命令旋转 内容来自论文无忧网 www.paper51.com 1 0 0 在自动的EOI方式旋转(设置) copyright paper51.com 0 0 0 在自动的EOI方式旋转(清除) copyright paper51.com 1 1 1 按特殊EOI方式旋转 内容来自论文无忧网 www.paper51.com 1 1 0 置优先权命令 内容来自论文无忧网 www.paper51.com 0 1 0 使用L2—L0决定优先权 copyright paper51.com
低三位在有效时表示具有最低优先权的那个中断引脚。 内容来自论文无忧网 www.paper51.com 8259A芯片不是单纯的初始化,而是需要仿真式的编写,这是理解8259A的一个重点。8259A有两类编程命令:初始化命令字和操作命令字。在我的编程过程中,在Outsig中就是对8259A进行的初始化编程工作。同时,该程序主要是以对每个引脚得到或释放的消息作为评判的标准,表示某个引脚得到某个消息发生何种反应。这是对引脚的一个分析过程,需要详细的编程工作。 paper51.com 其中我们了解到8259A的中断顺序为: http://www.paper51.com IR0-7之一或若干条申请线变高,则中断请求寄存器IRR相应位被置位。 paper51.com 若其中有允许中断,则由INT引脚向CPU申请中断。 copyright paper51.com CPU若开中断,则响应中断,INTA引脚信号响应。 paper51.com 8259接到应答信号后,IRR复位,ISR置位。 内容来自论文无忧网 www.paper51.com CPU送出第二个INTA脉冲信号,8259向数据总线送中断向量n(8位中断号),CPU执行INT n指令。 内容来自www.paper51.com 若工作在AEOI模式,则ISR自动复位;否则,在中断服务程序结束后要送EOI命令,使ISR复位。 http://www.paper51.com
作用于8259,通过给它指令设置IMR,使得相应的IRR不参与ISR,被称为禁止(disable),反之,被称为允许(enable). http://www.paper51.com 在本课题中需要对8259A进行初始化,又分为单片和多片的两种初始化方式。所以对单片8259A芯片的初始化与多片的是不一样的。 http://www.paper51.com
8259A的初始化编程流程图如3-1所示: paper51.com
copyright paper51.com 图3-1 初始化流程图 copyright paper51.com 在单片使用8259A中其特点是:共8级向量中断,因为是采用单片方式,故CAS2-CAS0不用,SP/EN接+5V。8个中断请求输入信号IR0-IR7均为边沿触发。同时其端口地址在020H—03F范围内,实际使用020H和021H两个端口。采用完全嵌套的方式,0级为最高优先级,7级为最低优先级;设定0级请求对应中断号为8,1级请求对应中断号为9,依次类推,直到7级请求中断号为0FH。 paper51.com 对单片8259A进行初始化编程如下: copyright paper51.com
INTA00 EQU 020H ;8259A端口0 copyright paper51.com INTA01 EQU 021H ;8259A端口1 http://www.paper51.com …… 内容来自www.paper51.com MOV AL,13H ;ICW1:边沿触发、单片、要ICW4 内容来自论文无忧网 www.paper51.com OUT INTA00,AL 内容来自论文无忧网 www.paper51.com MOV AL,8 ;ICW2:中断号的高5位 http://www.paper51.com OUT INTA01,AL paper51.com MOV AL,9 ;ICW4:全嵌套,16位微机,非自动结束。 内容来自论文无忧网 www.paper51.com OUT INTA01,AL copyright paper51.com …… 内容来自www.paper51.com
单片8259A中断系统的硬件连接如图3-2所示 copyright paper51.com
http://www.paper51.com
图3-2 单片8259A中断系统的硬件连接 paper51.com 双片使用8259A编程中其特点与要求在于一共15级向量中断,采用两片级连,CAS2-CAS0作互连线,从片的INT直接连到主片的IR2上。同时端口地址主片在020H-03F范围内,实际使用020H和021H两个端口。从片在0A0H-0BFH范围内,实际使用0A0H和0A1H两个端口。主、从片的中断请求信号均采用边沿触发,主要采用的是非缓冲方式,主片的SP/EN端接+5V,从片SP/EN接地。同时采用完全嵌套方式,优先级的排列次序为0级最高,依次为1级,8-15级,3—7级。同时设定0级—7级对应主片的中断号为8H—0FH,8级—15级对应 paper51.com 从片的中断号为70H—77H 内容来自论文无忧网 www.paper51.com
|