89c52单片机P0口怎么编程实现复用控制数码管的段码和位码
![](../imgqa/ele/mcu/mcu-3721rd.com-33186lrs12nh152a.png)
怎么编程实现三个数码管动态显示
74hc573一个控制段选一个控制位选
百度一大堆,比较着学习肯定有收获
锁存
用锁存器分时复用P0口。
ORG 0000H
AJMP MAIN
ORG 0300H
MAIN:MOV R1,#1H
MOV R2,#2H
MOV R3,#3H
MOV P0,#0FFH
DD: SETB P2.7
CLR P2.6
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CLR P2.7
SETB P2.6
MOV P0,#0FEH
CLR P2.6
SETB P2.7
MOV A,R2
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CLR P2.7
SETB P2.6
MOV P0,#0FDH
CLR P2.6
SETB P2.7
MOV A,R3
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CLR P2.7
SETB P2.6
MOV P0,#0FBH
AJMP DD
DELAY:
MOV R4,#10H
XT1: MOV R5,#0F0H
XT2: DJNZ R5,XT2
DJNZ R4,XT1
RET
TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH ;0-9数码管显示译码
END
为什么编完之后 数码管显示的顺序是反着的?
只要你会用数码管,这个就没有难度了,你只要控制LE脚就可以控制wei了
加两个74hc573分别控制段和位就可以了 百度下就可以看到。