2.串行接口
ORG 0000H
LJMP MAIN
ORG 0100H
COMMAND EQU 30H
DATA1 EQU 31H
DATA2 EQU 32H
DATA3 EQU 33H ;数据或命令代码
CLK EQU P3.1
SID EQU P3.4
CS EQU P3.5
;*********写指令代码************************
PR1:
PUSH ACC
MOV R0,#08H
SETB CS
SETB C
MOV A,DATA3
XUN1:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN1
MOV R0,#08H
MOV A,DATA2
ANL A,#0F0H
XUN2:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN2
MOV R0,#08H
MOV A,DATA2
ANL A,#0FH
SWAP A
XUN3:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN3
CLR CS
POP ACC
RET
PR2:
PUSH ACC
MOV R0,#08H
SETB CS
SETB C
MOV A,DATA3
XUN21:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN21
MOV R0,#08H
MOV A,DATA2
ANL A,#0F0H
XUN22:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN22
MOV R0,#08H
MOV A,DATA2
ANL A,#0FH
SWAP A
XUN23:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN23
MOV R0,#08H
MOV A,DATA2
ANL A,#0F0H
XUN24:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN24
MOV R0,#08H
MOV A,DATA2
ANL A,#0FH
SWAP A
XUN25:RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,XUN25
CLR CS
POP ACC
RET
;********延时程序**************************
DELAY:
MOV R6,#00H
MOV R7,#00H
DELAY1:
NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
;********读BF和AC值************************
PR0:
PUSH ACC
MOV P1,#0FFH
; CLR RS
; SETB RW
; SETB E
; MOV COMMAND,P1
; CLR E
;; POP ACC
RET
;*********写显示数据************************
;**********主程序****************************
MAIN:
MOV P2,#00H
MOV SP,#67H
LCALL DELAY
LCALL DELAY
MOV DATA3,#0F8H
MOV DATA2,#30H
LCALL PR1
MOV DATA3,#0F8H
MOV DATA2,#0CH
LCALL PR1
MOV DATA3,#0F8H
MOV DATA2,#01H
LCALL PR1
MOV DATA3,#0F8H
MOV DATA2,#02H
LCALL PR1
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
LCALL DELAY
MOV R1,#40H ;显示HCGROM
MOV DATA2,#02H
L1: MOV DATA3,#0FAH
LCALL PR1
INC DATA2
DJNZ R1,L1
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#01H
MOV DATA2,#40H
L2: MOV DATA3,#0FAH
LCALL PR1
INC DATA2
DJNZ R1,L2
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;*************写CGRAM***************************
MOV DATA3,#0F8H
MOV DATA2,#40H
LCALL PR1
MOV R1,#08H
LI1: MOV DATA3,#0FAH
MOV DATA2,#0FFH
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
LCALL PR1
DJNZ R1,LI1;写0000H
MOV DATA3,#0F8H
MOV DATA2,#50H
LCALL PR1
MOV R1,#08H
LI2: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#0FFH
LCALL PR1
LCALL PR1
DJNZ R1,LI2 ;写0002H
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG1: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG1
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG2: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG2
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示横条
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG3: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG3
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG4: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG4
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示下横条
MOV DATA3,#0F8H
MOV DATA2,#40H
LCALL PR1
MOV R1,#08H
LI11: MOV DATA3,#0FAH
MOV DATA2,#0AAH
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#0AAH
LCALL PR1
LCALL PR1
DJNZ R1,LI11;写0000H
MOV DATA3,#0F8H
MOV DATA2,#50H
LCALL PR1
MOV R1,#08H
LI12: MOV DATA3,#0FAH
MOV DATA2,#55H
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#55H
LCALL PR1
LCALL PR1
DJNZ R1,LI12 ;写0002H
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG11: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG11
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG12: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG12
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示竖条
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG13: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG13
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG14: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG14
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示下竖条
;*******************显示雪点*********************
MOV DATA3,#0F8H
MOV DATA2,#40H
LCALL PR1
MOV R1,#08H
LI21: MOV DATA3,#0FAH
MOV DATA2,#0AAH
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#55H
LCALL PR1
LCALL PR1
DJNZ R1,LI21;写0000H
MOV DATA3,#0F8H
MOV DATA2,#50H
LCALL PR1
MOV R1,#08H
LI22: MOV DATA3,#0FAH
MOV DATA2,#55H
LCALL PR1
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#0AAH
LCALL PR1
LCALL PR1
DJNZ R1,LI22 ;写0002H
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG21: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG21
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG22: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
DJNZ R1,HG22
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
HG23: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG23
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
HG24: MOV DATA3,#0FAH
MOV DATA2,#00H
LCALL PR1
MOV DATA3,#0FAH
MOV DATA2,#02H
LCALL PR1
DJNZ R1,HG24
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY ;显示
;************************************************
MOV DATA3,#0F8H
MOV DATA2,#80H
LCALL PR1
MOV R1,#10H
MOV DPTR,#CHINESE1
MM1: CLR A
MOVC A,@A+DPTR
MOV DATA2,A
MOV DATA3,#0FAH
LCALL PR1
INC DPTR
DJNZ R1,MM1
MOV DATA3,#0F8H
MOV DATA2,#90H
LCALL PR1
MOV R1,#10H
MOV DPTR,#CHINESE2
MM2: CLR A
MOVC A,@A+DPTR
MOV DATA2,A
MOV DATA3,#0FAH
LCALL PR1
INC DPTR
DJNZ R1,MM2
MOV DATA3,#0F8H
MOV DATA2,#88H
LCALL PR1
MOV R1,#10H
MOV DPTR,#CHINESE3
MM3: CLR A
MOVC A,@A+DPTR
MOV DATA2,A
MOV DATA3,#0FAH
LCALL PR1
INC DPTR
DJNZ R1,MM3
MOV DATA3,#0F8H
MOV DATA2,#98H
LCALL PR1
MOV R1,#10H
MOV DPTR,#CHINESE4
MM4: CLR A
MOVC A,@A+DPTR
MOV DATA2,A
MOV DATA3,#0FAH
LCALL PR1
INC DPTR
DJNZ R1,MM4
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP MAIN
CHINESE1:
DB 0B1H,0B1H,0BEH,0A9H,0D3H,0D1H,0C1H,0A6H,0B7H,0A2H,0BFH,0C6H,0C3H,0B3H,0D3H,0D0H
CHINESE2:
DB 0A6H,0E0H,0BEH,0ADH,0C0H,0EDH,0A3H,0BAH,0CEH,0E2H,0D1H,0B5H,0A6H,0E0H,0A6H,0E0H
CHINESE3:
DB 0B5H,0E7H,0BBH,0B0H,0A3H,0BAH,0A3H,0B1H,0A3H,0B3H,0A3H,0B8H,0A3H,0B0H,0A3H,0B1H
CHINESE4:
DB 0A3H,0B0H,0A3H,0B3H,0A3H,0B3H,0A3H,0B5H,0A3H,0B0H,0A3H,0B8H,0A6H,0E0H,0A6H,0E0H
END
(1) (2)
(3) (4)
(5) (6)
(7) (8)
(9) (10)
(11)
(12)