51单片机复位,LCD1602显示变成乱码是咋回事?

2019-07-15 15:31发布

本人最近在做一个小项目,需要用到LCD1602作为显示模块。在单片机上电时,1602可以正常显示数据值,但是一按下复位键,1602就显示不正常了,只有将单片机重新上电1602才有恢复原样,这是为什么?一直想不明白啊,复位后不是从头开始执行代码吗?这跟一开始上电的情况有什么很大的不同吗?求大神们不吝赐教!!!在此先谢过了![qq]376694493[/qq]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
1539914453
1楼-- · 2019-07-16 12:09
丝线控制法下,由于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线写数据时,就没有高低位错乱的问题了。[转载:mrjingf   感谢!]

一周热门 更多>