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

📄 lcd.a

📁 基于单片机的汇编程序
💻 A
字号:
	RS	EQU	P1.0
	RW	EQU	P1.1
	E	EQU	P1.2
	ORG	0000H
	AJMP	START 
	ORG	0033H
START:	MOV	SP,#60H
MAIN:	LCALL	DELAY		;延时一段时间 
	MOV	P2,#01H		;写指令01H,清屏
	LCALL	ENABLE
	MOV	P2,#38H		;写指令38H,设定LCD为16*2显示,5*7 点阵,8位数据接口
	LCALL	ENABLE
	MOV	P2,#0FH		;写指令0FH,显示ON,光标ON,闪烁ON
	LCALL	ENABLE
	MOV	P2,#06H		;写指令06H,光标输入方式增量移位
	LCALL	ENABLE

	MOV	P2,#80H		;第一行起始字符地址
	MOV	R1,#12
	LCALL	ENABLE
	MOV	DPTR,#TABLE1	;第一行显示字符表头地址
	LCALL	DISP		;显示第一行数据
	MOV	R1,#13
	MOV	P2,#0C0H	;第二行起始字符地址
	LCALL	ENABLE
	MOV	DPTR,#TABLE2	;第二行显示字符表头地址
	LCALL	DISP		;显示第二行数据
	MOV	R5,#50		;;稍等待10秒续继
LA:	MOV	R7,#255
L1:	MOV	R6,#255
L2:	DJNZ	R6,L2
	DJNZ	R7,L1
	DJNZ	R5,LA
	AJMP	MAIN	;返回主程序循环 
	;-----------------
ENABLE:	CLR	RS	;写指令子程序(请参照1602LCD使用说 明书)
	CLR	RW 
	CLR	E 
	LCALL	DELAY
	SETB	E 
	RET
;-----------------
;DISP:	MOV	R1,#16		;准备显示一行16个字符
DISP:	MOV	A,#00H		;将ACC清零
	MOVC	A,@A+DPTR	;查表取得要显示的数据
	LCALL	DISP1		;写入一个数据
	INC	DPTR		;数据表指针加1,准备取下一个数据
	DJNZ	R1,DISP		;一行没有显示完就继续
	RET
;----------------- 
DISP1:	MOV	P2,A		;写1字节数据到显示端口 
	SETB	RS	;写数据时序(请参照1602LCD使用说明 书)
	CLR	RW 
	CLR	E
	LCALL	DELAY
	SETB	E
	RET
;-----------------
DELAY:	MOV	R7,#255	;延时子程序
D1:	MOV	R6,#255
D2:	DJNZ	R6,D2
	DJNZ	R7,D1
	RET
TABLE1:	DB	"  welcome!  "              
TABLE2:	DB	"Douzi & Douer"

END

⌨️ 快捷键说明

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