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

📄 2x10c_2.asm

📁 OCMJ2x10C_2测架(串)汇编程序
💻 ASM
字号:
;******************OCM2x10C并*******************
;RS	EQU	P3.0
;RW	EQU	P3.1
;E	EQU	P3.2
;PSB	EQU	P3.3
;RST	EQU	P3.5
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
		MOV	SP,#5FH
		NOP
		SETB	RST
		NOP
		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,#14H
		MOV	A,#80H
		LCALL	SEND_I
LGS11:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS11
		
		MOV	COUNT,#14H
		MOV	A,#90H
		LCALL	SEND_I
LGS12:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS12
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS2:		MOV	A,#01H
		LCALL	SEND_I
		LCALL	DELAY2
		LCALL	DELAY2
		
		MOV	LCD_DATA1,#0CCH		;显示点阵
		MOV	LCD_DATA2,#0CCH
		LCALL	WRLATTICE
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS3:		MOV	A,#34H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		
		MOV	DPTR,#TAB3		;显示汉字和字符
		MOV	COUNT,#14H
		MOV	A,#80H
		LCALL	SEND_I
LGS31:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS31
		
		MOV	COUNT,#14H
		MOV	A,#90H
		LCALL	SEND_I
LGS32:		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		DJNZ	COUNT,LGS32
		LCALL	DELAY3
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
LGS4:		MOV	A,#01H
		LCALL	SEND_I
		LCALL	DELAY2
		LCALL	DELAY2
		
		MOV	LCD_DATA1,#0FFH		;显示点阵
		MOV	LCD_DATA2,#00H
		LCALL	WRLATTICE
		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	LCD_X,#80H		;全屏显示图形子程序
		MOV	LCD_Y1,#80H
PHO_DISP1:	MOV	COUNT2,#20H
PHO_DISP2:	MOV	COUNT1,#0AH
		MOV	LCD_X1,LCD_X
PHO_DISP3:	LCALL	WR_ZB
		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		CLR	A
		MOVC	A,@A+DPTR
		LCALL	SEND_D
		INC	DPTR
		INC	LCD_X1
		DJNZ	COUNT1,PHO_DISP3
		INC	LCD_Y1
		DJNZ	COUNT2,PHO_DISP2
		
		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	WRLATTICE
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
WRLATTICE:	MOV	LCD_X,#80H		;显示点阵子程序
		MOV	LCD_Y1,#80H
WRLAT1:		CLR	F0
		MOV	COUNT2,#20H
WRLAT2:		MOV	COUNT1,#0AH
		MOV	LCD_X1,LCD_X
WRLAT3:		JB	F0,WRLAT32
		MOV	LCD_DATA,LCD_DATA1
		AJMP	WRLAT31
WRLAT32:	MOV	LCD_DATA,LCD_DATA2
WRLAT31:	LCALL	WR_ZB
		MOV	A,LCD_DATA
		LCALL	SEND_D
		MOV	A,LCD_DATA
		LCALL	SEND_D
		INC	LCD_X1
		DJNZ	COUNT1,WRLAT3
		INC	LCD_Y1
		CPL	F0
		DJNZ	COUNT2,WRLAT2
		
		MOV	A,#36H
		LCALL	SEND_I
		MOV	A,#30H
		LCALL	SEND_I
		RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
WR_ZB:		MOV	A,#34H
		LCALL	SEND_I
		MOV	A,LCD_Y1
		LCALL	SEND_I
		MOV	A,LCD_X1
		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

DELAY1:		MOV	R6,#06H
DEL11:		MOV	R7,#08H
DEL12:		DJNZ	R7,DEL12
		DJNZ	R6,DEL11
		RET
;***********************************************
TAB1:	DB '模块内置二级字库使用'
	DB '更方便更灵活金鹏电子'
	
TAB3:	DB 'Zhaoqing Golden Palm'
        DB 'Electronics Co.,Ltd.'

