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

📄 51+Ҧ

📁 AT89C51汇编语言例子大全
💻
字号:
/***************************************************************************
标题:	LCD1602
效果:	本程序在液晶LCD1602上显示两行字符
本店网站      http://xxdpj.taobao.com/
以芯换心  竭诚为您服务 您学习单片机的好帮手
近期本店有很多优惠活动 有空就进来看看吧
http://xxdpj.taobao.com/
技术支持QQ:412150384
******************************************************************************/
	RS	EQU	P1.0
	RW	EQU	P1.1
	E	EQU	P1.2
	LCDDATA EQU	P0
	ORG	0000H
	AJMP	START 
	ORG	0033H
START:	MOV	SP,#60H
MAIN:	LCALL	DELAY		;延时一段时间 
	MOV	LCDDATA,#01H		;写指令01H,清屏
	LCALL	ENABLE
	MOV	LCDDATA,#38H		;写指令38H,设定LCD为16*2显示,5*7 点阵,8位数据接口
	LCALL	ENABLE
	MOV	LCDDATA,#0FH		;写指令0FH,显示ON,光标ON,闪烁ON
	LCALL	ENABLE
	MOV	LCDDATA,#06H		;写指令06H,光标输入方式增量移位
	LCALL	ENABLE

	MOV	LCDDATA,#80H		;第一行起始字符地址
	MOV	R1,#12
	LCALL	ENABLE
	MOV	DPTR,#TABLE1	;第一行显示字符表头地址
	LCALL	DISP		;显示第一行数据
	MOV	R1,#13
	MOV	LCDDATA,#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	LCDDATA,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	"frank welcome!"
TABLE2:	DB	"xxdpj.taobao.com"
END

⌨️ 快捷键说明

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