大连理工计算机原理实验四(报告).doc
文本预览下载声明
大连理工大学
本科实验报告
(接口电路编程实验)
课程名称: 计算机原理实验
学院(系): 信息与通信学院
专 业: 电子信息工程
班 级: 电子1302班
学 号: 201200011
学生姓名: 乌日娜
2015 年 12 月 10 日
《计算机原理实验报告》----- 接口部分
实验( 四 )名称: 中断计数实验—思考题
一、实验目的:
1.了解386EX系统的CPU芯片的中断结构和编程原理
2.学习编写中断的初始化编程和对应的中断服务程序编程
二、实验要求:
使用单脉冲,与386EX模块CPU内部IRQ5的端口连接。设计一个计数器,每按3次单脉冲对计数器进行一次加一操作,并利用8255A的PA口经LED7—LED0显示器以二进制形式输出。
三、编程算法与说明:
利用8255A作为输出显示,将3次单脉冲作为一个中断送给386EX模块的IRQ5端口,实现三次单脉冲加一实验
四、实验中相关模块的连接逻辑图(实验电路图):
五、程序流程图:
六、程序清单:
.model small
.386
data segment
count db 00h
count1 db 00h
i8255_a equ 200h
i8255_k equ 203h
data ends
code segment
assume cs:code,ds:data
start: cli
mov ax,data
mov ds,ax
mov es,ax
mov dx,i8255_k
mov al,80h
out dx,al
mov al,count
mov dx,i8255_a
out dx,al
;设置中断屏蔽字
in al,21h
and al
out 21h,al
;设置中断向量表
PUSH DS
mov ax,0
mov ds,ax
LEA AX,CS:INT_PROC
mov si,35H
add SI,si
add si,si
MOV ds:[SI],AX
PUSH CS
POP AX
MOV ds:[SI+2],AX
POP DS
STI
;等待中断
LLL: nop
JMP lll
;中断服务子程序
INT_PROC PROC far
push ax
push dx
QUERY:
inc count1
cmp count1,03h
jnz ab
inc count
mov count1,0
ab: mov al,count
mov dx,i8255_a
out dx,al
MOV AL,20H
OUT 20h,AL
pop dx
pop ax
sti
IRET
INT_PROC ENDP
CODE ENDS
END START
实验结果:
在单脉冲输入处连续输入三个单脉冲之后,计数加一。在实验箱由LED显示为每三个脉冲加一,二进制表示,LED变亮为高电平。
学生签字: 日期:
- 6 -
显示全部