TAB5:
;--  调入了一幅图像:F:\梁\画图\HOCO16032.bmp  --
;--  宽度x高度=160x32  --
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,000H,000H,000H,03CH,000H,000H,000H,000H,000H,000H,00FH,0E0H,000H
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,000H,000H,000H
DB  000H,030H,018H,000H,000H,000H,000H,040H,000H,000H,000H,000H,000H,003H,0FFH,000H
DB  000H,000H,000H,000H,000H,040H,000H,000H,000H,000H,004H,0C4H,000H,0FFH,080H,000H
DB  000H,007H,0FFH,080H,000H,000H,000H,000H,000H,0B0H,000H,000H,000H,000H,00FH,0CCH
DB  007H,0FFH,0F0H,000H,000H,007H,0FFH,0C0H,000H,000H,000H,000H,001H,018H,007H,0E0H
DB  000H,000H,01FH,0F8H,01FH,000H,078H,000H,000H,007H,0FFH,0E0H,000H,000H,000H,000H
DB  002H,06CH,00DH,080H,000H,000H,017H,0F0H,03FH,0FFH,018H,000H,000H,003H,0FFH,0E0H
DB  000H,000H,000H,000H,004H,036H,01FH,000H,000H,000H,03FH,0C0H,07FH,083H,0CCH,000H
DB  000H,001H,0DFH,0E0H,000H,000H,000H,000H,004H,0DBH,03EH,000H,000H,000H,00FH,080H
DB  0FFH,0FCH,064H,000H,000H,001H,0FFH,0F0H,000H,000H,000H,000H,008H,06DH,0FCH,000H
DB  000H,000H,07FH,0C1H,0FFH,0FFH,024H,000H,000H,001H,0DFH,0FFH,0FFH,000H,000H,000H
DB  009H,0B6H,0FCH,000H,000H,000H,0FFH,0E1H,0FFH,0FFH,034H,000H,000H,000H,01FH,0FFH
DB  0FFH,080H,000H,000H,008H,0DBH,0F8H,000H,000H,001H,0FFH,0E3H,0FFH,0FFH,094H,000H
DB  000H,000H,01FH,0FFH,0FFH,0C0H,000H,000H,008H,06DH,0F8H,020H,000H,001H,0FFH,0E3H
DB  0FFH,0FFH,0A4H,000H,000H,000H,01FH,0FFH,0FFH,0C0H,000H,000H,008H,037H,0F0H,020H
DB  000H,001H,0FFH,0F3H,0FFH,0FFH,0A0H,000H,000H,000H,01FH,0FFH,0FFH,0E0H,000H,000H
DB  008H,01FH,0F0H,020H,000H,001H,0FFH,0FFH,0FFH,0FEH,080H,000H,000H,000H,00FH,0FFH
DB  0FFH,0E0H,000H,000H,008H,00FH,0E0H,020H,000H,001H,0FFH,0FFH,0FFH,0FEH,080H,000H
DB  000H,001H,0FFH,0FFH,0FFH,0F0H,000H,000H,004H,007H,0E0H,040H,000H,001H,0FFH,0FFH
DB  0FFH,0EEH,080H,000H,000H,001H,0FBH,0FFH,0FFH,0F8H,000H,000H,004H,007H,0E0H,040H
DB  000H,000H,0FFH,0FFH,0F7H,0EEH,000H,000H,000H,001H,083H,080H,07FH,0F8H,000H,000H
DB  002H,003H,0C0H,080H,000H,000H,03FH,0FFH,0F7H,0ECH,000H,000H,000H,001H,003H,080H
DB  07FH,09CH,000H,000H,001H,003H,0C1H,000H,000H,000H,01FH,0FFH,0F7H,0E8H,000H,000H
DB  000H,001H,003H,000H,03BH,09EH,000H,000H,000H,083H,0C2H,000H,000H,000H,00FH,0FFH
DB  0E6H,0C0H,000H,000H,000H,003H,007H,000H,03FH,08FH,000H,000H,000H,043H,0C4H,000H
DB  000H,000H,007H,0FFH,06DH,080H,000H,000H,000H,003H,086H,000H,01DH,0CDH,000H,000H
DB  000H,033H,0D8H,000H,000H,000H,001H,0FFH,088H,000H,000H,000H,000H,001H,086H,000H
DB  00EH,0CEH,080H,000H,000H,00FH,0E0H,000H,000H,000H,000H,0CFH,080H,000H,000H,000H
DB  000H,000H,004H,000H,007H,0CFH,040H,000H,000H,000H,000H,000H,000H,000H,000H,0A3H
DB  080H,000H,000H,000H,000H,000H,00CH,000H,007H,006H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,080H,0C0H,000H,000H,000H,000H,000H,00CH,000H,00EH,006H,000H,000H
DB  0EEH,08CH,0E8H,049H,000H,000H,001H,081H,000H,000H,000H,000H,000H,000H,038H,000H
DB  00CH,000H,000H,000H,0AAH,08AH,0A8H,0AFH,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,038H,000H,01CH,000H,000H,000H,08AH,08AH,0E8H,0AFH,000H,000H,002H,000H
DB  000H,000H,000H,000H,000H,000H,000H,000H,038H,000H,000H,000H,0AAH,08AH,088H,0E9H
DB  000H,000H,03CH,000H,000H,000H,000H,000H,000H,000H,000H,000H,070H,000H,000H,000H
DB  0EEH,0ECH,08EH,0A9H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,000H,020H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H

		END

⌨️ 快捷键说明

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