关于国产1602只显示一行的问题解决

2020-01-30 13:44发布

本帖最后由 目完雪 于 2013-4-20 21:22 编辑

首先检查硬件电路(尤其是VO脚,别到时候栽在这个对比度脚上就头大了)
其次是保证程序的写数据和写指令以及初始化的时序没有问题。之后,那就是初始化中“显示模式设置”这个指令上的问题了。
仔细看1602的数据手册,初始化会让你进行四次0x38的指令操作,所以如果写数据函数是lcd_com (uchar com);
则应该这样:
lcd_com (0x38);                           //显示模式设置
lcd_com (0x38);                           //显示模式设置
lcd_com (0x38);                           //显示模式设置
lcd_com (0x38);                           //显示模式设置
lcd_com (0x0c);                        //开显示,不显示光标
lcd_com (0x06);                        //读或写后地址指针加一且写一个字符整屏显示不移动
lcd_com (0x01);                        //数据指针和所有显示清零
lcd_com (0x80);                        //设置数据指针地址
(以上仅供参考,希望解决这个头疼的问题)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
pj_johnny
1楼-- · 2020-01-31 07:58
本帖最后由 pj_johnny 于 2013-4-20 21:36 编辑
目完雪 发表于 2013-4-20 21:31
这是大家来论坛的共同目的之一,多多分享,多多益善~


这句话是核心,这表情是亮点,你头像更是霸气!
shawnme
2楼-- · 2020-01-31 09:02
我的为什么一句初始化就搞定了。

1602.jpg (9.48 KB, 下载次数: 0)

下载附件

2013-4-20 22:19 上传

目完雪
3楼-- · 2020-01-31 14:17
shawnme 发表于 2013-4-20 22:19:31
我的为什么一句初始化就搞定了。

如果亲你以后用的多会遇到问题的,一般情况下那个是可以的,但是不稳定。你可以看看数据手册。

一周热门 更多>