单片机原理与应用技术(三)———动态数码管显示汇编语言
作者:互联网
一、数码管基础知识
1.数码管结构
一般数码管通常由八段LED灯组成,又分成共阳数码管和共阴数码管(如下图所示)。共阴极数码管即为LED阴极连接在一起为公共阴极,共阳极数码光即为LED阳极连接在一起为公共阳极。以共阴极数码管为例,当某个LED阳极通入高电平时,LED灯点亮,相对应的段也就被显示出来,共阳极数码管恰好与之相反。
2.数码管段码
显示字符 | 共阴极段码 | 共阳极段码 | 显示字符 | 共阴极段码 | 共阳极段码 |
---|---|---|---|---|---|
0 | 3FH | C0H | b | 7CH | 83H |
1 | 06H | F9H | c | 39H | C6H |
2 | 5BH | A4H | d | 5EH | A1H |
3 | 4FH | B0H | E | 79H | 86H |
4 | 66H | 99H | F | 71H | 8EH |
5 | 6DH | 92H | P | 73H | 8CH |
6 | 7DH | 82H | U | 3EH | C1H |
7 | 07H | F8H | T | 31H | CEH |
8 | 7FH | 80H | y | 6EH | 91H |
9 | 6FH | 90H | H | 76H | 89H |
A | 77H | 88H | L | 38H | C7H |
3.数码管动态显示
动态扫描显示方式的依据是利用人眼的滞留现象,只要在1秒内一个发光管亮24次以上,每次点亮时间维持2ms以上,则人眼感觉不到闪烁,宏观上仍可看到多位LED同时显示的效果。动态显示可以简化硬件、降低成本、减小功耗。具体实现时通常将所有位的段选线相应的并联在一起,由一个l/O口控制,形成段选线的多路复用。而各位的共阳极和共阴极分别由相应的I/o口控制,实现分时复用。
二、动态数码管显示实例———显示(0-999)
1.电路原理图
二、执行代码
ORG 0000H
MAIN: MOV DPTR,#LEDTAB
MOV R4,#0
QIAN:
MOV R3,#0
BAI:
MOV R2,#0
SHI:
MOV R1,#0
G:
MOV R0,#50
START:
MOV R7,#0DFH
LCALL OPEN
SETB P2.6
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
CLR P2.6
MOV R7,#0EFH
LCALL OPEN
SETB P2.6
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
CLR P2.6
MOV R7,#0FBH
LCALL OPEN
SETB P2.6
MOV A,R3
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
CLR P2.6
MOV R7,#0F7H
LCALL OPEN
SETB P2.6
MOV A,R4
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
CLR P2.6
DJNZ R0,START
INC R1
CJNE R1,#10,G
INC R2
CJNE R2,#10,SHI
INC R3
CJNE R3,#1O,BAI
INC R4
CJNE R4,#10,QIAN
LCALL MAIN
DELAY: MOV R6,#1
DELAY1: MOV R5,#250
DELAY2: DJNZ R5,DELAY2
DJNZ R6,DELAY1
RET
OPEN:
SETB P2.7
MOV A,R7
MOV P0,A
CLR P2.7
RET
ORG 1000H
LEDTAB:
DB 03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH
END
标签:LED,数码管,汇编语言,P2.6,MOV,单片机,LCALL,阳极 来源: https://blog.csdn.net/qq_55646377/article/details/123067167