微机原理实验八段数码管显示
广州大学学生实验报告开课学院及实验室:实验中心电子信息楼 2013 年 12 月4日 学 院机电年级、专业、班姓名学号实验课程名称微机原理实验成绩实验项目名称硬件实验二 八段数码管显示指导
教师一、实验目的二、实验原理(实验相关基础知识、理论)三、实验过程原始记录(程序界面、代码、设计调试过程描述等)四、实验结果及总结
一、实验目的
1.了解数码管动态显示的原理。
2.了解用总线方式控制数码管显示。
二、实验原理(实验相关基础知识、理论)
实验要求
利用实验箱提供的显示电路,动态显示一行数据.
实验说明
1.本实验箱提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
本实验箱中8位段码输出地址为0X004H,位码输出地址为0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。
七段数码管的字型代码表如下表:
a
f b
g
e c
d
。dp
显示字形
g
f
e
d
c
b
a
段码
0
0
1
1
1
1
1
1
3fh
1
0
0
0
0
1
1
0
06h
2
1
0
1
1
0
1
1
5bh
3
1
0
0
1
1
1
1
4fh
4
1
1
0
0
1
1
0
66h
5
1
1
0
1
1
0
1
6dh
6
1
1
1
1
1
0
1
7dh
7
0
0
0
0
1
1
1
07h
8
1
1
1
1
1
1
1
7fh
9
1
1
0
1
1
1
1
6fh
A
1
1
1
0
1
1
1
77h
b
1
1
1
1
1
0
0
7ch
C
0
1
1
1
0
0
1
39h
d
1
0
1
1
1
1
0
5eh
E
1
1
1
1
0
0
1
79h
F
1
1
1
0
0
0
1
71h
实验电路及连线
连线
连接孔1
连接孔2
1
KEY/LED_CS
CS0
三、实验过程原始记录(程序界面、代码、设计调试过程描述等)
实验参考程序
OUTBIT equ 08002h ; 位控制口
OUTSEG equ 08004h ; 段控制口
data segment
LEDBuf db 6 dup(?) ; 显示缓冲
Num db 1 dup(?) ; 显示的数据
DelayT db 1 dup(?)
LEDMAP: ; 八段管显示码
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
data ends
code segment
assume cs:code, ds:data
Delay proc near
push ax ; 延时子程序
push cx
mov al, 0
mov cx,ax
loop $
pop cx
pop ax
ret
Delay endp
DisplayLED proc near
mov bx, offset LEDBuf
mov cl, 6 ; 共6个八段管
mov ah, ; 从左边开始显示
DLoop:
mov dx, OUTBIT
mov al, 0
out dx,al ; 关所有八段管
mov al, [bx]
mov dx, OUTSEG