简单液晶例子显示英文.asm

来自「是我在电子竞赛期间写的一些单片机汇编程序」· 汇编 代码 · 共 113 行

ASM
113
字号
;-------------------------------------lcdtest-----------------------------------
  	ORG 00H
	AJMP MAIN
	ORG  30H

MAIN: MOV   SP,#5FH		
  	ACALL INIT
  	ACALL FIRST
  	MOV   DPTR,#TABLE1
	;mov p3,#0ffh
	;jb p3.3, $
	;setb p0.7
	;clr p2.7
	;clr p0.7
  	ACALL DISPLAY
  	ACALL SECOND
  	MOV   DPTR,#TABLE2
  	ACALL DISPLAY
	JMP $
INIT:
  	acall delay
	MOV   A,#38H
  	ACALL WRCOM
	acall delay
  	MOV   A,#38H
  	ACALL WRCOM
	acall delay
  	MOV   A,#38H
  	ACALL WRCOM
	acall delay
  	MOV   A,#38H
  	ACALL WRCOM
	acall delay
  	MOV   A,#08H
  	ACALL WRCOM
	acall delay
  	MOV   A,#01H
  	ACALL WRCOM
	acall delay
  	MOV   A,#06H
  	ACALL WRCOM
	acall delay
 	MOV A,#0CH
  	ACALL WRCOM
	acall delay
  	RET
DISPLAY:
  	MOV   R1,#00H
NEXT:
  	MOV   A, R1
  	MOVC  A, @A+DPTR
  	CJNE  A, #23H,DSP
  	RET
DSP:
  	ACALL  WRDATA
  	INC    R1
  	AJMP   NEXT
FIRST:
  	MOV    A,#10000000B
  	ACALL  WRCOM
  	RET
SECOND:
  	MOV    A,#11000000B
  	ACALL  WRCOM
  	RET
WRCOM:
  	ACALL  BUSY
  	MOV    P3,#11110001B
  	NOP
  	SETB P3.3
  	MOV P0,A
  	NOP
  	CLR    P3.3
	acall delay
  	RET
WRDATA:
  	ACALL  BUSY
  	MOV   P3,#11110011B
  	NOP
  	SETB   P3.3
  	MOV    P0,A
  	NOP
  	CLR    P3.3
	acall delay
	RET
BUSY:
  	PUSH   ACC
WAIT:
 	MOV   P3,#11110101B
  	NOP
  	SETB   P3.3
  	MOV    A,P0
  	JB     ACC.7,WAIT
  	POP    ACC
  	RET
DELAY:
  	MOV     R6,#080H
D1:
 	MOV     R7,#080H
  	DJNZ    R7,$
  	DJNZ    R6,D1
  	RET
TABLE1:
       DB  "i am  wubangwu"             ;
       DB  "#"
TABLE2:
       DB  "iwanttomarryshe"
       DB  "#"
END



⌨️ 快捷键说明

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