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

📄 p12_3.asm

📁 单片机原理与应用实例教程 单片机原理与应用实例教程
💻 ASM
字号:
		E		EQU		P3.0
		RW		EQU		P3.1
		RS		EQU		P3.2
		CS1		EQU		P3.6
		CS2		EQU		P3.7
		LCD		EQU		P2

		ORG		0000H
		LJMP	MAIN

		ORG		2000H
;--  文字:  汉  --  宽x高=16x16   --
WORD1:	DB  010H,060H,001H,086H,060H,004H,01CH,0E4H,004H,004H,004H,0E4H,01CH,004H,000H,000H
		DB  004H,004H,07EH,001H,040H,020H,020H,010H,00BH,004H,00BH,010H,030H,060H,020H,000H

;--  文字:  字  --  宽x高=16x16   --
WORD2:	DB  000H,010H,00CH,024H,024H,024H,025H,026H,0A4H,064H,024H,004H,014H,00CH,000H,000H
		DB  000H,002H,002H,002H,002H,042H,082H,07FH,002H,002H,002H,002H,002H,002H,002H,000H


WAIT:	PUSH 30H
		MOV 30H, A

		MOV LCD, 0FFH   ;空读操作
		SETB RW
		CLR	RS
		SETB E
		MOV A, LCD
		CLR E

		MOV LCD, 0FFH	;第2次读
		CLR	RS
		SETB RW
		SETB E
		MOV A, LCD
		CLR E
		JB ACC.7, WAIT

		MOV A, 30H
		POP 30H
		RET

W_CMD:	ACALL	WAIT
		MOV LCD, A
		CLR		RS
		CLR		RW
		SETB	E
		NOP
		CLR		E
		RET

W_DATA:	ACALL	WAIT
		MOV LCD, A
		SETB	RS
		CLR		RW
		SETB	E
		NOP
		CLR		E
		RET

CLEAR:	MOV 	R0, #0H
CLR1:	MOV 	A, R0			 	;设置页号
		ORL 	A, #10111000B
		ACALL	W_CMD

		MOV 	R1, #0H
		MOV		A,#01000000B
		ACALL	W_CMD
CLR2:	MOV 	A,	#0H
		ACALL	W_DATA
		INC R1
		CJNE R1, #64, CLR2

		INC R0
		CJNE R0, #8, CLR1
		RET

DISPLAY:CLR CS2
		SETB CS1
		MOV DPTR, #WORD1
		ACALL D_WORD

		CLR CS1
		SETB CS2
		MOV DPTR, #WORD2
		ACALL D_WORD

D_WORD:	MOV A, #10111011B ;设置页号
		ACALL W_CMD
		MOV A, #01001111B ;设置起始列号	
		ACALL W_CMD
		MOV R7, #0
LOOP1:	MOV A, R7
		MOVC A, @A+DPTR
		ACALL W_DATA
		INC R7
		CJNE R7, #16, LOOP1
	 	MOV A, #10111100B ;设置页号
		ACALL W_CMD
		MOV A, #01001111B ;设置起始列号	
		ACALL W_CMD
		MOV R7, #0
LOOP2:	MOV A, R7
		ADD A, #16
		MOVC A, @A+DPTR
		ACALL W_DATA
		INC R7
		CJNE R7, #16, LOOP2
		RET

MAIN:	CLR CS1
		CLR	CS2
		MOV		A, #00111111B	;打开显示
		ACALL	W_CMD
		ACALL	CLEAR
		ACALL	DISPLAY
LOOP:	AJMP	LOOP

		END		

⌨️ 快捷键说明

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