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

📄 ocm4x8c(串).asm

📁 奥克拉液晶的详细资料
💻 ASM
字号:
;******************OCM4x8C串口******************
CS	EQU	P3.0
STD	EQU	P3.1
SCLK	EQU	P3.2
PSB	EQU	P3.3
RST	EQU	P3.5
RS_STU	EQU	20H.0

LCD_X	EQU	30H
LCD_Y	EQU	31H
LCD_X1	EQU	32H
LCD_Y1	EQU	33H
COUNT	EQU	34H
COUNT1	EQU	35H
COUNT2	EQU	36H
COUNT3	EQU	37H
LCD_DATA	EQU	38H
LCD_DATA1	EQU	39H
LCD_DATA2	EQU	3AH
DA_IN		EQU	3BH
WR_COUNT1	EQU	3CH
WR_COUNT2	EQU	3DH
;***********************************************
		ORG	0000H
		LJMP	MAIN
		ORG	0100H
MAIN:		NOP
		NOP
		MOV	SP,#5FH
		SETB	RST
		CLR	PSB
;********************初始化**********************
LGS0:		MOV	A,#34H			;34H--扩充指令操作
		LCALL	SEND_I
		MOV	A,#30H			;30H--基本指令操作
		LCALL	SEND_I
		MOV	A,#01H			;清除显示
		LCALL	SEND_I
		LCALL	DELAY2
		LCALL	DELAY2
		MOV	A,#06H			;指定在资料写入或读取时,光标的移动方向
		LCALL	SEND_I
		MOV	A,#0CH			;开显示,关光标,不闪烁
		LCALL	SEND_I
;***********************************************
LGS1:		MOV	DPTR,#TAB1		;显示汉字和字符
		MOV	COUNT,#40H
		MOV	A,#80H
		LCALL	SEND_I
LGS11:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS11
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS2:		MOV	A,#01H
		LCALL	SEND_I
		LCALL	DELAY2
		LCALL	DELAY2

		MOV	LCD_DATA1,#0CCH		;显示点阵
		MOV	LCD_DATA2,#0CCH
		LCALL	LAT_DISP
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS3:		MOV	A,#34H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I

		MOV	DPTR,#TAB3		;显示汉字和字符
		MOV	COUNT,#40H
		MOV	A,#80H
		LCALL	SEND_I
LGS31:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS31
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS4:		MOV	A,#01H
		LCALL	SEND_I
		LCALL	DELAY2
		LCALL	DELAY2

		MOV	LCD_DATA1,#0FFH		;显示点阵
		MOV	LCD_DATA2,#00H
		LCALL	LAT_DISP
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS5:		MOV	DPTR,#TAB5		;显示图形
		LCALL	PHO_DISP
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
		MOV	A,#34H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		LJMP	LGS1
;***********************************************
PHO_DISP:	MOV	COUNT3,#02H		;全屏显示图形子程序
		MOV	LCD_X,#80H
PHO_DISP1:	MOV	LCD_Y,#80H
		MOV	COUNT2,#20H
PHO_DISP2:	MOV	COUNT1,#10H
		LCALL	WR_ZB
PHO_DISP3:	CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT1,PHO_DISP3
		INC	LCD_Y
		DJNZ	COUNT2,PHO_DISP2
		MOV	LCD_X,#88H
		DJNZ	COUNT3,PHO_DISP1

		MOV	A,#36H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
CLRRAM:		MOV	LCD_DATA1,#00H		;GDRAM写0子程序
		MOV	LCD_DATA2,#00H
		LCALL	LAT_DISP
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LAT_DISP:	MOV	COUNT3,#02H		;显示点阵子程序
		MOV	LCD_X,#80H
LAT_DISP1:	MOV	LCD_Y,#80H
		CLR	F0
		MOV	COUNT2,#20H
LAT_DISP2:	MOV	COUNT1,#10H
		LCALL	WR_ZB
LAT_DISP3:	JB	F0,LAT_DISP32
		MOV	LCD_DATA,LCD_DATA1
		AJMP	LAT_DISP31
LAT_DISP32:	MOV	LCD_DATA,LCD_DATA2
LAT_DISP31:	MOV	A,LCD_DATA
		LCALL	SEND_D
		DJNZ	COUNT1,LAT_DISP31
		INC	LCD_Y
		CPL	F0
		DJNZ	COUNT2,LAT_DISP2
		MOV	LCD_X,#88H
		DJNZ	COUNT3,LAT_DISP1

		MOV	A,#36H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
WR_ZB:		MOV	A,#34H
		LCALL	SEND_I
		MOV	A,LCD_Y
		LCALL	SEND_I
		MOV	A,LCD_X
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		RET
;***********************************************
SEND_D:		SETB	RS_STU			;写数据子程序
		MOV	DA_IN,A
		LCALL	SERIAL_WR
		RET

SEND_I:		CLR	RS_STU			;写指令子程序
		MOV	DA_IN,A
		LCALL	SERIAL_WR
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;DA_IN:     数据或指令
;RS_STU:    数据指令选择
;WR_COUNT1: 计数器1
;WR_COUNT2: 计数器2

