51液晶显示问题

rado3090   2010-5-20 23:36 楼主
        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

回复评论 (2)

查看该款LCD的指令说明.不同厂家的指令不同.大致分台湾holtek和韩国三星芯片.
点赞  2010-5-21 08:11
这就是一个普通液晶程序,但查询忙位那里,给LCD送值,返回应该还是FFH,这就不对了啊
点赞  2010-5-21 09:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复