找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10703|回复: 17
打印 上一主题 下一主题
收起左侧

lcd1602显示问题 只显示一行黑色的方格?

  [复制链接]
跳转到指定楼层
楼主
为什么我用lcd1602做万年历,当我给板子上电后,无论放不放单片机都只显示一行黑色的方格?有哪位做过lcd1602的朋友知道是怎么回事吗,该怎么解决?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:61876 发表于 2017-11-30 18:51 | 只看该作者
调整一下背光看看。
回复

使用道具 举报

板凳
ID:149988 发表于 2017-11-30 19:39 | 只看该作者

RE: lcd1602显示问题

一、检查1302和1602时序延时是否合乎要求。时钟信号是否按1602的要求输入。等等。
回复

使用道具 举报

地板
ID:149988 发表于 2017-11-30 19:41 | 只看该作者

RE: lcd1602显示问题

最好将程序贴出来。
回复

使用道具 举报

5#
ID:213173 发表于 2017-11-30 21:16 | 只看该作者
有一行黑色的方格可以认为此屏基本正常,多数是驱动程序不正常。
回复

使用道具 举报

6#
ID:157238 发表于 2017-11-30 21:52 | 只看该作者
调节一下对比度,不行的话就检查驱动程序是否有错,可以先用简单的显示程序测试调节
回复

使用道具 举报

7#
ID:246583 发表于 2017-12-1 19:31 | 只看该作者
不倒翁.WZT 发表于 2017-11-30 19:41
最好将程序贴出来。
  1. void delay(unsigned int xms) // 延时x ms
  2. {
  3. unsigned int x,y;
  4. for(x=xms;x>0;x--)
  5. for(y=110;y>0;y--);
  6. }
  7. void in1602(unsigned char x)//向1602写入一个控制字
  8. {
  9.         unsigned char t;
  10.         RW=0;
  11.         P0=x;
  12.         for(t=0;t<10;t++);//延时
  13.         E=1;
  14.         for(t=0;t<10;t++);//延时
  15.         E=0;
  16. }
  17. void init1602()//初始化1602
  18. {
  19.         delay(15);
  20.         RS=0;//写指令寄存器
  21.         in1602(0x38);//显示模式
  22.         delay(5);
  23.         in1602(0x38);
  24.         delay(5);
  25.         in1602(0x38);
  26.         delay(5);
  27.         in1602(0x06);//输入模式
  28.         in1602(0x0c);//显示开
  29.         in1602(0x01);//清屏
  30. }
  31. void wr1602(unsigned char d[],a)//向1602写入数据
  32. {
  33.         unsigned char i;
  34.         unsigned int t;
  35.         RS=0;
  36.         in1602(a);//输入显示地址
  37.         for(t=0;t<300;t++);//延时约1.6ms
  38.         RS=1;//允许写
  39.         for(i=0;i<16;i++)
  40.         {
  41.                 in1602(d[i]);//依次输入存放在d[]中的16进制数据
  42.                 for(t=0;t<300;t++);延时约1.6秒
  43.         }
  44. }
复制代码

和lcd1602有关的几个函数都在这里了,帮忙看一下有没有什么问题呗
回复

使用道具 举报

8#
ID:249808 发表于 2017-12-1 20:10 | 只看该作者
我之前也有碰到过,我那是程序没完全烧进去,还是接线没接对或脚位短路都会引起这个症状!
回复

使用道具 举报

9#
ID:60379 发表于 2017-12-1 21:01 | 只看该作者
单片机没向1602发数据就是这个结果,建议阅读《51单片机轻松入门 基于STC15W4K系列》第13章。附件为程序源码。 第13章 1602液晶.rar (147.98 KB, 下载次数: 40)








回复

使用道具 举报

10#
ID:256268 发表于 2017-12-1 21:04 | 只看该作者
布宜诺斯艾利斯 发表于 2017-12-1 19:31
和lcd1602有关的几个函数都在这里了,帮忙看一下有没有什么问题呗

也许是硬件问题   以前我晶振电容选错了,就出现过这种情况
回复

使用道具 举报

11#
ID:256268 发表于 2017-12-1 21:06 | 只看该作者
也许是硬件电路的问题,之前我晶振电路电容选择错了,就出现过这种情况,换了一个电容接着就好了
回复

使用道具 举报

12#
ID:246583 发表于 2017-12-1 21:14 | 只看该作者
LGH850 发表于 2017-12-1 20:10
我之前也有碰到过,我那是程序没完全烧进去,还是接线没接对或脚位短路都会引起这个症状!

你的LCD1602第三引脚(vo)是直接接地还是加了电阻或电位器?我是直接接地的
回复

使用道具 举报

13#
ID:452928 发表于 2020-3-25 17:33 | 只看该作者
兄弟,你当初的问题解决了么,我现在也是把单片机拔掉,也是只显示一行的黑色方块,是第三引脚的问题么,我电位器还有两三天才到
回复

使用道具 举报

14#
ID:691449 发表于 2020-3-25 18:20 | 只看该作者
nls 发表于 2020-3-25 17:33
兄弟,你当初的问题解决了么,我现在也是把单片机拔掉,也是只显示一行的黑色方块,是第三引脚的问题么,我 ...

把单片机拔掉,1602没有初始化,只显示方格很正常。
还有,尽量不要挖坟。
回复

使用道具 举报

15#
ID:452928 发表于 2020-3-26 15:36 | 只看该作者
xianming 发表于 2020-3-25 18:20
把单片机拔掉,1602没有初始化,只显示方格很正常。
还有,尽量不要挖坟。

但是不拔掉也是一样的结果啊
回复

使用道具 举报

16#
ID:673961 发表于 2020-3-26 19:57 来自手机 | 只看该作者
调节背光
回复

使用道具 举报

17#
ID:708010 发表于 2020-3-28 21:05 | 只看该作者
我也遇到这个问题了 然后我拔掉单片机 测了一下D0~D7的电压 只有只有D6是0 请问是因为这个原因吗?
回复

使用道具 举报

18#
ID:452928 发表于 2020-3-29 18:51 | 只看该作者
nls 发表于 2020-3-26 15:36
但是不拔掉也是一样的结果啊

我的问题解决了,我单片机当初是用的USB供电,然后1602用的是面包板电源,这两者的电压应该有偏差,所以一直不显示,然后我用面包板电源给单片机供电之后问题就解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表