串行模式的驱动子程序如下:
CS EQU P3.0 ;
SID EQU P3.1 ;
CLK EQU P3.2 ;
1、写指令代码子程序
WRITE_COM:
LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111000B
COMM1:
CLR C
RLC A
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,COMM1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
COMM2: CLR C
RLC A
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,COMM2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
COMM3: CLR C
RLC A
; CLR CLK
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,COMM3
CLR CS
RET
2、写显示数据子程序
WRITE_DAT:
LCALL DELAY1
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111010B
DATA1: CLR C
RLC A
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,DATA1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
DATA2: CLR C
RLC A
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,DATA2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
DATA3: CLR C
RLC A
CLR CLK
MOV SID,C
SETB CLK
DJNZ R0,DATA3
CLR CS
RET