实验五 8259A中断控制器实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、在理解原有程序的基础上,学会了中断处理程序的编写。

相关文档
最新文档