微机原理实验报告大汇总.doc
微机原理实验报告
课程名称: 计算机原理课程设计
学院(系): 电气工程学院
专 业: 电气工程及其自动化
班 级:
学 号:
学生姓名:
成 绩:
2012 年 4 月 10 日
一、接口训练
实验一 拨动开关和LED显示实验
实验目的和要求
掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。
实验内容
按图将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择 8255 为方式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。
编程涉及8255端口地址有四个,由于8255片选信号线与地址译码区的200~2FH连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。注意,该地址一定是一个16位数,所以I/O操作要使用IN AL,DX 和OUT DX, AL指令。
实验框图及电路图
程序清单
汇编程序代码如下:
.Model small
.386
io8255_a equ 200h
io8255_b equ 201h
io8255kz equ 203h
code segment
assume cs:code
start: mov dx,io8255kz
mov al,90h ;设置8255控制字,A口输入,B口输出
out dx,al
aa: mov dx,io8255_a
in al,dx ;输入开关状态
mov dx,io8255_b
out dx,al ;把A口数据送B口寄存器,用LED显示输出
jmp aa ;循环
code ends
end start
实验结果与分析
通过开关从PA口输入数据,观察灯可知,PB口输出。实现了设计的功能。
实验二 8259中断控制器实验
实验目的和要求
了解8259中断控制器的基本使用,掌握中断程序编程技术。
实验内容
使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲按键,触发一次中断,使7段数码管显示的“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。
实验框图与电路图
程序清单
Model small
.386
data segment
led_cs equ 200h
led_cs1 equ 201h
ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h
old dd ?
data ends
code segment
assume cs:code,ds:data
start: cli
mov ax,data
mov ds,ax
mov es,ax
in al,21h
and al ;mask byte
out 21h,al
push ds
mov bx,0
mov ds,bx
lea ax,cs:int_proc ;WRITE INTERRUPT PROGRAM EMTRY ADDRESS
mov bx,5 ;n=IRx
mov si,30h ;base =30H
add si,bx
sal si,2 ;type num X 4
mov ds:[si],ax
push cs
pop ax
mov