例8.3.1:输入时地址线A0=1,IR0---IR7的中断向量为08H---0FH,PC/XT机中的T7—T3==00001,当IR4申请时8259向CPU发出中断申请的类型号为00001100==0CH。
(3) ICW3(主/从片初始化命令字)功能介绍: 主片ICW3: A0D7D6D5D4D3 2D S2D1 D0 1 S S S SS3 S1 S0 7 6 5 4 主片ICW3负责记录与从片哪一个输入端与从片相连。
当主片输入端IRi上连接有从片的INT时,则Si=1;否则Si=0 从片ICW3:
A0 7D * 6D * 5D * D4 D3 D2 D1 D0 1 * * D2 IID1 ID0 从片ICW3负责自己连接到主片的哪一端。 应用ICW3时的注意点:
一是什么时候用ICW3:即当ICW1中的SNGI位为0时,也就是工作于级联方式,才需要ICW3设置8259A的状态。
二是(主片接出)判断哪个引脚(IR7—IR0)有级联:当D7—DO的某位为1时则接有从片,为0时不接从片。
三是(从片接入)判断接入主片的哪个引脚:是通过对D2 D1 D0三位的组合来判断接入的引脚。 (4) ICW4(方式控制初始化命令字)功能介绍:
A0D7D6D5D4D3 2D MD1 0D u 0 SBU1 0 0 AEFNM F /S OI PM ICW4负责缓冲器方式和中断结束方式的设置。 应用ICW4时的注意点:
一是什么时候写入ICW4:当ICW1的IC=1时,才使用ICW4。 二是命令字各位所代表的含义:
UPM:指定CPU类型:UPM=0时,工作于8080(8位机);UPM=1时,工作于8086(16位机) AEOI:指定是否自动中断结束方式:1:自动中断结束方式;0:非自动中断结束方式。 BUF:8259A是否工作于缓冲方式:1:工作于缓冲方式、0:不工作于缓冲方式
SFNM:决定8259A在级联时是否工作于特殊全嵌套方式:1:工作于特殊全嵌套方式0:工作于一般全嵌套方式。
2. OCW(OCW1、OCW2、OCW3)操作命令字编程格式 (1) OCW1(中断屏蔽操作命令字)功能介绍:
A0D7D6D5D4D3D2D1D0 1 M M M M M M M M7 6 5 4 3 2 1 0 OCW1负责中断的屏蔽和开放:
M7—M0对应着IR7—IR0,Mi=1时,就屏蔽对应的IRi的输入,Mi=0时,允许输入IRi的输入。 (2) OCW2(控制中断结束和优先权循环操作命令字)功能介绍:
A0 0 D7 R 优先级轮换 D6 SL 指定中断等级 D5 EOI 中断结束 D4 0 特征位 D3 0 D2 L2 D1 L1 D0 L0 中断等级编码 OCW2负责中断优先排队方式。
D0~D2位:L2~L0位编码是用来指定中断等级(0~7)。该等级是为了对指定的ISR位复位或执行优先级指定轮换方式。它和D6位SL配合使用。
D4~D3位:0 0是OCW2的标志
D5位:EOI中断结束命令位,当ICW4中的AEOI==0时,即定义为非自动中断结束方式时,使EOI==1,表示结束中断,使ISR的最高优先权的位复位;EOI==0则不起作用。
D6位:SL选择指定的IR级别位,SL==1时,操作在L2—L0指定的IR编码级别上执行;SL==0时,L2—L0无效。
D7位:R优先权循环位,R==1:循环优先权;R==0:固定优先权 (3) OCW3(控制中断屏蔽和查询寄存器状态命令字)功能介绍: A0 D7 I D6 - D5 - D4 - D3 - D2 W2 D1 W1 D0 W0 1) OCW3负责查询中断方式的操作: D7位:I=1有中断请求,I=0无中断请求。
D2~D0位:W2~W0表示正在申请服务的最高优先等级的二进制代码。 2) OCW3负责查询寄存器状态: A0 D7 D6 ESMM 特定屏蔽允许 D5 SMM- D4 D3 0 1 D2 P D1 RR 读寄存器允许 D0 RIS 读ISR 0 * 不用 特定屏蔽设置 特征位 查询方式 D0位:RIS,读IRR或ISR选择位:1==读ISR、0==读IRR D1位:RR:读寄存器:1==允许读IRR、ISR 0==不允许读 D2位:P:查询命令位:1==查询、0==不是查询 D4~D3位:0 1是OCW3的标志
D5位:SMM设置特殊屏蔽方式:1==选择特殊屏蔽方式、0==清除特殊屏蔽方式 D6位:ESMM允许SMM起作用:1==允许、0==不允许

