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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章