
ST7036
Initial Program Code Example For 8051 MPU(4 Bit Interface):
;-------------------------------------------------------------------
INITIAL_START:
CALL DELAY40mS
MOV
A,#30H ; FUNCTION SET
CALL
WRINS_ONCE ; 8 bit, DL = 1
CALL
DELAY2mS
MOV
A,#30H ; FUNCTION SET
CALL
WRINS_ONCE ; 8 bit, DL = 1
CALL
DELAY30uS
MOV
A,#30H ; FUNCTION SET
CALL
WRINS_ONCE ; 8 bit, DL = 1
CALL
DELAY30uS
CALL
CHK_BUSY
MOV
A,#20H ; FUNCTION SET
CALL
WRINS_ONCE ; 4 bit, DL = 0
CALL
DELAY30uS
MOV
A,#29H ; FUNCTION SET
CALL
WRINS_CHK ;
4 bit, DL = 0, N = 1,
CALL DELAY30uS ;
IS2 = 0, IS1 = 1
MOV A,#14H ;bias
CALL WRINS_CHK
CALL DELAY30uS
MOV A,#78H ;Contrast set
CALL WRINS_CHK
CALL DELAY30uS
MOV
A,#5EH ;
Power/ICON/Contrast
CALL WRINS_CHK
CALL DELAY30uS
MOV A,#6AH ;Follower control
CALL WRINS_CHK
CALL DELAY30uS
MOV A,#0CH ;DISPLAY ON
CALL WRINS_CHK
CALL DELAY30uS
MOV A,#01H ;CLEAR DISPLAY
CALL WRINS_CHK
CALL DELAY2mS
MOV A,#06H ;ENTRY MODE SET
CALL WRINS_CHK
CALL DELAY30uS
;-------------------------------------------------------------------
MAIN_START:
XXXX
XXXX
XXXX
V1.1
2003/12/24
42/72
XXXX
;-------------------------------------------------------------------
WRINS_CHK:
CALL CHK_BUSY
WRINS_NOCHK:
PUSH A
ANL A,#F0H
CLR RS
CLR RW
SETB E
MOV P1,A
CLR E
POP A
SWAP A
WRINS_ONCE:
ANL A,#F0H
CLR RS
CLR RW
SETB E
MOV P1,A
CLR E
MOV P1,#FFH
RET
;-------------------------------------------------------------------
CHK_BUSY:
PUSH A
MOV P1,#FFH
$1
CLR RS
SETB RW
SETB E
MOV A,P1
CLR E
MOV P1,#FFH
CLR RS
SETB RW
SETB E
NOP
CLR E
JB A.7,$1
POP A
RET
;EX: Port 3.0
;EX: Port 3.1
;EX: Port 3.2
;EX:Port1=Data Bus
;For Check Bus Flag
;Check Busy Flag