实验二微机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集美大学
计算机工程学院实验报告
课程名称微机系统与接口技术
实验名称8259A课编程中断控制器实验
实验类型设计型
姓名学号
日期信息学院微机室
成绩教师
1. 实验目的及内容
1.1实验目的
1)了解8259A芯片的工作原理。学会使用8259A中断控制芯片实现对外部中断的响应和处理。
2)了解8259A内部结构和熟悉8086的接口逻辑。
3)掌握对8259A的初始化编程方法和8086是如何响应中断、退出中断的。
1.2实验内容
1)设计8259A与8086CPU的硬件连接图,分配8259A的端口地址为9000H,9001H。
2)设计8259A的外围连接,实现拨动单脉冲开关触发8259A中断,8086计数中断次数并显示于G5区的数码管LED上。
3)中断次数的显示需调用系统给定的显示子程序DISPLAY8.程序开始处必须设置外部连接,告诉汇编程序该显示程序在何处(即对应单元必须送10H),若要让它显示数字,则把数字值直接送到响应的显示缓冲区单元就可以显示了。
4)要保证DISPLAY8能正常显示,必须使得8279键盘/LED控制器能正确运行。此时要设置一些连线:
8279键盘/LED控制器的CLK应连接2MHZ的时钟。
8279键盘/LED控制器的CS、A0连接到A3区的CS5、A0.
控制数码管LED亮灭的数据(段码、列码)经由8279键盘/LED控制器输出,送
到显示LED中显示。所以应该把E5区中的B、C与G5区的B、C对应连接起来。
5)基于所设计的硬件及其连接,编写程序流程图,并编写程序实现8086对中断次数的计数及显示。
2. 实验环境
STAR系列实验仪、PC机、星研集成软件环境
3. 实验方法
首先应知道,8259A可作为中断优先控制器,每一片8259A可管理8级优先权中断源,对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被挂起,直到取消屏蔽为止。在上电之后,必须根据8259A的具体应用环境对它进行初始化编程。四个初始化命令字ICW1~ICW4可以决定中断请求信号输入的出发方式、设定中断类型码、表明级联方式以及优先权管理方式等。三个操作命令字OCW1~OCW2又可以分别用来设置中断源的屏蔽状态、设置中断结束方式和修改循环方式的中断优先权管理方式、设置屏蔽方式和查询方式等。
(1)、本实验要求用脉冲作为中断请求信号,计数至10则停止,需实现:按照要求初始化,8259A为单片,上升沿触发,仅开放IR2的中断,采用缓冲方式,采用正常结束方式,用单脉冲中断作为中断源进入计数子程序,中断程序实现计数加1并调用DISPLAY8显示。
(2)、只要求计数到10,判断计数是否达到10,若达到10则关闭中断,否则继续接受脉冲信号计数。
4. 实验步骤
4.1电路设计
D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7
10
RD 5WR 36A09A18RESET 35CS
6
8255
U36
D0D1D2D3D4D5D6D7WR
RD RST
A0
A1
PC5PC6PC7
PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678
VCC
DS42
A0A1
CS
CS1(0F000H)
510
R111510
R112
510R113510R114510R115510R116510R117510R118
JMP CHECK
CMP COUNT,10H
JG L2
JMP CHECK
L2: MOV DX,9001H
IN AL,DX
OR AL,04H
OUT DX,AL
JMP CHECK
INIT PROC
MOV DX,09000H
MOV AL,13H
OUT DX,AL
MOV DX,09001H
MOV AL,00001010B
OUT DX,AL
MOV AL,0DH
OUT DX,AL
MOV AL,11111011B OCW1,IR2
OUT DX,AL
RET
INIT ENDP
INT_SA PROC
MOV AX,0
MOV ES,AX
MOV DI,28H
MOV AX,OFFSET INTA
CLD
STOSW
MOV AX,CS
STOSW
RET
INT_SAVE ENDP
LED PROC
MOV AL,COUNT
MOV AH,AL
AND AL,0FH
MOV BUF,AL
AND AH,0F0H
ROR AH,4
MOV BUF + 1,10H
MOV BUF + 2,10H
MOV BUF + 3,10H
MOV BUF + 4,10H
MOV BUF + 5,10H
MOV BUF + 6,10H
MOV BUF + 7,10H
LEA SI,BUF
CALL DISPLAY8
RET
LED ENDP
INTA: PUSH DX
PUSH AX
MOV AL,COUNT
ADD AL,1
DAA
MOV COUNT,AL
MOV FLAG,1
MOV DX,09000H