关于液晶的显示的问题

2019-03-24 18:14发布

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcdrs=P1^0;
sbit lcdrw=P1^1;
sbit lcden=P1^2;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
lcdrw=0;
lcden=0;
write_com(0x38);

write_com(0x0f);
write_com(0x06);
}
void main()
{
init();
while(1);
}



以上是编的一个液晶qc16202a的显示的程序,不过我通过测试,发现,在
void init()
{
lcdrw=0;
lcden=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
  }
中,仅到write_com(0x38);能正确运行,而
write_com(0x0f);
write_com(0x06);
没运行,
不知道是怎么回事,请大家指教一下小弟,小弟,在此先谢过了!!!

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
季夏木槿
1楼-- · 2019-03-25 12:53
LCD1602上有一个脚接的是滑动变阻器,调节对比度的,你调调看
liufengjing9
2楼-- · 2019-03-25 17:30
huo_hu 发表于 2014-7-25 23:12
液晶需要上电稳定后发复位指令,所以延时一段时间再复位,可靠性强些.
复位成功后黑块就没了,这步做不到基 ...

哦哦,原来复位延时还有这功能。小弟受教啦。好,我试试,谢谢您!!!
liufengjing9
3楼-- · 2019-03-25 18:25
 精彩回答 2  元偷偷看……
季夏木槿
4楼-- · 2019-03-25 22:54
liufengjing9 发表于 2014-7-28 16:26
哦哦,这个,我明白您的意思。是不是调那个电位器。
但是我觉得,只要能看清图案,那个对比度,应该没什 ...

直接上网找个现成的程序,一切OK了再回头查看自己的错误
sun1238898
5楼-- · 2019-03-26 01:14
可以找一个好使的,或者用proteus仿真一下。1602没那么难,应该是时序或者硬件上面的故障。
liufengjing9
6楼-- · 2019-03-26 06:57
 精彩回答 2  元偷偷看……

一周热门 更多>