程序没问题,电路图没问题为什么在LCD1602上显示不出来?

2024-11-14 01:58:05
推荐回答(4个)
回答1:

1.硬件连接接触不良、虚焊。
2.LCD初始化函数写的不好,偶尔上电后初始化失败,就不能显示。建议上电延时一段时间,待LCD稳定后在执行初始化函数。
3.程序上要注意读写时序,加入适当的延时时间。
4.调节LCD第三脚V0的电压,调节到一个合适的值才可以显示。

回答2:

不可能的事,所谓没有问题只是你自己感觉没有问题,既然不显示就一定有问题,据我开始用LCD时的教训来看一般有下,软件送数据延时循环不够,读写控制有误,硬件电压不合适,背光电压调整不当,再仔细检查这几项吧。

回答3:

#include

typedef unsigned char uint8;
sbit BF = P0^7;
sbit EN = P2^5;
sbit RS =P1^0;
sbit RW =P1^1;

void wait(void)
{
P0=0xFF;

do
{
RS = 0;
RW = 1;
EN = 0;
EN = 1;
}
while (BF==1);
EN = 0;
}

void w_dat(uint8 dat)
{
wait();
EN = 0;
P0 = dat;
RS = 1;
RW = 0;
EN = 1;
EN = 0;
}

void w_cmd(uint8 cmd)
{
wait();
EN = 0;
P0 = cmd;
RS = 0;
RW = 0;
EN = 1;
EN = 0;
}

void Init_LCD1602(void)
{
w_cmd(0x38);
w_cmd(0x0c);
w_cmd(0x06);
w_cmd(0x01);
}
main()
{
Init_LCD1602();
w_cmd(0x80);
w_dat('F');
while(1);
}
LCD1602 简单程序测试

回答4:

我同意