SERIAL_WR:	PUSH	ACC
		MOV	A,DA_IN
		SETB	CS
		
		MOV	WR_COUNT1,#05H
		SETB	STD			;1
SERIAL_WR1:	CLR	SCLK
		SETB	SCLK
		DJNZ	WR_COUNT1,SERIAL_WR1
		
		CLR	STD			;RW
		CLR	SCLK
		SETB	SCLK
		JNB	RS_STU,CLR_RS
		SETB	STD			;写数据
		SJMP	SETB_RS
CLR_RS:		CLR	STD			;写指令
SETB_RS:	CLR	SCLK
		SETB	SCLK
		CLR	STD			;0
		CLR	SCLK
		SETB	SCLK
		
		MOV	WR_COUNT1,#02H
SERIAL_WR2:	MOV	WR_COUNT2,#04H
SERIAL_WR21:	RLC	A
		MOV	STD,C
		CLR	SCLK
		SETB	SCLK
		DJNZ	WR_COUNT2,SERIAL_WR21
		MOV	WR_COUNT2,#04H
		CLR	STD			;0
SERIAL_WR22:	CLR	SCLK
		SETB	SCLK
		DJNZ	WR_COUNT2,SERIAL_WR22
		DJNZ	WR_COUNT1,SERIAL_WR2
		
		CLR	SCLK
		CLR	CS
		LCALL	DELAY2
		POP	ACC
		RET
;***********************************************
DELAY3:		MOV	R5,#16H
DEL31:		MOV	R6,#0FFH
DEL32:		MOV	R7,#0FFH
DEL33:		DJNZ	R7,DEL33
		DJNZ	R6,DEL32
		DJNZ	R5,DEL31
		RET

DELAY2:		MOV	R6,#06H
DEL21:		MOV	R7,#18H
DEL22:		DJNZ	R7,DEL22
		DJNZ	R6,DEL21
		RET
;***********************************************
TAB1:	DB '金鹏科技有限公司'
	DB 'GOLDEN PALM TECH'
	DB '奥可拉液'
	DB 0BEH,0A7H	;晶
	DB '显示器'
	DB 'TEL:0758-2263858'

TAB3:	DB '模块内置二级字库'
	DB '~!@#$%^&*()_+|{}'
	DB '使用更方便更灵活'
	DB 0A2H,0D9H,0A2H,0DAH,0A2H,0DBH,0A2H,0DCH,0A2H,0DDH,0A2H,0DEH,0A2H,0DFH,0A2H,0E0H

