程序
CLK BIT P1.3
DIN BIT P1.1
DOUT BIT P1.0
CS BIT P1.2
DAT EQU 25H
COM EQU 24H
RS EQU P2.5
RW EQU P2.6
E EQU P2.7
ORG 0000H
MAIN:MOV SP,#60H
LCALL LCD_INT
HERE:LCALL TLC2543
LCALL TLC2543
MOV 30H,R6
MOV A,#01
ADD A,30H
MOV 31H,R7
LCALL BCD
LCALL BCD1
LCALL DISP
LCALL D200MS
LCALL D200MS
LCALL D200MS
AJMP HERE
LCD_INT:MOV COM,#28H
LCALL PR1
MOV COM,#01H
LCALL PR1
MOV COM,#06H
LCALL PR1
MOV COM,#0CH
LCALL PR1
RET
PR1: PUSH ACC
LCALL D5MS
CLR RW
CLR RS
MOV P0,COM
SETB E
NOP
CLR E
MOV A,COM
SWAP A
MOV P0,A
SETB E
NOP
CLR E
POP ACC
RET
PR2:PUSH ACC
LCALL D5MS
CLR RW
SETB RS
MOV P0,DAT
SETB E
CLR E
MOV A,DAT
SWAP A
MOV P0,A
SETB E
CLR E
POP ACC
RET
TLC2543:SETB DOUT
CLR CLK
SETB CS
MOV R4,#0CH
MOV A,R4
CLR CS
JB ACC.1,LSB
MSB:MOV R5,#08
LOOP1:MOV C,DOUT
RLC A
MOV DIN,C
SETB CLK
CLR CLK
DJNZ R5,LOOP1
MOV R6,A
MOV A,R4
JB ACC.1,RETURN
LSB:MOV R5,#08
LOOP2:MOV C,DOUT
RLC A
MOV DIN ,C
SETB CLK
CLR CLK
DJNZ R5,LOOP2
MOV R7,A
MOV A,R4
JB ACC.1,MSB
RETURN:SETB CS
RET
BCD:MOV R3,#4
L1:CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
DJNZ R3,L1
CLR A
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H
HB3:CLR C
MOV A,R7
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5
ADDC A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A
DJNZ R2,HB3
RET
BCD1:MOV A,R3
ANL A,#0F0H
SWAP A
MOV 41H,A
MOV A,R3
ANL A,#0FH
MOV 42H,A
MOV A,R4
ANL A,#0F0H
SWAP A
MOV 43H,A
MOV 44H,#10
MOV A,R4
ANL A,#0FH
MOV 45H,A
MOV A,R5
ANL A,#0F0H
SWAP A
MOV 46H,A
MOV A,R5
ANL A,#0FH
MOV 47H,A
MOV 48H,#11
RET
DISP:MOV COM,#085H
LCALL PR1
MOV DPTR,#TAB
MOV R3,#6
MOV R1,#43H
DISP1:MOV A,@R1
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R1
DJNZ R3,DISP
RET
TAB:DB '0123456789.V'
D5MS:MOV R7,#5
D1:MOV R6,#250
DJNZ R6,$
DJNZ R7,D1
RET
D200MS:MOV R0,#2
D4:MOV R7,#255
D5:MOV R6,#255
DJNZ R6,$
DJNZ R7,D5
DJNZ R0,D4
RET
END