初始化程序为:
MOV DX,20H
MOV AL,00010011B ; 边沿触发,单片使用,需要ICW4 OUT DX,AL ;写入ICW1的端口(Ao=1) MOV DX,21H
MOV AL,08H ; ICW2的内容(中断类型码高5位) OUT DX,AL ; 写入ICW2的端口(Ao=1)
MOV AL,00001101B ; 缓冲方式,单片8259A,普通全嵌套,非自动方式 OUT DX,AL ; 写入ICW4的端口(Ao=1)
工作方式设置:
XOR AL,AL
OUT DX,AL ; 写入OCW1 MOV DX, 20H
MOV AL, 20H ; 固定方式和普通结束方式 OUT DX,AL ; 写入OCW2 MOV AL,08H ; 普通屏蔽 OUT DX, AL ;写入OCW3
设置中断向量:
PUSH DS ;保存原中断向量 PUSH ES
PUSH BX PUSH DX
CLI ;开中断 MOV AX ,SEG NEWINT3
MOV DS, AX ;DS指向代码段
MOV DX, OFFSET NEWINT3 ;DX指向新中断入口地址,设置新的中断向量 MOV AL,3H ;中断类型号 3
MOV AH, 250bH ;设置中断3的中断矢量 INT 21H ;设置中断向量 POP DS
IN AL , 21H ;取中断屛蔽寄存器的内容 PUSH AX ;保存
AND AL , FFH ;允许IRQ3中断 OUT 21H , AL
中断处理程序
NEWINT3 PROC FAR
PUSH BX ;保护现场 PUSH CX PUSH AX
STI ;开中断
……
发送/接收程序 ;服务程序 ……
POP AX ;恢复现场 POP CX POP BX
IRET ;返回 NEWINT3 ENDP
注:中断程序未经过实验验证
参考资料:许兴存、曾琪琳. 《微型计算机接口技术》. 电子工业出版社,2003.8 田艾平、王力生等. 《微型计算机技术》. 清华大学出版社, 2005.5 耿恒山 . 《微机原理与接口》. 中国水利水电出版社, 2005.10 马文华 . 《微型计算机接口技术》课件,2006