51单片机STC89C52 数码管动态

DULA BIT P2.6
WELA BIT P2.7
ORG 0000H
MOV P0,#0  ;关显示
SETB DULA
CLR DULA
LOOP0:
MOV R0,#0
LOOP1:
MOV DPTR,#TABLEW
MOV P0,#0  ;关显示
SETB DULA
CLR DULA
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A  ;送位选值
SETB WELA  ;确定显示的位
CLR WELA
MOV A,R0
ADD A,#1
MOV DPTR,#TABLEK
MOVC A,@A+DPTR
MOV P0,A  ;送段码
SETB DULA
CLR DULA
LCALL DELAYXMS  ;延时X ms,修改延时参数可降低闪烁,小于4ms实现动态扫描
INC R0
CJNE R0,#6,LOOP1
AJMP LOOP0
DELAY:    ;延时1S
SETB RS1
MOV R2,#04H
DELAY2:
MOV R1,#150
DELAY1:
MOV R0,#250
DELAY0:
NOP
NOP 
DJNZ R0,DELAY0
DJNZ R1,DELAY1
DJNZ R2,DELAY2
CLR RS1
RET
DELAYXMS:
SETB RS1
MOV R1,#3  ;延时3 ms
DELAY4:
MOV R0,#250
DELAY3:
NOP
NOP 
DJNZ R0,DELAY3
DJNZ R1,DELAY4
CLR RS1
RET
TABLEK:    ;共阴数码管
DB 	3FH,06H,5BH,4FH
DB  66H,6DH,7DH,07H
DB  7FH,6FH,77H,7CH
DB  39H,5EH,79H,71H
TABLEW:   ;位选控制
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH
END

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值