第三章 硬件实验 微机原理及其接口技术实验
实验二 8259单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。 ⒉ 掌握8259中断控制器的应用编程。 二、实验内容
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 三、实验接线图
四、编程指南 ⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3, “
”插孔和IR3相连,中断方式为边沿触发方
式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。
24
第三章 硬件实验 微机原理及其接口技术实验
五、 程序框图
IR3中断服务
六、实验步骤
1、按接线图连好实验线路图。 ⑴8259的INT连8088的INTR(Xl5); ⑵8259的INTA连8088的INTA(Xl2);
⑶“ ”插孔和8259的3号中断IR3插孔相连,“ ”端初始为低电平; ⑷8259的CS端接EX1;
⑸连JX4→JX17。
2、在系统处于命令提示符“P.”状态下,运行实验程序,系统显示8259-1。 3、来回拨动AN开关按钮, 按满l0次显示good。
七、实验程序清单
CODE SEGMENT ;H8259.ASM ASSUME CS:CODE
INTPORT1 EQU 0060H ;8259命令字偶地址 INTPORT2 EQU 0061H ;8259命令字奇地址 INTQ3 EQU INTREEUP3 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口
25
第三章 硬件实验 微机原理及其接口技术实验
ORG 12D0H
START: JMP START0
BUF DB ?,?,?,?,?,? ;要显示的字符送缓冲区 intcnt db ? ;中断次数
data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH ;数码管LED段码表 START0: CLD CALL BUF1 CALL WRINTVER ;写中断向量 MOV AL,13H ;写初始化命令字ICW1 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H ;写初始化命令字ICW2,确定中断类型号 MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;写初始化命令字ICW4 OUT DX,AL MOV AL,0F7H ;写操作命令字OCW1,允许IR3中断,屏蔽其它中断 OUT DX,AL MOV intcnt,01H ;中断次数赋初值 STI ;开中断 WATING: CALL DISP ;显示字符 8259-1 JMP WATING
WRINTVER:MOV AX,0H ;向中断向量表写中断向量 MOV ES,AX MOV DI,002CH LEA AX,INTQ3 STOSW MOV AX,0000h STOSW RET
INTREEUP3:CLI ;中断IR3服务程序 push ax push bx push cx push dx MOV AL,INTCNT CALL CONVERS ;中断次数送BUF MOV BX,OFFSET BUF MOV AL,10H MOV CX,05H
INTRE0: MOV [BX],AL INC BX LOOP INTRE0
26
第三章 硬件实验 微机原理及其接口技术实验
MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2
CALL BUF2 ;显示:good INTRE1: CALL DISP JMP INTRE1
CONVERS: AND AL,0FH MOV BX,offset buf ;077AH MOV [BX+5],AL RET
INTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRET
;*********显示子程序********** DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX
DIS2: MOV CX,00A0H
;显示子程序 ,5ms 27
第三章 硬件实验 微机原理及其接口技术实验
LOOP $ POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1
LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET
;***********显示8259-1字符送BUF************* BUF1: MOV BUF,08H MOV BUF+1,02H MOV BUF+2,05H MOV BUF+3,09H MOV BUF+4,17H MOV BUF+5,01H RET
;***********显示good字符送BUF*********** BUF2: MOV BUF,09H MOV BUF+1,00H MOV BUF+2,00H MOV BUF+3,0dH MOV BUF+4,10H MOV BUF+5,10H RET
CODE ENDS END START
28