LCD12864问题

2019-07-15 23:07发布

在向LCD写数据或命令的时候,EN得有个脉冲,我看了数据手册,上面说的脉冲高电平时间大于150ns就可以。那为什么我程序里面的延时居然在小于1MS的时候,LCD就不能正常显示呢?延时1MS的话导致显示一张图片大约要2.5s的时间,很慢啊!
void write_cmd(uchar cmd)
{
check_busy();
EN=0;
RS=0;
RW=0;
EN=1;
P0=cmd;
delay(1); //此处延时约有1MS
EN=0;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
UltraFire
1楼-- · 2019-07-16 02:20
 精彩回答 2  元偷偷看……
无为有为
2楼-- · 2019-07-16 07:56
UltraFire 发表于 2013-8-10 22:35
这个要看你延时到底怎么写的,软件延有时会有误差,测忙可以去掉了~check_busy();一般我都不使用 ...

延时如下,12M晶振下约为1MS
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

一周热门 更多>