⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocmj8x15d.asm

📁 OCMJ的代码 具体是关于金鹏电子的液晶屏的使用方法和介绍。
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;****************************************************
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 '  以质量求生存, 靠技术谋发展  '
DB '昔人已乘黄鹤去,此地空余黄鹤楼'
DB '黄鹤一去不复返,白云'
DB 0C7H,0A7H	;千
DB '载空悠悠'
DB '晴川历历汉阳树,芳草萋萋鹦鹉洲'
DB '日暮乡关何处是,烟波江上使人愁'

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 + -