华北电力大学 接口实验参考程序.doc
文本预览下载声明
4.3 8259A中断控制实验
表1 中断类型码及中断向量地址
主片中断类型码和中断向量地址
中断序号 IR0 IR1 IR2 IR3 IR4 IR5 IR6
(MIR6) IR7(MIR7) 中断类型码 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 矢量地址 0020H~0023H 0024H~0027H 0028H~002BH 002CH~002FH 0030H~0033H 0034H~0037H 0038H~003BH 003CH~003FH 说明 未开放 未开放 未开放 未开放 串口 未开放 可用 可用
从片中断类型码和中断向量地址
中断序号 IR0 IR1
(SIR1) IR2 IR3 IR4 IR5 IR6 IR7 中断类型码 30H 31H 32H 33H 34H 35H 36H 37H 矢量地址 00C0H~00C3H 00C4H~00C7H 00C8H~00CBH 00CCH~00CFH 00C0H~00C3H 00C4H~00C7H 00C8H~00CBH 00CCH~00CFH 说明 开放
1. 8259单次实验
实验步骤:
按图4-17所示连接实验线路
编写实验程序,经编译、链接无误后装入系统。
运行程序,重复按单次脉冲开关KK1+,记录实验
结果或看到的现象。
实验参考程序清单:
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: CLI
PUSH DS
MOV AX, 0000H
MOV DS, AX
MOV AX, OFFSET MIR7 ;取中断入口地址
MOV SI, 003CH ;中断矢量地址
MOV [SI], AX ;填IRQ7的偏移矢量
MOV AX, SEG MIR7 ;段地址
MOV SI, 003EH
POP DS
;初始化主片8259
MOV AL, 11H
OUT 20H, AL ;ICW1
MOV AL, 08H
OUT 21H, AL ;ICW2
MOV AL, 04H
OUT 21H, AL ;ICW3
MOV AL, 01H
OUT 21H, AL ;ICW4
MOV AL, 7FH
OUT 21H, AL ;主8259 OCW1
STI
AA1: NOP
JMP AA1
MIR7: CALL DELAY
MOV AX, 0137H
INT 10H ;显示字符7
MOV AX, 0120H
INT 10H
MOV AL, 20H
OUT 20H, AL ;中断结束命令
IRET
DELAY: PUSH CX
MOV CX, 0F00H
AA0: PUSH AX
POP AX
LOOP AA0
POP CX
RET
CODE ENDS
END START
改变接线方式,将KK1+接入MIR6,修改程序,重复按单次脉冲开关KK1+,使显示屏显示字符”6”。记录实验结果或看到的现象。
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: CLI
PUSH DS
MOV AX, 0000H
MOV DS, AX
MOV AX, OFFSET MIR6 ;取中断入口地址
MOV SI, 0038H ;中断矢量地址
MOV [SI], AX ;填IRQ7的偏移矢量
MOV AX, SEG MIR6 ;段地址
MOV SI, 003AH
POP DS
;初始化主片8259
MOV AL, 11H
OUT 20H, AL ;ICW1
MOV AL, 08H
OUT 21H, AL ;ICW2
MOV AL, 04H
OUT 21H, AL ;ICW3
MOV AL, 01H
OUT 21H, AL ;ICW4
MOV AL, 0BFH
OUT 21H, AL ;主8259 OCW1
STI
AA1: NOP
JMP AA1
MIR6: CALL DELAY
MOV AX, 0136H
INT 10H ;显示字符7
MOV AX, 0120H
INT 10H
MOV AL, 20H
OUT 20H
显示全部