TAB5:
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,01H,80H,00,60H,04H,00,38H,00,00,00,00,00
DB  00,00,00,00,03H,0E0H,30H,78H,0FH,00,78H,00,00,00,00,00
DB  00,00,00,00,06H,0A0H,38H,0F8H,0FH,00,78H,0FFH,0E0H,00,00,00
DB  00,00,00,00,1DH,20H,3CH,18H,0EH,00,60H,80H,10H,00,00,00
DB  00,00,00,00,19H,30H,07H,00,08H,00,40H,80H,18H,00,00,00
DB  00,00,00,00,30H,10H,07H,0FH,0F8H,00,00,40H,0CH,00,00,00
DB  00,00,00,00,60H,0F0H,00,7FH,8CH,00,00,40H,03H,00,00,00
DB  00,00,00,00,0C1H,80,01H,0C0H,0F7H,0F0H,00,40H,01H,80H,00,00
DB  00,00,00,01H,86H,03H,0FFH,00,10H,1CH,00,0C0H,00,0C0H,00,00
DB  00,00,00,01H,04H,3FH,0FFH,0C0H,10H,01H,0C0H,0C0H,40H,70H,0FH,00
DB  00,00,00,01H,0FH,0FFH,0FFH,0F3H,0DFH,0F8H,70H,80H,60H,1EH,7FH,00
DB  00,00,3CH,01H,8FH,0FFH,0FFH,0FFH,0C0H,02H,18H,80H,40H,02H,00,00
DB  00,00,1FH,00,0FFH,0FFH,0FFH,0FFH,38H,03H,86H,80H,0C0H,01H,00,00
DB  00,00,03H,0E0H,0FFH,0FFH,0FFH,0FFH,0F8H,00,83H,00,0C0H,01H,80H,00
DB  00,00,00,00,3FH,0FFH,0FFH,0FFH,0E0H,00,83H,03H,80H,00,80H,00
DB  00,0FH,0F0H,00H,7FH,0FFH,0FFH,0FFH,0F8H,00,83H,07H,02H,00,80,00
DB  00,03H,0E0H,00,7FH,0F0H,07H,0FFH,0FCH,01H,83H,0FEH,06H,03H,80H,00
DB  00,00,00,00,7FH,0F8H,01H,0FFH,0FEH,01H,02H,06H,0EH,0FH,80H,00
DB  00,00,00,00,7FH,0FCH,00H,7FH,0FFH,0FFH,0EH,03H,1CH,0EH,00,00
DB  00,00,00,00,7FH,0FFH,00,7FH,0FFH,0F8H,00,01H,0E8H,0C6H,00,00
DB  00,03H,0FFH,0C0H,7FH,0FFH,0C0H,3FH,0FFH,0FCH,00,00H,63H,83H,00,00
DB  00,01H,0FEH,00,3FH,0FFH,0F8H,3FH,0FFH,0FFH,80H,00,3EH,03H,00,00
DB  00,00,00,00,1FH,0FFH,0FEH,1FH,0FFH,0FFH,0C0H,00,1CH,01H,80H,00
DB  00,00,00,00,1FH,0FFH,0FFH,0FFH,0FFH,0FFH,0F0H,00,0CH,00,80H,00
DB  00,00,00,00,0FH,0FFH,0FFH,0FFH,0FFH,0FFH,0F0H,00,07H,0F0H,80H,00
DB  00,00,00,00,0FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,00,03H,80H,80H,0FEH
DB  00,00,00,00,18H,0FFH,0FFH,0FFH,0FFH,0FFH,0FCH,00,1FH,0C0H,83H,82H
DB  00,00,00,00,33H,0BFH,0FFH,0FFH,0FFH,0FFH,0C4H,00,41H,0FFH,0FEH,06H
DB  00,00,00,00,0E6H,0FH,0FFH,0FFH,0FFH,0FFH,0FH,00,70H,00,00,3CH
DB  00,00,00,01H,8CH,0DH,0FFH,0FFH,0FFH,0F8H,09H,80H,1FH,0E0H,00,3CH
DB  00,00,00,03H,1FH,8EH,00,0FFH,0FFH,80H,19H,80H,00,3FH,0F0H,04H
DB  00,00,00,0CH,77H,0F3H,0E0H,07H,0FFH,00,71H,80H,00,33H,18H,04H
DB  00,00,00,39H,0C7H,0E0H,38H,00,00,00,0C1H,80H,00,22H,04H,0CH
DB  00,00,00,67H,07H,0C0H,0FH,00,00,07H,81H,80H,00,46H,03H,0F8H
DB  00,00,03H,0FCH,07H,0FCH,00,0E0H,00,0CH,01H,80H,00,1CH,00,00
DB  00,0FCH,07H,0E0H,03H,0FFH,00,1FH,0FFH,0F0H,01H,80H,00,30H,00,00
DB  3BH,0FFH,0FFH,80H,00,0FFH,0C0H,00,00,00,01H,80H,00,60H,00,00
DB  7FH,0FFH,0F8H,0F8H,00,7FH,0F8H,00,00,00,03H,0C0H,00,60H,00,00
DB  7FH,0FFH,0FEH,0EH,00,3FH,0FEH,00,00,00,0FH,0C0H,00,0C0H,00,00
DB  3FH,0FFH,0F9H,0FCH,0FFH,0CFH,0FFH,80,00,00,1FH,0C0H,00,80H,00,00
DB  07H,0FFH,0C0H,7BH,0E0H,7FH,0FFH,0E0H,00,00,3FH,00,03H,87H,0FFH,0E0H
DB  00,00,01H,0C0H,3FH,83H,0FFH,0FEH,00H,03H,0FEH,00,0EH,04H,7FH,0E0H
DB  00,00,07H,00,00,7EH,0FH,0FFH,0FFH,0FFH,0FCH,00,38H,00,7FH,00
DB  00,00,1FH,00,00,7FH,0FEH,7FH,0FFH,0FFH,0F8H,00,60H,00,00,00
DB  00,00,3FH,0E0H,07H,0FFH,83H,0FFH,0DFH,0FFH,0C0H,01H,80H,00,00,00
DB  00,00,3FH,0FCH,7CH,7FH,0C0H,00,3FH,0FDH,00,03H,00,00,00,00
DB  00,00,7FH,0FFH,80H,7FH,0E0H,00,00,06H,03H,0FEH,00,00,00,00
DB  00,00,0FFH,0FFH,80H,7FH,0E0H,00,03H,0E3H,07H,0E0H,00,00,00,00
DB  00,00,0FFH,0FEH,00,3FH,0E0H,00,3EH,3FH,8CH,00,00,00,00,00
DB  00,00,0FFH,0FEH,00,08H,60H,00,0E0H,0BH,0FFH,80H,00,00,00,00
DB  00,00,7FH,0FFH,00,38H,60H,01H,80H,7FH,0F8H,0FFH,00,00,00,00
DB  00,00,7FH,0FFH,0FFH,0C0H,0E0H,00,0F0H,0C0H,1EH,00,0C0H,00,00,00
DB  00,00,30H,00,0FH,0E0H,0C0H,00,67H,00,03H,0C6H,60H,00,00,00
DB  00,00,18H,00,0FH,0FFH,80H,00,3CH,00,00,23H,30H,00,00,00
DB  00,00,0CH,00,0FH,0FFH,00,00,00,00,00,19H,10H,00,00,00
DB  00,00,03H,0C0H,0FH,0F8H,00,00,00,00,00,08H,10H,00,00,00
DB  00,00,00,7FH,0FFH,0E0H,00,00,00,00,00,07H,0F0H,00,00,00
DB  00,00,00,0FH,0FCH,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
DB  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

		END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -