lcd3.asm

来自「lcd的源程式」· 汇编 代码 · 共 82 行

ASM
82
字号
RS	REG	P2.0
RW	REG	P2.1
EN	REG	P2.2
	ORG	00H
	AJMP	MAIN
MAIN:	ACALL	INIT
	ACALL	W_CG
	MOV 	A,#10000000B
	ACALL	W_INS
	MOV	R1,#10
	MOV	DPTR,#MSG
	ACALL	W_STR
	SJMP	   $

INIT:	MOV	A,#00111000B
	ACALL	W_INS
	MOV	A,#00111000B
	ACALL	W_INS
	MOV	A,#00111000B
	ACALL	W_INS
	MOV	A,#00111000B
	ACALL	W_INS
	MOV	A,#00001000B
	ACALL	W_INS
	MOV	A,#00000001B
	ACALL	W_INS
	MOV	A,#00001110B
	ACALL	W_INS
	MOV	A,#00000110B
	ACALL	W_INS
	RET
W_CG:	MOV	A,#01000000B
	ACALL	W_INS
	MOV 	R0,#24
	MOV	DPTR,#CHAR
	MOV	R1,#0
NEXT1:	MOV	A,R1
	MOVC	A,@A+DPTR
	ACALL	W_DATA
	INC	R1
	DJNZ	R0,NEXT1
	RET
W_STR   MOV     R0,#0
NEXT2:	MOV 	A,R0
	MOVC	A,@A+DPTR
	ACALL	W_DATA
	INC	R0
	DJNZ	R1,NEXT2
	RET
W_INS:	ACALL	CHECK
	CLR	RS
	CLR	RW
	SETB	EN
	MOV	P1,A
	CLR	EN
	RET
W_DATA:	ACALL	CHECK
	SETB	RS
	CLR	RW
	SETB	EN
	MOV	P1,A
	CLR	EN
	RET
CHECK:	PUSH	A
BUSY:	CLR	RS
	SETB	RW
	SETB	EN
	MOV	A,P1
	CLR	EN
	JB	ACC.7,BUSY
	ACALL	DELAY
	POP	A
	RET
DELAY:	MOV	R6,#20
D1:	MOV	R7,#150
	DJNZ	R7,$
	DJNZ	R6,D1
	RET
CHAR:	DB	0CH,0CH,00H,00H
        DB      00H,00H,00H,00H
MSG:    DB      '28',0,'C'
        END

⌨️ 快捷键说明

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