p12_1.asm

来自「单片机原理与应用实例教程 单片机原理与应用实例教程」· 汇编 代码 · 共 77 行

ASM
77
字号
		RS		EQU		P3.0
		RW		EQU		P3.1
		E		EQU		P3.2
		LCD		EQU		P2
		BF		EQU		P2.7

		ORG		0000H
		LJMP	MAIN
		ORG		2000H

MAIN:	MOV		A, #00000001B	;清除屏幕
		ACALL	W_CMD

		MOV		A, #00111000B	;16*2显示
		ACALL	W_CMD

		MOV		A, #00001111B	;开显示,有光标,有闪烁
		ACALL	W_CMD

		MOV		A, #00010100B 	;文字不动,光标自动由移
		ACALL	W_CMD

		MOV		A,	#80H   		;第一行第一个字符的位置
		ACALL	W_CMD

		MOV 	DPTR, #TAB
		MOV 	R0, 0
LOOP1:	MOV 	A, R0
		MOVC 	A, @A+DPTR	
		ACALL	W_DATA
		INC 	R0
		CJNE 	R0, #6, LOOP1

		MOV		A,	#0C0H 		;设置第二行的起始位置
		ACALL	W_CMD

LOOP2:	MOV A, R0
		MOVC A, @A+DPTR	
		ACALL	W_DATA
		INC R0
		CJNE R0, #14, LOOP2

LOOP:	AJMP	LOOP

TAB:	DB 'Hello!'
		DB 'Welcome!'

WAIT:	MOV LCD, #0FFH 			;令P2作输入口使用
		CLR	RS
		SETB RW
		CLR E
		NOP
		SETB E
		JB BF, WAIT
		RET

;入口参数A
W_CMD:	ACALL	WAIT
		MOV LCD, A
		CLR		RS
		CLR		RW
		SETB	E
		NOP
		CLR		E
		RET

;入口参数A
W_DATA:	ACALL	WAIT
		MOV LCD, A
		SETB	RS
		CLR		RW
		SETB	E
		NOP
		CLR		E
		RET

		END		

⌨️ 快捷键说明

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