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

📄 lcd.asm

📁 LCD驱动程序
💻 ASM
字号:
RS BIT P1.0
RW BIT P1.1
E  BIT P1.2
ORG 0000H
     AJMP START
ORG 000BH
	 AJMP INSE
ORG 0100H					;程序地址
START:  MOV TMOD,#00H		;设置计时/计数模式
		MOV TL0,#00H		;#00H-->计时0低位
		MOV TH0,#00H		;#00H-->计时0高位
		SETB EA				;开中断
		SETB ET0		    ;中断使能
		SETB TR0		    ;计时0开绐
		MOV 50H,#32H		;#32H-->50H
		MOV SP,#60H			;#60h-->SP 地址指针
		ACALL INIT			;调 INIT 子程序	( LCD 模式设置)
		ACALL QLCD		    ;调清屏子程序
		MOV A,#80H			;#80H-->A (设LCD地址第一行第一列)
		ACALL WIR			;调写IR子程序
		MOV DPTR,#L1		;#L1-->DPTR
		ACALL PWDR			;调批量写DR子程序
		MOV A,#0C0H			;#0C0H-->A (设LCD地址第二行第一列)
		ACALL WIR			;调写 IR 子程序
		MOV DPTR,#L2		;#L2-->DPTR
		ACALL PWDR			;调批量写DR子程序
LOOP:   AJMP LOOP			;转LOOP
INSE:   MOV TL0,#00H		;#00H-->计时0低位
 		MOV TH0,#00H		;#00H-->计时0高位
		DJNZ 50H,INSE0		;50H-1 不等于0转INSE0
		MOV 50H,#32H		;#32H-->50H
INSE0:  RETI				;中断返回
INIT:   MOV A,#38H			;#38H-->A (使用8Bits汇流排,显示2行5*7字符)
		LCALL WIR			;调写IR子程序
		MOV A,#0EH			;#0EH-->A (显示开,光标开,光标闪烁)
		LCALL WIR			;调写IR子程序
		MOV A,#06H			;#06H-->A (字符不动,光标自动右移一格)
		LCALL WIR			;调写IR子程序
		RET					;返回
CKLCD:  PUSH Acc			;Acc进栈
CK00:   CLR RS				;RS 清 0
        SETB RW				;RW 置 1
        CLR E				;E 清 0
		SETB E				;E 置 1
		MOV A,P0			;P0-->A
		CLR E				;E 清 0
		JB Acc.7,CK00		;Acc.7=1 转 CK00
		POP Acc				;Acc 出栈
		ACALL STS00			;调延时子程序 STS00
		RET					;返回
WIR:    ACALL CKLCD			;调查空闲子程序
		CLR E				;E 清 0
		CLR RS				;RS 清 0
		CLR RW				;RW 清 0
		SETB E				;E 置 1
		MOV P0,A			;A-->P0
		CLR E				;E 清 0
		RET					;返回
WDR:    ACALL CKLCD			;调查空闲子程序
		CLR E				;E 清 0
		SETB RS				;RS 置 1
		CLR RW				;RW 清 0
		SETB E				;E 置 1
		MOV P0,A			;A-->P0
		CLR E				;E 清 0
		RET					;返回
STS00:  MOV 52H,#05H		;#05H-->52H
STS001: MOV 51H,#0F8H		;#0F8H-->51H
		DJNZ 51H,$			;51H-1不等于0转再-1
		DJNZ 52H,STS001		;51H-1不等于0转STS001
		RET					;返回
QLCD:   MOV A,#01H			;#01H-->A
		ACALL WIR			;调写IR子程序
		RET					;返回
PWDR:   PUSH Acc			;Acc进栈
PWDR1:  CLR A				;A 清 0
		MOVC A,@A+DPTR		;A+DPTR-->A
		JZ PEND				;A=0 转 PEND
		ACALL WDR			;调写DR子程序
		INC DPTR			;DPTR+1
		AJMP PWDR1			;转 PWDR1
PEND:	POP Acc				;Acc 出栈
        RET					;返回
L1:     DB 20H,4EH,61H,74H,69H,65H,62H,20H,45H,6CH,65H,63H,74H,72H,6FH,6EH,00H
L2:		DB 7EH,6EH,61H,74H,69H,65H,6DH,40H,32H,31H,63H,6EH,2EH,63H,6FH,6DH,00H
		END         




⌨️ 快捷键说明

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