简单液晶例子显示英文.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 + -
显示快捷键?