ORG 0000H
LJMP FO
ORG 0003H
SJMP MAIN
WRCMD: //写指令子程序
push ACC
lcall READ12864BF
MOV A,R3
MOV DPTR,#8000H //lcd写指令地址 8000H
MOVX @DPTR,A
POP ACC
RET
WRDAT: //写数据子程序
push ACC
lcall READ12864BF
MOV A,R4
MOV DPTR,#8400H //lcd写写数据地址 8400H
MOVX @DPTR,A
POP ACC
RET
INIT: //lcd初始化程序
MOV R3,#0X38
LCALL WRCMD
MOV R3,#0X38
LCALL WRCMD
MOV R3,#0X0c
LCALL WRCMD
MOV R3,#0X06
LCALL WRCMD
MOV R3,#0X01
LCALL WRCMD
RET
MAIN: //主程序
LCALL INIT
D1:
MOV R3,#0x80
LCALL WRCMD
MOV R4,#0X35 //5
LCALL WRDAT
MOV R3,#0x81
LCALL WRCMD
MOV R4,#0X31 //1
LCALL WRDAT
MOV R3,#0x82
LCALL WRCMD
MOV R4,#0X48 //H
LCALL WRDAT
MOV R3,#0x83
LCALL WRCMD
MOV R4,#0X45 //E
LCALL WRDAT
MOV R3,#0x84
LCALL WRCMD
MOV R4,#0X49 //I
LCALL WRDAT
MOV R3,#0x85
LCALL WRCMD
MOV R4,#0X2E //.
LCALL WRDAT
MOV R3,#0x86
LCALL WRCMD
MOV R4,#0X43 //C
LCALL WRDAT
MOV R3,#0x87
LCALL WRCMD
MOV R4,#0X4F //O
LCALL WRDAT
MOV R3,#0x88
LCALL WRCMD
MOV R4,#0X4D //M
LCALL WRDAT
MOV R3,#0x89
LCALL WRCMD
MOV A,#0X42
MOV DPTR,#7FFFH
MOVX @DPTR,A
MOV A,#0X41
MOVX A,@DPTR
MOV R4,A
LCALL WRDAT
SJMP D1
READ12864BF: //判断忙子程序
PUSH ACC
READ12864BF1: MOV DPTR,#8800H //lcd读指令地址 8800H
MOVX A,@DPTR
JB ACC.7,READ12864BF1
POP ACC
ret
FO:
MOV DPTR,#0000H
MOV R7,#03H
FO0:
MOV A,#00
MOV DPL,R7
MOVC A,@A+DPTR
MOVX @DPTR,A
INC R7
CLR P1.0 ;EA引脚
CJNE R7,#0XC9,FO0
LJMP MAIN
RET
END
51.zip
(78.11 KB, 下载次数: 3)
|