实验五 8259A中断控制器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:林海金学号:6100210178 专业班级:卓越通信101班
实验类型:验证□综合□设计□创新实验日期:2012-5-22 实验成绩:
一、实验项目名称
实验五8259A中断控制器实验
二、实验目的
(1)了解8259A中断控制器的工作原理。
(2)了解PC机中断的原理和过程。
(3)学会中断程序的编写。
三、实验要求
编写中断程序,在请求8259A1时,能够响应8259A的硬件中断,并在数码管上显示“IRQ0…”字样,中断结束时,显示“E…IRQ”。
四、实验仪器及连线方式
1)实验仪器:AEDK-T598D实验系统。
2)连线方式:INT0连接至+PULSE;8259A的片选接至试验箱的200H;8279的片选接至210H~217H。
五、实验说明
以中断0为例,先加载主中断程序,然后再加载中断程序IRQ0程序,然后打开对话窗口,输入“SW 0:0020,<回车>0000,””8200<回车>”,在执行“G8100:0<回车>Y”即可。
六、实验参考程序
INT00 EQU 200H
INT01 EQU 201H
Z8279 EQU 239H
D8279 EQU 238H
LEDMODE EQU 00H
SCANFRQ EQU 38H
DATA SEGMENT
DATA ENDS
STACK SEGMENT
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: CLI
MOV AL,13H
MOV DX,INT00
OUT DX,AL
NOP
NOP
MOV AL,8
MOV DX,INT01
OUT DX,AL
MOV CX,0FFFH
L00: LOOP L00
MOV AL,3
MOV DX,INT01
OUT DX,AL
MOV CX,0FFFH
MOV CX,0FFFH
L01: LOOP L01
NOP
NOP
MOV DX,Z8279
MOV AL,LEDMODE
OUT DX,AL
MOV AL,SCANFRQ
OUT DX,AL
MOV DX,INT01
MOV AL,00H
OUT DX,AL
MOV CX,0FFFH
L02: LOOP L02
MOV DX,INT00
MOV AL,20H
OUT DX,AL
MOV CX,0FFFH
L03: LOOP L03
MOV DX,Z8279
MOV AL,90H
OUT DX,AL
MOV AL,0D0H
OUT DX,AL
MOV CX,0FFFFH
L2: LOOP L2
OUT DX,AL
MOV AL,50H
OUT DX,AL
MOV AL,0FH
OUT DX,AL
JMP SHORT $+2
STI
HLT0
X2: MOV DX,Z8279
MOV AX,0D0H
OUT DX,AL
MOV CX,0FFFH
LOOP L5
L5: LOOP L5
MOV AL,90H
OUT DX,AL
MOV DX,D8279
MOV AL,67H
OUT DX,AL
MOV AL,50H
OUT DX,AL
MOV AL,0FH
OUT DX,AL
MOV AL,80H
OUT DX,AL
OUT DX,AL
MOV AL,79H
OUT DX,AL
JMP SHORT X2
NOP
CODE ENDS
END START
Z8279 EQU 239H
D8279 EQU 238H
INT0 EQU 200H
DATA SEGMENT
DATA ENDS
STACK SEGMENT
STACK END
SCODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK START: STI
MOV CX,0FFFH
MOV DX,Z8279
MOV AL,0D0H
OUT DX,AL
L1: LOOP L1
MOV AL,90H
OUT DX,AL
MOV DX,D8279
MOV AL,80H
OUT DX,AL
OUT DX,AL
OUT DX,AL
MOV AL,3FH
OUT DX,AL
MOV AL,50H
OUT DX,AL
MOV AL,0FH
OUT DX,AL
MOV CX,0FFFFH
12: LOOP L2
MOV DX,INT0
MOV AL,20H
OUT DX,AL
IRET
CODE ENDS
END START
七、实验步骤
1、实验前检查实验箱是否完好,串口是否正确连接;
2、按照实验电路图连接好电路,并检测通讯口;
3、在LCA88ET环境中依次进入文件--打开--EXP--88ASM--8259A和Irgo;
4、程序加载:设置--实验机--加载地址,8259A加载到8100H,Irgo加载到8200H;
5、在LCA88ET环境中进行程序调试,调试(或窗口)--对话窗口--SW 0:0200<回车>
0000,8200<回车>,再执行G8100:0<回车>Y
6、运行程序,按下按键,看实验箱上数码管显示结果是否正确;
3、实验结果:程序运行后,每次按下按键都能产生中断。
八、实验小结
1、通过本次实验,熟悉了8259A中断控制器编程方法和硬件的使用。
2、编写程序,进一步了解PC机中断的原理和过程。
3、要多加练习,熟悉在汇编环境和实验箱硬件的使用的过程。
4、本实验有主程序和中断服务程序等两个程序,要加载到不同的地址。
5、在理解原有程序的基础上,学会了中断处理程序的编写。