LCD12864问题
时间:10-02
整理:3721RD
点击:
在向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;
}
void write_cmd(uchar cmd)
{
check_busy();
EN=0;
RS=0;
RW=0;
EN=1;
P0=cmd;
delay(1); //此处延时约有1MS
EN=0;
}
这个要看你延时到底怎么写的,软件延有时会有误差,测忙可以去掉了~check_busy();一般我都不使用
延时如下,12M晶振下约为1MS
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}