4字共阳极八段数码管显示

//a,b,c,d,e,f,g,h分别对应P1口的1-8针脚。累加数显示。

W1 EQU P0.0
W2 EQU P0.1
W3 EQU P0.2
W4 EQU P0.3


ORG 0000H
LJMP MAIN

ORG 0100H
MAIN: MOV SP,#30H

REST: MOV 53H,#0
MOV R5,#9;
MOV DPTR,#TABLE1;-----------共阳极数据段,0--F显示,目前用到十进制,进行累加算数。
VIE4: MOV R4,#9;
MOV 52H,#00H;
VIE3: MOV R3,#9;
MOV 51H,#00H;
VIE2: MOV R2,#9;
MOV 50H,#00H;
VIE1: LCALL VIEW1;
INC 50H;
LCALL DELAY10;---------------可视显示效果增加,延时,视亮度发亮
LCALL VIEW2
LCALL DELAY10;---------------
LCALL VIEW3
LCALL DELAY10;------------
LCALL VIEW4
LCALL DELAY10;---------------
CLR W4; ------------------------------------------------
DJNZ R2,VIE1;
INC 51H;
DJNZ R3,VIE2;
INC 52H;
DJNZ R4,VIE3;
INC 53H;
DJNZ R5,VIE4;
LJMP REST

VIEW1: MOV A,50H;
MOVC A,@A+DPTR
MOV P1,A;
SETB W1; -----------------------用到共阴极,除DPTR要指向TABLE2外 ,此标记要取反即 CLR W1;
RET

VIEW2: MOV A,51H;
MOVC A,@A+DPTR
CLR W1; -------------------------
MOV P1,A;
SETB W2; ------------------------------
RET

VIEW3: MOV A,52H;
MOVC A,@A+DPTR
CLR W2; -------------------------
MOV P1,A;
SETB W3; --------------------------
RET

VIEW4: MOV A,53H;
MOVC A,@A+DPTR
CLR W3; ------------------------
MOV P1,A;
SETB W4;-------------------------
RET

delay10: MOV R6,#5FH;
DE1:MOV R7,#5FH;
DJNZ R7,$;
DJNZ R6,DE1;
RET

TABLE1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH;//共阳极数码管
TABLE2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;//共阴极数码管

END

相关文档
最新文档