关于液晶的显示的问题

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条回答
liufengjing9
1楼-- · 2019-03-24 21:05
抱歉,那个液晶的型号是qc1602a,打错啦,实在对不住啦!
FireLife
2楼-- · 2019-03-24 23:37
用编译软件单步仿真,应该能查出哪里出错
Li_Lei
3楼-- · 2019-03-25 02:18
 精彩回答 2  元偷偷看……
liufengjing9
4楼-- · 2019-03-25 03:49
FireLife 发表于 2014-7-25 11:00
用编译软件单步仿真,应该能查出哪里出错

如果仿真的话,我仅会计算时间,其他的,仿真还不知怎么用。愿您指教一下。
liufengjing9
5楼-- · 2019-03-25 06:58
huo_hu 发表于 2014-7-25 11:21
第一行黑块还有没有,如果有复位不成功,你最好再查查硬件.
第一条指令要复位的吧,而且要延时后复位.

您说查硬件部分,这个请您指教一下,我认为是硬件可能出问题啦,不过,我不知检查哪里?
还有,就是您说的那个延时问题,是复位延时,这个也不太懂,能具体指教一下吗?小弟,提前谢谢啦!
Li_Lei
6楼-- · 2019-03-25 10:03
 精彩回答 2  元偷偷看……

一周热门 更多>