1602有时正常,有时乱码

2019-07-16 02:58发布

各位大侠,求助啊。。。小弟用1602液晶写了个程序,现在显示有时正常,有时乱码。。。
初始开关电源5V上电后正常显示,反复开关几次后显示就会乱掉。。。。按下手动复位开关后显示仍然乱码。。。
断电等待几分钟后再次上电正常显示。。硬件连线检测过了没错。。。







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
逍遥365day
1楼-- · 2019-07-16 21:12
 精彩回答 2  元偷偷看……
蓝色海鸥year
2楼-- · 2019-07-16 22:58
0x01清除数据试一下
boboxin4
3楼-- · 2019-07-17 01:33
嗯嗯,四位接法有时会乱码。能正常显示就证明你的代码应该没有问题。复位后乱码再复位变正常有可能是四位线接法的通病。你可以试一下初始化两次,再传送要显示的内容。或采用8位接法。
1539914453
4楼-- · 2019-07-17 01:35
四线控制法下,由于LCD复位后默认是8线输入,如果函数LCD_com是一个按4线输入写的函数,执行LCD_com(28)等效为先写入了8线指令2x,写入后LCD已改为4线模式,再写入4线指令8x的高四位,但是不再有低四位写入,所以之后写入其他数据时,LCD仍在等待上一个指令的第四位,导致不能正确识别数据。
执行LCD_com(02),先是写入了8线指令0x,再写入8线指令2x,这时才将LCD改为4线输入。之后按4线写数据时,就没有高低位错乱的问题了。
xinqiao.liu
5楼-- · 2019-07-17 02:03
1539914453 发表于 2016-8-30 14:55
四线控制法下,由于LCD复位后默认是8线输入,如果函数LCD_com是一个按4线输入写的函数,执行LCD_com(28)等效为先写入了8线指令2x,写入后LCD已改为4线模式,再写入4线指令8x的高四位,但是不再有低四位写入,所以之后写入其他数据时,LCD仍在等待上一个指令的第四位,导致不能正确识别数据。
执行LCD_com(02),先是写入 ...

有人说时钟过快或上电时钟不稳导致时序错误,但我觉得这才是最正确的回答!

一周热门 更多>