?? ocmj8x15d.asm
字號:
;****************************************************
RS EQU P3.0 ;L:存取緩存器,H:存取DDRAM
WR EQU P3.1 ;L有效
RD EQU P3.2 ;L有效
CS1 EQU P3.3 ;L有效
CS2 EQU P3.4 ;H有效
BUSY EQU P3.5
INT EQU P3.6
RST EQU P3.7 ;L有效
REGNAME EQU 30H
REGDATA EQU 31H
REGDATA1 EQU 32H
LCM_X EQU 33H
LCM_Y EQU 34H
LCM_DATA1 EQU 35H
LCM_DATA2 EQU 36H
COUNT1 EQU 37H
COUNT2 EQU 38H
;****************************************************
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: NOP
MOV SP,#5FH
LCALL DELAY2 ;延時120MS等待上電復位
MOV P3,#0FFH
LCALL LCM_INIT
LCALL LCM_CLR
;****************************************************
LGS1: MOV REGNAME,#10H
MOV REGDATA,#6BH
LCALL REG_WRITE
MOV REGNAME,#00H
MOV REGDATA,#0CDH
LCALL REG_WRITE
MOV DPTR,#TAB1
LCALL CHRT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS2: MOV REGNAME,#00H
MOV REGDATA,#0C5H
LCALL REG_WRITE
MOV LCM_DATA1,#0CCH
MOV LCM_DATA2,#0CCH
LCALL LAT_DISP
LCALL DELAY1
MOV LCM_DATA1,#33H
MOV LCM_DATA2,#33H
LCALL LAT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS3: MOV REGNAME,#10H
MOV REGDATA,#7BH
LCALL REG_WRITE
MOV REGNAME,#00H
MOV REGDATA,#0CDH
LCALL REG_WRITE
MOV DPTR,#TAB2
LCALL CHRT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS4: MOV REGNAME,#00H
MOV REGDATA,#0C5H
LCALL REG_WRITE
MOV LCM_DATA1,#0CCH
MOV LCM_DATA2,#33H
LCALL LAT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS5: MOV DPTR,#TAB3
LCALL PHO_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LJMP LGS1
;****************************************************
LCM_INIT: MOV COUNT1,#00H ;初始化
MOV COUNT2,#27H
LCM_INIT1: MOV DPTR,#INITTAB1
MOV A,COUNT1
MOVC A,@A+DPTR
MOV REGNAME,A
MOV DPTR,#INITTAB2
MOV A,COUNT1
MOVC A,@A+DPTR
MOV REGDATA,A
LCALL REG_WRITE
INC COUNT1
DJNZ COUNT2,LCM_INIT1
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LCM_CLR: MOV REGNAME,#0E0H ;清屏
MOV REGDATA,#00H
LCALL REG_WRITE
MOV REGNAME,#0F0H
LCALL REG_READ
MOV A,REGDATA1
ORL A,#08H
MOV REGDATA,A
MOV REGNAME,#0F0H
LCALL REG_WRITE
MOV REGNAME,#00H
MOV REGDATA,#0C5H
LCALL REG_WRITE
MOV LCM_X,#00H
MOV LCM_Y,#00H
LCALL WR_ZB
MOV A,#00H
LCALL DDR_WRITE
RET
;****************************************************
CHRT_DISP: MOV LCM_X,#00H ;全屏顯示中文或字符
MOV LCM_Y,#00H
LCALL WR_ZB
MOV COUNT1,#08H
CHRT_DISP1: MOV COUNT2,#1EH
CHRT_DISP2: CLR A
MOVC A,@A+DPTR
LCALL DDR_WRITE
INC DPTR
DJNZ COUNT2,CHRT_DISP2
DJNZ COUNT1,CHRT_DISP1
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PHO_DISP: MOV LCM_X,#00H ;全屏顯示圖形
MOV LCM_Y,#00H
LCALL WR_ZB
MOV COUNT1,#80H
PHO_DISP1: MOV COUNT2,#1EH
PHO_DISP2: CLR A
MOVC A,@A+DPTR
LCALL DDR_WRITE
INC DPTR
DJNZ COUNT2,PHO_DISP2
DJNZ COUNT1,PHO_DISP1
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LAT_DISP: MOV LCM_X,#00H ;全屏顯示點陣
MOV LCM_Y,#00H
LCALL WR_ZB
MOV COUNT1,#20H
LAT_DISP1: MOV COUNT2,#3CH
LAT_DISP2: MOV A,LCM_DATA1
LCALL DDR_WRITE
DJNZ COUNT2,LAT_DISP2
MOV COUNT2,#3CH
LAT_DISP3: MOV A,LCM_DATA2
LCALL DDR_WRITE
DJNZ COUNT2,LAT_DISP3
DJNZ COUNT1,LAT_DISP1
RET
;****************************************************
WR_ZB: MOV REGNAME,#60H ;定坐標
MOV REGDATA,LCM_X
LCALL REG_WRITE
MOV REGNAME,#70H
MOV REGDATA,LCM_Y
LCALL REG_WRITE
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REG_WRITE: MOV A,REGNAME ;寫資料到緩存器
LCALL REG_WR
MOV A,REGDATA
LCALL REG_WR
RET
REG_WR: MOV P1,A
CLR CS1
SETB RD
CLR RS
CLR WR
NOP
NOP
SETB WR
SETB RS
SETB CS1
RET
DDR_WRITE: JB BUSY,$ ;寫資料到DDRAM
MOV P1,A
CLR CS1
SETB RD
SETB RS
CLR WR
NOP
NOP
SETB WR
SETB RS
SETB CS1
RET
REG_READ: MOV A,REGNAME ;讀緩存器
LCALL REG_WR
MOV P1,#0FFH
CLR CS1
SETB WR
CLR RS
CLR RD
NOP
MOV A,P1
SETB RD
SETB RS
SETB CS1
MOV REGDATA1,A
RET
;****************************************************
DELAY1: MOV R5,#16H
DEL11: MOV R6,#0FFH
DEL12: MOV R7,#0FFH
DEL13: DJNZ R7,DEL13
DJNZ R6,DEL12
DJNZ R5,DEL11
RET
DELAY2: MOV R6,#0EAH
DEL21: MOV R7,#0FFH
DEL22: DJNZ R7,DEL22
DJNZ R6,DEL21
RET
;****************************************************
INITTAB1:
DB 000H,001H,002H,003H,010H,011H,012H,021H,031H,041H,051H,020H,030H,040H,050H,060H
DB 061H,070H,071H,072H,080H,081H,091H,090H,0A0H,0A1H,0A2H,0A3H,0B0H,0B1H,0C0H,0C1H
DB 0C8H,0C9H,0CAH,0D0H,0E0H,0F0H,0F1H
INITTAB2:
DB 0C9H,0F2H,010H,080H,06BH,000H,091H,01DH,07FH,000H,000H,01DH,07FH,000H,000H,000H
DB 000H,000H,000H,07FH,0AAH,000H,000H,00FH,011H,000H,000H,000H,01DH,07FH,000H,00AH
DB 080H,080H,000H,080H,000H,0A0H,00FH
TAB1:
DB '金 鵬 電 子 有 限 公 司'
DB '奧 可 拉 液 '
DB 0BEH,0A7H ;晶
DB ' 顯 示 器'
DB '肇慶市建設四路13號天寧廣場E 棟'
DB ' 以質量求生存, 靠技術謀發(fā)展 '
DB '昔人已乘黃鶴去,此地空余黃鶴樓'
DB '黃鶴一去不復返,白云'
DB 0C7H,0A7H ;千
DB '載空悠悠'
DB '晴川歷歷漢陽樹,芳草萋萋鸚鵡洲'
DB '日暮鄉(xiāng)關何處是,煙波江上使人愁'
TAB2:
DB 'GoldenPalm Electronics Co.,Ltd'
DB ' No.13 Jianshe Road4 Zhaoqing '
DB 'TEL:86-758-2317156 FAX:2317023'
DB 'www.gptlcm.cn syl@gptlcm.cn'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -