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

📄 lcd_p.asm

📁 lcd液晶显示的功能操作和汉字显示 分别为第一行
💻 ASM
字号:
;*******文件名:LCD_P.ASM***************************
	W_C_ADD	EQU	2070H	;写命令字地址
	W_D_ADD	EQU	2071H	;写数据地址
	R_S_ADD	EQU	2072H	;读状态字地址
	R_D_ADD	EQU	2073H	;读数据地址
;*************************************************
	DATA1	EQU	30H	;存放待显示字符的ASCII码
	;N	EQU	31H	;	
;*************************************************		
	ORG	0000H		;
	LJMP	MAIN		;
MAIN:	MOV	SP,#60H		;设置SP初值
	LCALL	INI		;调用初始化子程序
	LCALL	DCHAR		;调用字符显示子程序
	JMP	$		;等待
;*******字符显示子程序******************************************
;第一行显示0-----9 十个数字
DCHAR:	MOV	DATA1,#30H	;
	MOV	B,#10		;设置显示数据个数为10
	MOV	A,#80H		;设置显示坐标,80H对应字符的第一行第一列
	LCALL	CMD_LCD		;送命令
DCH0:	MOV	A,DATA1		;
	LCALL	WRITE_LCD	;送数据
	INC	DATA1		;
	DJNZ	B,DCH0		;

;第二行显示A-----Q十六个字母
	MOV	DATA1,	#41H	;
	MOV	B,#16		;设置显示数据个数为16
	MOV	A,#90H		;设置显示坐标,90H对应字符的第二行第一列
	LCALL	CMD_LCD		;送命令
DCHA:	MOV	A,DATA1		;
	LCALL	WRITE_LCD	;送数据
	INC	DATA1		;
	DJNZ	B,DCHA		;
	RET																			
;*******初始化子程序******************************************
INI:	PUSH	ACC		;
	MOV	A,#30H		;功能设置
	LCALL	CMD_LCD		;
	LCALL	DELAY		;
	MOV	A,#30H		;功能设置
	LCALL	CMD_LCD		;
	LCALL	DELAY		;
	MOV	A,#30H		;功能设置 
	LCALL	CMD_LCD		;
	MOV	A,#0CH		;显示状态 ON
	LCALL	CMD_LCD		;
	MOV	A,#01H		;清除显示
	LCALL	CMD_LCD		;
	MOV	A,#02H		;地址归位
	LCALL	CMD_LCD		;
	POP	ACC		;
	RET
;*******延时子程序***************************  
;采用双重循环,延时约50毫秒
DELAY:  MOV     R6,#00H		;
        MOV     R7,#00H
DELAY1:
        NOP
        DJNZ    R7,DELAY1
        DJNZ    R6,DELAY1
        RET    
;*******忙状态检测子程序******************************************	
CHKBUSY:PUSH	DPH		;
	PUSH	DPL		;
	PUSH	PSW		;
	PUSH	ACC		;
	MOV	DPTR,#R_S_ADD	;送读状态字地址
CHK:	MOVX	A,@DPTR		;从液晶模块读状态
	JB	ACC.7,CHK	;判断状态
	POP	ACC		;
	POP	PSW		;
	POP	DPL		;
	POP	DPH		;
	RET	
;*******写命令到LCD子程序******************************************
CMD_LCD:PUSH	DPH		;
	PUSH	DPL		;
	LCALL	CHKBUSY		;忙状态检测
	MOV	DPTR,#W_C_ADD	;送写命令字地址
	MOVX	@DPTR,A		;向液晶模块写命令
	POP	DPL		;
	POP	DPH		;
	RET
;*******写数据到LCD子程序******************************************
WRITE_LCD:			;
	PUSH	DPH		;
	PUSH	DPL		;
	LCALL	CHKBUSY		;忙状态检测
	MOV	DPTR,#W_D_ADD	;送写数据地址
	MOVX	@DPTR,A		;向液晶模块写数据
	POP	DPL		;
	POP	DPH		;
	RET
	END

⌨️ 快捷键说明

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