
ST7038
Ver 1.1
40/61
2007/01/25
Initial Code (8051 MPU, Serial 4-line SPI Interface)
;-------------------------------------------------------------------
INITIAL_START:
INITIAL_START:
CALL HARDWARE_RESET
CALL DELAY40mS
MOV A,#22H ;FUNCTION SET
CALL WRINS_NOCHK ;8 bit,
CALL DELAY40uS
MOV A,#22H ;FUNCTION SET
CALL WRINS_NOCHK ;8 bit,
CALL DELAY40uS
MOV A,#54H ;Internal OSC frequency
adjustment
CALL WRINS_CHK
CALL DELAY40uS
MOV A,#21H ;FUNCTION SET
CALL WRINS_CHK ;8 bit,
CALL DELAY40uS
MOV A,#7FH ;Contrast set
CALL WRINS_CHK
CALL DELAY40uS
MOV A,#53H ;Power down/Contrast set
CALL WRINS_CHK
CALL DELAY40uS
MOV A,#14H ; Bias/Follwer set
CALL WRINS_CHK
CALL DELAY40uS
MOV A,#67H ; ICON/Power(B,R,F) set
CALL WRINS_CHK
CALL DELAY200mS ;for power stable
MOV A,#0CH ;DISPLAY ON
CALL WRINS_CHK
CALL DELAY40uS
MOV A,#01H ;CLEAR DISPLAY
CALL WRINS_CHK
CALL DELAY2mS
;-------------------------------------------------------------------
MAIN_START:
XXXX
XXXX
XXXX
.
.
.
.
.
;-------------------------------------------------------------------
WRINS_CHK:
CALL CHK_BUSY
WRINS_NOCHK:
PUSH A
ANL A,#F0H
CLR RS
;EX:Port 3.0
CLR RW
;EX:Port 3.1
SETB E
;EX:Port 3.2
MOV P1,A
;EX:Port1=Data Bus
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 ;For Check Bus Flag
RET
;-------------------------------------------------------------------
CHK_BUSY:
;Check Busy Flag
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