LED段码管的显示程序的编写
关于段码显示器的显示原理,其实就是将8个LED集成在一起组成一个8字型的器件,从而显示出我们想要的数字,现将编码表列出如下:
显示字符 |
共阴极段码 |
共阳极段码 |
显示字符 |
共阴极段码 |
共阳极段码 |
0 |
3FH |
C0H |
9 |
6FH |
90H |
1 |
06H |
F9H |
A |
77H |
88H |
2 |
5BH |
A4H |
B |
7CH |
83H |
3 |
4FH |
B0H |
C |
39H |
C6H |
4 |
66H |
99H |
D |
5EH |
A1H |
5 |
6DH |
92H |
E |
79H |
86H |
6 |
7DH |
82H |
F |
71H |
8EH |
7 |
07H |
F8H |
8. |
FFH |
00H |
8 |
7FH |
80H |
灭 |
00H |
FFH |
在试验板上我用的是HCF4056或CD4056,这种LED驱动器好处就是能直接将数据显示出来,比如:我们要讲“6”显示出来,我们可将ABCD=6,再开通片璇即可,缺点是不能显示BCDEF,列表如下:
显示字符 |
ABCD |
|
显示字符 |
ABCD |
|
0 |
0 |
|
9 |
9 |
|
1 |
1 |
|
L |
A |
|
2 |
2 |
|
H |
B |
|
3 |
3 |
|
P |
C |
|
4 |
4 |
|
A |
D |
|
5 |
5 |
|
- |
E |
|
6 |
6 |
|
灭 |
F |
|
7 |
7 |
|
|
|
|
8 |
8 |
|
|
|
|
下面我们来学习段码显示器的显示程序的编写方法.
4.1.1点亮一个段码显示器 (程序编号为ONELED.ASM)
试验板的原理图中, 我们下面讲的是直接I/O口操作,显示数据从P2口输出,让第一个显示器显示“6”,程序编写如下:
ORG 0000H
LJMP START
ORG 0050H
START:
MOV 50H,#6
MOV A,#0FFH ;关显示
MOV P2,A
START1:
MOV A,#0FH ;清第1个显示器
ADD A,#10H
MOV P2,A
MOV A,50H ;显示当前按键值
ADD A,#10H
MOV P2,A
LJMP START1
DELAY:
PUSH 07H
PUSH 06H
MOV R7,#08H
DELAY1:
MOV R6,#200
DJNZ R6,$
DJNZ R7,DELAY1
POP 06H
POP 07H
RET
END
上面的程序设计只是教我们如何去点亮一个段码显示器,在实际应用中这是毫无使用价值的,下面我们来讲试验板上的4位段码显示器全部显示为“6“.
4.1.2点亮4为段码显示器,让他们显示”6666”. (程序编号为: FOURLED.ASM)
注: 今后如果没有特别说明,显存地址均为: 50----57H
ORG 0000H
LJMP START
ORG 0050H
START:
MOV 50H,#6
MOV A,#0FFH ;请按键
MOV P2,A
START1:
MOV A,#0FH ;清第1个显示器
ADD A,#10H
MOV P2,A
MOV A,50H ;显示”6”
ADD A,#10H
MOV P2,A
MOV A,#0FH ;清第2个显示器
ADD A,#20H
MOV P2,A
MOV A,50H ;显示”6”
ADD A,#20H
MOV P2,A
MOV A,#0FH ;清第3个显示器
ADD A,#30H
MOV P2,A
MOV A,50H ;显示”6”
ADD A,#30H
MOV P2,A
MOV A,#0FH ;清第4个显示器
ADD A,#40H
MOV P2,A
MOV A,50H ;显示”6”
ADD A,#40H
MOV P2,A
LJMP START1
DELAY:
PUSH 07H
PUSH 06H
MOV R7,#08H
DELAY1:
MOV R6,#200
DJNZ R6,$
DJNZ R7,DELAY1
POP 06H
POP 07H
RET
END
- 作者:ziqintian | 发布:2013年10月29日
- 分类:IT类别
- 标签:单片机程序设计,LED段码管,显示程序的编写
- 转载文章请注明:单片机程序设计之LED段码管的显示程序的编写 | 太极博弈原理官方站|紫欽天|融通百科为我所用|生活全智慧|生活智慧之书
文章是怎么写出来的?
好吧,我承认我想多了
大师受教了,缘来如此。。。
...也许网络安全产业以后会是
此法确实可靠吗?
hello!,I like y
I was suggested
Thanks , I've j