当前位置:首页 > 微机实验报告
实验4 8259中断控制实验 一、 实验目的
(1) 掌握8259中断控制器的工作原理。 (2) 学习8259的应用编程方法。 (3) 掌握8259级联方式的使用方法。 二、 实验设备
PC机一台,TD- PITC实验装置一套 三、 实验内容及步骤
在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。 实验内容
实验连接线图如下,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在屏幕上显示一个字符“7”。 系统总线 MIR7 单次脉冲单元 KK1+ 主3259
8259单元中断实验连接线图 实验步骤:
(1) 按图连接实验线路。
(2) 编写试验程序,经编译、链接无误后装入系统。
实验程序清单如下:
SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUM CS:CODE START:PUSH DS MOVE AX,0000H MOVE DS,AX
MOVE AX,OFFSET MIR7 MOVE SI,003CH MOVE [SI],AX MOVE AX,CS MOVE SI,003EH MOVE [SI],AX CLI POP DS MOVE AL,11H OUT 20H,AL MOVE AL,08H OUT 21H,AL MOVE AL,04H OUT 21H,AL MOVE AL,01H OUT 21H,AL MOVE AL,6FH OUT 21H,AL STI
AA1:NOP JMP AA1 MIR7:STI CALL DELAY MOVE AX,0137H INT 10H MOVE AX,0120H INT 10H MOVE AL,20H OUT 20H,AL IRET
DELAY:PUSH AX MOVE CX,0F00H POP AX LOOP CX RET CODE ENDS END START
(3) 运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。 思考题:
要求单次脉冲输出与主片8259的IR7相连,且每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“6”。修改实验线路与程序,编译、链接后,运行程序并查看结果。 答:修改程序如下:
SSTACK SEGMENT STACK
DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUM CS:CODE START:PUSH DS MOVE AX,0000H MOVE DS,AX
MOVE AX,OFFSET MIR6 MOVE SI,0038H MOVE [SI],AX MOVE AX,CS MOVE SI,003AH MOVE [SI],AX CLI POP DS MOVE AL,11H OUT 20H,AL MOVE AL,08H OUT 21H,AL MOVE AL,04H OUT 21H,AL MOVE AL,01H OUT 21H,AL MOVE AL,0AFH OUT 21H,AL STI AA1:NOP JMP AA1 MIR6:STI CALL DELAY
共分享92篇相关文档