微机接口_实验五七段数码管.doc
文本预览下载声明
实 验 报 告
实验五 七段数码管
一、实验目的
掌握数码管显示数字的原理
二、实验设备
TPC-USB实验系统(块USB总线接口模块、一个扩展实验台及软件集成实验环境)
三、实验原理与内容
1、静态显示:按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动
输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键
盘输入一位十进制数字(0~9),在七段数码管上显示出来。
2、动态显示:按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0
接8255 C口的PC1,PC0。编程在两个数码管上显示“56”。
动态显示(选作):使用图5-2的电路,编程在两个数码管上循环显示“00-99”。
四、编程提示
1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码
管亮,位码加反相驱动器,位码输入端高电平选中。
七段数码管的字型代码表如下表:
五、参考流程图(见图5-3、图5-4)
六、汇编程序
LED1.ASM
data segment
io8255a equ 288h
io8255cw equ 28bh
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
mesg1 db 0dh,0ah,Input a num (0--9),other key is exit:,0dh,0ah,$
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data ; data送到AX中
mov ds,ax ; 首地址
mov dx,io8255cw ; 控制寄存器端口地址送DX;使8255的A口为输出方式
mov ax,80h ;准备控制字,B
out dx,al ;控制字送控制寄存器
sss: mov dx,offset mesg1 ;显示提示信息
mov ah,09h ;显示每次中断的提示信息(DS:DX=字符缓冲首址)
int 21h ;执行调用
mov ah,01 ;从键盘接收字符
int 21h ;执行调用
cmp al,0 ;是否小于0
jl exit ;若是则退出
cmp al,9 ;是否大于9
jg exit ;若是则退出
sub al,30h ;将所得字符的ASCII码减30H
mov bx,offset led ;bx为数码表的起始地址
xlat ;求出相应的段码
mov dx,io8255a ;A口地址送到DX中
out dx,al ;从8255的A口输出
jmp sss ;转SSS
exit: mov ah,4ch ;返回
int 21h ;执行调用
code ends
end start
显示全部