📄 lcdò»
字号:
ORG 8000H
JMP START
START: MOV SP,#50H
CALL INITIAL_LCD
MOV A,#80H
CALL COMMAND_LCD
MOV DPTR,#TABLE1
CALL STRING_LCD
MOV A,#C0H
CALL COMMAND_LCD
MOV DPTR,#TABLE2
CALL STRING_LCD
JMP $
TABLE1: DB 'ABCDEFGHIJKLIMNOPQRS',0FEH
8026 46 47 48 49 4A
802B 4B 4C 49 4D 4E
8030 4F 50 51 52 53
8035 FE
TABLE2: DB 'TUVWXYZ0123456789 ',0FEH
803B 59 5A 30 31 32
8040 33 34 35 36 37
8045 38 39 20 FE
W_C_LCD EQU 6200H
W_D_LCD EQU 6201H
R_B_LCD EQU 6202H
R_D_LCD EQU 6203H
NITIAL_LCD:
PUSH ACC
MOV A,#38H
MOV DPTR,#W_C_LCD
MOV R2,#03H
INT1$: MOVX @DPTR,A
ACALL TIME
DJNZ R2,INT1$
MOV A,#38H
CALL COMMAND_LCD
MOV A,#01H
CALL COMMAND_LCD
MOV A,#06H
CALL COMMAND_LCD
MOV A,#0FH
CALL COMMAND_LCD
MOV A,#1CH
CALL COMMAND_LCD
POP ACC
RET
TIME: MOV R6,#02H
TIM1$: MOV R7,#02H
TIM2$: DJNZ R7,TIM2$
DJNZ R6,TIM1$
RET
COMMAND_LCD:
PUSH DPH
CALL CHKBUSY_LCD
MOV DPTR,#W_C_LCD
MOVX @DPTR,A
POP DPH
RET
;--------------------------------------------------------------------
WRITE_LCD:
PUSH DPL
PUSH DPH
CALL CHKBUSY_LCD
MOV DPTR,#W_D_LCD
MOVX @DPTR,A
POP DPH
POP DPL
RET
;--------------------------------------------------------------------
CHKBUSY_LCD:
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#R_B_LCD
CHK_$ MOVX A,@DPTR
JB ACC.7,CHK_$
POP ACC
POP DPL
POP DPH
RET
;--------------------------------------------------------------------
STRING_LCD:
PUSH DPL
PUSH DPH ;
PUSH ACC
MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#FEH,STRING$
JMP OVER$
CALL WRITE_LCD
A3 INC DPTR ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -