📄 test.asm
字号:
LCD_RS EQU P2.7
LCD_RW EQU P2.6
LCD_EN EQU P2.5
org 0000h
ajmp main
MAIN:
CALL DELAY15MS
MOV A, #38H
CALL WCOM
CALL DELAY5MS
MOV A, #38H
CALL WCOM
CALL DELAY15MS
MOV A, #38H
CALL CHECK_BUSY
MOV A, #38H
CALL WCOM
CALL CHECK_BUSY
MOV A, #08H
CALL WCOM
CALL CHECK_BUSY
MOV A, #01H
CALL WCOM
CALL CHECK_BUSY
MOV A, #06H
CALL WCOM
CALL CHECK_BUSY
MOV A, #0CH
CALL WCOM
CALL CHECK_BUSY
AA: MOV A,#80H
CALL WCOM
CALL CHECK_BUSY
MOV A,#35H
CALL WDATA
CALL CHECK_BUSY
MOV P3,#0FH
AJMP AA
WDATA:
MOV P1, A
SETB LCD_RS
CLR LCD_RW
SETB LCD_EN
CALL DELAY1MS
CLR LCD_EN
NOP
RET
WCOM:
MOV P1, A
CLR LCD_RS
CLR LCD_RW
SETB LCD_EN
CALL DELAY1MS
CLR LCD_EN
NOP
RET
CHECK_BUSY:
RET
PUSH ACC
MOV P1, #0FFH
CLR LCD_RS
SETB LCD_RW
SETB LCD_EN
NOP
WAIT1:
MOV A, P1
ANL A, #80H
JZ WAIT2
JMP WAIT1
WAIT2:
CLR LCD_EN
POP ACC
RET
DELAY5MS:
MOV R7, #10
LOOP: MOV R6, #250
DJNZ R6, $
DJNZ R7, LOOP
RET
DELAY15MS:
MOV R7, #30
LOOP1: MOV R6, #250
DJNZ R6, $
DJNZ R7, LOOP1
RET
DELAY1MS:
MOV R7, #2
LOOP2: MOV R6, #250
DJNZ R6, $
DJNZ R7, LOOP2
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -