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

 我来答
百度网友ff4aba5
2015-11-14 · TA获得超过4.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:93%
帮助的人:3727万
展开全部
1.硬件连接接触不良、虚焊。
2.LCD初始化函数写的不好,偶尔上电后初始化失败,就不能显示。建议上电延时一段时间,待LCD稳定后在执行初始化函数。
3.程序上要注意读写时序,加入适当的延时时间。
4.调节LCD第三脚V0的电压,调节到一个合适的值才可以显示。
ltch123
2012-10-31 · TA获得超过365个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:135万
展开全部
不可能的事,所谓没有问题只是你自己感觉没有问题,既然不显示就一定有问题,据我开始用LCD时的教训来看一般有下,软件送数据延时循环不够,读写控制有误,硬件电压不合适,背光电压调整不当,再仔细检查这几项吧。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dayhelloworldo
2019-09-05
知道答主
回答量:3
采纳率:0%
帮助的人:1747
展开全部
#include<reg52.h>

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 简单程序测试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
448697940
2012-11-01 · TA获得超过154个赞
知道小有建树答主
回答量:299
采纳率:50%
帮助的人:109万
展开全部
我同意
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式