RS BIT P2.6
RW BIT P2.5
E BIT P2.7
LCD EQU P0
MAIN:
MOV LCD,#00000001B
ACALL WR_COMM
ACALL INIT_LCD
MOV LCD,#82H
ACALL WR_COMM
MOV LCD,#'O'
ACALL WR_DATA
MOV LCD,#'K'
ACALL WR_DATA
JMP $
INIT_LCD:
MOV LCD,#00111000B
ACALL WR_COMM
MOV LCD,#00001111B
ACALL WR_COMM
MOV LCD,#00000110B
ACALL WR_COMM
RET
WR_COMM:
CLR RS
CLR RW
CLR E
ACALL CHECK_BF
SETB E
RET
CHECK_BF:
MOV LCD,#0FFH;为什么要这句程序,会不会影响原来的LCD中的值?因为我觉得这样是写入锁存器了
CLR RS
SETB RW
CLR E
NOP
SETB E
JB LCD.7,CHECK_BF
RET
WR_DATA:
SETB RS
CLR RW
CLR E
ACALL CHECK_BF
SETB E
RET
END
查看该款LCD的指令说明.不同厂家的指令不同.大致分台湾holtek和韩国三星芯片.
这就是一个普通液晶程序,但查询忙位那里,给LCD送值,返回应该还是FFH,这就不对了啊