汇编语言及IO地址译码编程练习 汇编语言与微机接口技术实验.doc
文本预览下载声明
实 验 报 告
课程名称 汇编语言与微机接口技术
实验项目 汇编语言及I/O地址译码编程练习
实验仪器 PC微机、CZ-CIU实验箱
学 院 __ _ _计算机学院_ _ _
专 业 计算机科学与技术
班级/学号 *
学生姓名 ___ _ _ *________
实验日期 2018/11/05
成 绩
指导教师 *
指导书中实验3,4
实验目的
通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法。
掌握数码管显示数字的原理。
实验原理、内容描述和硬件连接
实验电路如下图 8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7
编程从8255C口输入数据,再从A口输出
接线:PC7~PC0/8255 接 K7~K0/逻辑电平开关
PA7~PA0/8255 接 L7~L0/LED显示灯
CS/8255 接 Y1/IO地址
1、静态显示:按4-4-1连接好电路,将8255的A口 PA0~PA7分别与七段数码管的段码驱动
输入端a~dp相连,位码驱动输入端S0、S1接 PC0、PC1;S2、S3接地。编程在数码管
上循环显示“00-99”
2、接线: PA7~PA0/8255 接 dp~a /LED数码管
PC1~PC0/8255 接 S1~S0 /LED数码管
GND 接 S3~S2 /LED数码管
CS/8255 接 Y1 /IO地址
程序流程图
第一题流程图:
第二题流程图:
代码、和关键注释
第一题代码:
io8255a equ 288H
io8255b equ 28BH
io8255c equ 28AH
code segment
assume cs:code
start:mov dx,io8255b ;初始化,设8255为C口输入,A口输出
mov al,8Bh ;控制字
out dx,al ;写入控制字
inout:mov dx,io8255c ;指向C口
in al,dx ;从C口读入开关状态
mov dx,io8255a ;指向A口
out dx,al ;A口控制LED,指示开关状态
mov dl,0ffh ;判断是否有按键
mov ah,06H
int 21h
jz inout ;若无,则继续自C口输入,A口输出
mov ah,4CH ;否则返回,程序终止
int 21h
code ends
end start
第二题代码:
data segment
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
w1 db 0 ;个位w1
w2 db 0 ;十位w2
data ends
code segment
assume cs:code , ds:data
start:mov ax,data
mov ds,ax
mov dx,28BH ;初始化,设8255为A,C口输出
mov al,80H
out dx,al
inout1:mov cx,50 ;设置显示频率
inout: mov dx,288H ;指向A口
mov al,w2 ;将w2的值经查led表得出相应段码
mov bx,offset led
xlat ;查表
out dx,al
mov dx,28AH ;将位码02H送至C口
mov al
out dx,al
push cx ;cx入栈
call delay ;调用延时子程序
mov dx,28AH ;将位码00H送至C口,从而刷新屏幕,避免其他数码管闪亮
mov al
out dx,al
mov dx,288H ;将w1的值经查led表得出相应段码送至A口
mov al,w1
mov bx,offset led
xlat ;查表
out dx,al
mov dx,28AH ;将位码01H送至C口
mov
显示全部