?? ocm19264.asm
字號(hào):
;OCM19264模塊測(cè)試程序
D_I EQU P3.0 ;Data or Instrument Select,H:寫數(shù)據(jù),L:寫指令
R_W EQU P3.1 ;Write or Read,H:read,L:write
E EQU P3.2 ;讀寫使能
CS1 EQU P3.3 ;CS1=L,選擇左邊屏
RESET EQU P3.4 ;Lcm reset,低有效
CS2 EQU P3.5 ;CS2=L,選擇中間屏
CS3 EQU P3.6 ;CS3=L,選擇右邊屏
DISP_X EQU 30H
DISP_Y EQU 31H
DISP_Z EQU 32H
LONG EQU 33H
WIDE EQU 34H
DATA1_WR EQU 35H
DATA2_WR EQU 36H
COUNTER1 EQU 37H
COUNTER2 EQU 38H
;**********************************************
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV SP,#5FH
CLR RESET
NOP
NOP
NOP
SETB RESET
MOV DISP_Z,#0C0H
;**********************************************
LGS1: CLR CS1
SETB CS2
SETB CS3
MOV DISP_X,#0B8H
MOV DISP_Y,#40H
MOV LONG,#40H
MOV WIDE,#02H
MOV DPTR,#HZ11
LCALL CHN_DISP
MOV DISP_X,#0BAH
MOV DPTR,#HZ21
LCALL CHN_DISP
MOV DISP_X,#0BCH
MOV DPTR,#HZ31
LCALL CHN_DISP
MOV DISP_X,#0BEH
MOV DPTR,#HZ41
LCALL CHN_DISP
SETB CS1
CLR CS2
SETB CS3
MOV DISP_X,#0B8H
MOV DISP_Y,#40H
MOV LONG,#40H
MOV WIDE,#02H
MOV DPTR,#HZ12
LCALL CHN_DISP
MOV DISP_X,#0BAH
MOV DPTR,#HZ22
LCALL CHN_DISP
MOV DISP_X,#0BCH
MOV DPTR,#HZ32
LCALL CHN_DISP
MOV DISP_X,#0BEH
MOV DPTR,#HZ42
LCALL CHN_DISP
SETB CS1
SETB CS2
CLR CS3
MOV DISP_X,#0B8H
MOV DISP_Y,#40H
MOV LONG,#40H
MOV WIDE,#02H
MOV DPTR,#HZ13
LCALL CHN_DISP
MOV DISP_X,#0BAH
MOV DPTR,#HZ23
LCALL CHN_DISP
MOV DISP_X,#0BCH
MOV DPTR,#HZ33
LCALL CHN_DISP
MOV DISP_X,#0BEH
MOV DPTR,#HZ43
LCALL CHN_DISP
LCALL DELAY1
;----------------------------------------------
LGS2: CLR CS1
CLR CS2
CLR CS3
MOV DATA1_WR,#0FFH
MOV DATA2_WR,#0FFH
LCALL WRLATTICE
LCALL DELAY1
;----------------------------------------------
LGS3: CLR CS1
CLR CS2
CLR CS3
MOV DISP_X,#0B8H
MOV DISP_Y,#40H
MOV LONG,#20H
MOV WIDE,#04H
MOV DPTR,#GPTB1
LCALL CHN_DISP
MOV DISP_X,#0B8H
MOV DISP_Y,#60H
MOV DPTR,#GPTB2
LCALL CHN_DISP
MOV DISP_X,#0BCH
MOV DISP_Y,#40H
MOV DPTR,#GPTB2
LCALL CHN_DISP
MOV DISP_X,#0BCH
MOV DISP_Y,#60H
MOV DPTR,#GPTB1
LCALL CHN_DISP
LCALL DELAY1
;----------------------------------------------
LGS4: CLR CS1
CLR CS2
CLR CS3
MOV DATA1_WR,#0FFH
MOV DATA2_WR,#00H
LCALL WRLATTICE
LCALL DELAY1
;----------------------------------------------
LGS5: MOV DPTR,#HOCO
LCALL PHO_DISP
LCALL DELAY1
;----------------------------------------------
LGS6: CLR CS1
CLR CS2
CLR CS3
MOV DATA1_WR,#33H
MOV DATA2_WR,#33H
LCALL WRLATTICE
LCALL DELAY1
;----------------------------------------------
LJMP LGS1
;**********************************************
WRLATTICE: MOV COUNTER1,#08H ;寫點(diǎn)陣
MOV DISP_X,#0B8H
MOV DISP_Z,#0C0H
MOV DISP_Y,#40H
LCALL DISP
LATTICE1: LCALL WR_ZB
MOV COUNTER2,#20H
LATTICE2: MOV A,DATA1_WR
LCALL WR_DATA
MOV A,DATA2_WR
LCALL WR_DATA
DJNZ COUNTER2,LATTICE2
INC DISP_X
DJNZ COUNTER1,LATTICE1
RET
;----------------------------------------------
PHO_DISP: MOV COUNTER1,#08H ;全屏顯示圖形
MOV DISP_X,#0B8H
MOV DISP_Z,#0C0H
MOV DISP_Y,#40H
PHO_DISP1: CLR CS1
SETB CS2
SETB CS3
LCALL DISP
LCALL WR_ZB
MOV COUNTER2,#40H
PHO_DISP11: CLR A
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ COUNTER2,PHO_DISP11
PHO_DISP2: SETB CS1
CLR CS2
SETB CS3
LCALL DISP
LCALL WR_ZB
MOV COUNTER2,#40H
PHO_DISP21: CLR A
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ COUNTER2,PHO_DISP21
PHO_DISP3: SETB CS1
SETB CS2
CLR CS3
LCALL DISP
LCALL WR_ZB
MOV COUNTER2,#40H
PHO_DISP31: CLR A
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ COUNTER2,PHO_DISP31
INC DISP_X
DJNZ COUNTER1,PHO_DISP1
RET
;----------------------------------------------
CHN_DISP: LCALL DISP ;顯示LONGxWIDE大小的圖形
MOV COUNTER1,WIDE
CHN_DISP1: LCALL WR_ZB
MOV COUNTER2,LONG
CHN_DISP2: CLR A
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ COUNTER2,CHN_DISP2
INC DISP_X
DJNZ COUNTER1,CHN_DISP1
RET
;----------------------------------------------
WR_ZB: MOV A,DISP_X
LCALL WR_INT
MOV A,DISP_Z
LCALL WR_INT
MOV A,DISP_Y
LCALL WR_INT
RET
;----------------------------------------------
DISP: MOV A,#3EH
LCALL WR_INT
MOV A,#3FH
LCALL WR_INT
RET
;**********************************************
WR_INT: LCALL CHE_BUSY ;WRITE INSTRUCTION
CLR D_I
CLR R_W
MOV P1,A
NOP
SETB E
NOP
NOP
CLR E
RET
;----------------------------------------------
WR_DATA: LCALL CHE_BUSY ;WRITE DATA
SETB D_I
CLR R_W
MOV P1,A
NOP
SETB E
NOP
NOP
CLR E
RET
;----------------------------------------------
CHE_BUSY: MOV P1,#0FFH ;CHECK STATIU
CLR D_I
SETB R_W
NOP
SETB E
JB P1.7,$
JB P1.4,$
CLR E
RET
;**********************************************
DELAY1: MOV R7,#0FH
DEL11: MOV R6,#0FFH
DEL12: MOV R5,#0FFH
DEL13: DJNZ R5,DEL13
DJNZ R6,DEL12
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -