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

📄 lcd2.asm

📁 1602液晶驱动程序
💻 ASM
字号:
	RS EQU P1.2		;引脚定义
	RW EQU P1.1
	E EQU P1.0
	
	ORG 0000H
	MOV P0,#01H 		;清屏
	ACALL ENABLE
	
	MOV P0,#38H 		;8位2行5x7点阵
	ACALL ENABLE

	MOV P0,#0FH 		;显示器开、光标开、闪烁开
	ACALL ENABLE
	
	MOV P0,#06H 		;文字不动,光标自动右移
	ACALL ENABLE

;********显示数据和地址,可变***********
LOOP:	MOV P0,#90H 		;写入显示起始地址(第一行第一个位置)
	ACALL ENABLE
	
	MOV DPTR,#TAB1		;显示第一行
	CALL WRITE1
	
	MOV P0,#0d0H		;写入显示起始地址(第一行第一个位置)
	CALL ENABLE
	
	MOV DPTR,#TAB2		;显示第二行
	CALL WRITE1
	
	;MOV P0,#0CFH		;光标闪烁位置
	;CALL ENABLE
	MOV R5,#16
LOOP1:	MOV P0,#00011000B 	;文字右移一位
	ACALL ENABLE
	
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	ACALL DELAY
	DJNZ R5,LOOP1
  	
AAA:	LJMP $
;*******************************	
WRITE1:	MOV R1,#00H
A1:	MOV A,R1
	MOVC A,@A+DPTR
	CALL WRITE2
	INC R1
	CJNE A,#00H,A1
	RET

WRITE2:	MOV P0,A
	SETB RS
	CLR RW
	CLR E
	CALL DELAY
	SETB E
	RET	
		
;***************************
ENABLE: CLR RS ;;写入控制命令的子程序
	CLR RW
	CLR E
	ACALL DELAY
	SETB E
	RET

;CHACK:  MOV P1,#0FFH; ;判断液晶显示器是否忙的子程序
	;CLR RS
	;SETB RW
	;CLR E
	;NOP
	;SETB E
	;JB P1.7,CHACK ;;如果P0.7为高电平表示忙就循环等待
	;RET
;*****************************
DELAY:	MOV R7,#40	;约20MS,因为复位要15MS,其他只要5MS,所以20MS符合要求!!!
D1:	MOV R6,#250
	DJNZ R6,$
	DJNZ R7,D1
	RET	
;////////////////////
TAB1:	DB 'WELCOME TO HUANG',00H
TAB2:	DB 'TEL:13956175546',00H
	END

;*****************注:DELAY不能太短,否则不能显示,一般延时15MS以上

⌨️ 快捷键说明

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