标题: Lcd1602那些事儿 [打印本页]

作者: lzt456    时间: 2021-7-23 00:44
标题: Lcd1602那些事儿
我看了普中自家的程序,感觉这个也没问题,延迟也加过没效果,求各位大佬看看

IMG_20210723_003538.jpg (6.05 MB, 下载次数: 51)

IMG_20210723_003538.jpg

IMG_20210723_003451.jpg (4.74 MB, 下载次数: 49)

IMG_20210723_003451.jpg

IMG_20210723_003502.jpg (4.42 MB, 下载次数: 41)

IMG_20210723_003502.jpg

IMG_20210723_003517.jpg (3.01 MB, 下载次数: 52)

IMG_20210723_003517.jpg

1602显示.zip

567 Bytes, 下载次数: 8


作者: 51hei团团    时间: 2021-7-23 04:25
来看一下51hei论坛里面解决此问题的痛苦经历吧:
51hei搜索框输入"1602 方块"或者"1602 黑块"或者"1602 白块"或者"1602 格":

这个是io口设置问题,最终搞定了:http://www.51hei.com/bbs/dpj-199732-1.html
http://www.51hei.com/bbs/dpj-168643-1.html
http://www.51hei.com/bbs/dpj-208189-1.html

既有可能是软件问题也有硬件问题
http://www.51hei.com/bbs/dpj-187378-1.html
http://www.51hei.com/bbs/dpj-160754-1.html
作者: Y_G_G    时间: 2021-7-23 06:39
我觉得"复制粘贴,试一下",这是学单片机最没效率的,个人看法
首先,数据手册一定要先看明白,知道它是怎么操作的,哪个指令是干嘛的,要不要上拉电阻,工作电压,延时要求
然后,可以上网找别人的代码,然后自己写(这个很重要),自己写完代码然后加上注释,比如它这个为什么0xff,数据手册里面哪个位是干嘛的
再然后,想办法显示一个点,或者一个字母"A"什么,不要一上来就写完整个程序,几百上千行代码,然后烧录一看.....
你只要能在LCD上面显示一个你想要显示的符号,基本上后面的事就简单了
作者: cjjdemon    时间: 2021-7-23 08:57
这个是对比度没调好吧。。。
作者: 杨雪飞    时间: 2021-7-23 09:51
普中家的程序只适用于普中家的1602,跟其他的不兼容。12864也是7920带字库的。试试其他的程序吧,具体哪里的问题没有细研究,反正手里的一块普中68000的就是这个问题,这也是我一直反对新手使用开发板学习的问题。1602还是非常好驱动的,程序也是大把的,只是普中的不知道出于什么目的,用了一块特殊的1602。另外你这个首先看下开发板跟1602DB连接的是不是P0口,P0口有没有上拉电阻,没有的话是万万不能显示的。还有那EN  RS  RW引脚对应了没有。
作者: yzwzfyz    时间: 2021-7-23 10:05
未弄清显示原理,即使成功了,意义也不大。
未带你需要用到LCD时,自己还能整出来吗?
所以必须弄清楚原理。

作者: 名字不是重点    时间: 2021-7-23 10:27
这种图形出现的原因就是初始化不成功。
分析你是用开发板所以不存在数据口没上拉的可能。认真读一下1602的时序图,发现代码有一个问题(不够强壮----逻辑不够严谨):
应该 是:
lcd1602_e=1;
lcd1602_db=data;
lcd1602_e=0;
你可以再试一下。
作者: 名字不是重点    时间: 2021-7-23 10:29
看图说话:

作者: lzt456    时间: 2021-7-23 10:31
Y_G_G 发表于 2021-7-23 06:39
我觉得"复制粘贴,试一下",这是学单片机最没效率的,个人看法
首先,数据手册一定要先看明白,知道它是怎么操 ...

这个我是知道的,我是感觉普中和这个书上的逻辑都没毛病,我把书上用作字符串做循环的放松也行,只是他自己这个程序有点问题,我是两个程序,一点一点试,发现其实原理都没问题,但是就书上这个有点毛病,但又说不出哪有点问题,但肯定是写入数据部分(数据手册看过的,基本原理大概清楚)
作者: lzt456    时间: 2021-7-23 10:34
yzwzfyz 发表于 2021-7-23 10:05
未弄清显示原理,即使成功了,意义也不大。
未带你需要用到LCD时,自己还能整出来吗?
所以必须弄清楚原 ...

我是想用书上这种方式,把lcd点亮
作者: lzt456    时间: 2021-7-23 10:35
名字不是重点 发表于 2021-7-23 10:27
这种图形出现的原因就是初始化不成功。
分析你是用开发板所以不存在数据口没上拉的可能。认真读一下1602的 ...

嗯,我去试试
作者: lzt456    时间: 2021-7-23 10:48
杨雪飞 发表于 2021-7-23 09:51
普中家的程序只适用于普中家的1602,跟其他的不兼容。12864也是7920带字库的。试试其他的程序吧,具体哪里 ...

这个是我在网上买的
作者: Spoiled.    时间: 2021-7-23 10:53
调对比度
作者: 名字不是重点    时间: 2021-7-23 10:55
lzt456 发表于 2021-7-23 10:48
这个是我在网上买的

1602的代码是通用的。不同的单片机可能要做一些延时上的调整,我用过5、6种1602,都可以直接用的。不用更改代码
作者: lzt456    时间: 2021-7-23 13:04
已解决, 貌似是没调晶振频率,还是谢谢大家了
作者: 可爱小马    时间: 2021-7-24 10:05
第一种原因:初始化不成功
第二种原因:lcd正对着从左往右数第三个引脚直接接地了,应该加个10k或者可调电阻,用来调对比度




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1