1、主从式8259A的初始化设置:

初始化设置如下:

(1)中断触发方式:边沿触发

(2)中断屏蔽方式:常规屏蔽方式,即使用OCW1向IMR写屏码

(3)中断优先级排队方式:固定优先级的完全嵌套方式

(4)中断结束方式:非自动结束方式的两种命令格式

即:不指定EOI方式、指定EOI方式

在中断服务程序完毕时和中断返回之前,用结束命令代码20H或6XH结束中断。

 (5)级联方式:两片主/从连接

从片的中断输出引脚INT连到主片的中断请求输入引脚IR2上,两片级联处理15级中断。

(6)15级中断的中断号分配:

IRQ0  08H    IRQ1  09H

IRQ2  0aH    IRQ3  0bH

IRQ4  0cH    IRQ5  0dH

IRQ6  0eH    IRQ7  0fH

IRQ8  70H    IRQ9  71H

IRQ10  72H    IRQ11  73H

IRQ12  74H    IRQ13  75H

IRQ14  76H    IRQ15  77H

(7)两片8259A的端口地址分配为:

主片端口为:20H(偶地址A0=0),21H(奇地址A0=1)

从片端口为:0A0H(偶地址A0=0)  ,0A1H(奇地址为A0=1)

2、初始化8259A主片解析:

根据以上硬件连接,系统上电后,对8259A初始化的程序段为:

(1)ICW1的功能:

 MOV AL,11H

A7、A6、A5:全为0

D4:为1

D3为0:边沿触发

D1为0:级联

D0为1:需要ICW4

所以这句话的意思是:边沿触发,级联(多片),需要ICW4

(2)ICW2的功能:

 MOV AL,8

相当于将D3置高电平,代表中断号的高五位。

(3)主片的ICW3:

 MOV Al,04H

相当于将主片的IR2上接从片。

(4)ICW4:

 MOV AL,01H

D4:特殊全嵌套方式

D3、D2:非缓冲方式

D1:非自动结束中断

D0:处理器选择

所以这句话的意思是:非缓冲,全嵌套,非自动结束中断

3、初始化8259A的从片解析:

(1)ICW3:

3、级联情况下主片初始化与从片初始化的异同:

 4、初始化的程序段:

INTA00 EQU 020H     ;8259A主片端口(A0=0)
INTA01 EQU 021H     ;8259A从片端口(A1=0)
... ...
MOV AL,11H       ;ICW1
OUT INTA00,AL
JMP SHORT $ +2

MOV AL,8         ;ICW2
OUT INTA01,Al
JMP SHORT $ +2

MOV Al,04H       ;ICW3,主片的 IR2接上从片
OUT INTA01,Al
JMP SHORT $ +2

MOV AL,01H       ;ICW4
OUT INTA01,Al
... ...


INTB00 EQU 0A0H ;  8259A从片端口(A0=0)
INTB01 EQU 0A1H ;  8259A从片端口(A0=1)
... ...
MOV AL,11H
OUT INTB00,Al
JMP SHORT $ +2

MOV AL,70H
OUT INTB01,Al
JMP SHORT $ +2

MOV Al,02H         ;从片接主片的 IR2
OUT INTB01,Al
JMP SHORT $ +2

MOV AL,01H
OUT INTB01,Al
... ... 
02-13 08:09