完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人最近在做一个小项目,需要用到LCD1602作为显示模块。在单片机上电时,1602可以正常显示数据值,但是一按下复位键,1602就显示不正常了,只有将单片机重新上电1602才有恢复原样,这是为什么?一直想不明白啊,复位后不是从头开始执行代码吗?这跟一开始上电的情况有什么很大的不同吗?求大神们不吝赐教!!!在此先谢过了![qq]376694493[/qq]
|
|
相关推荐
7个回答
|
|
你可以在初始化lcd的那段程序上加写标记,比如让某个引脚输出高电平之类的。之后复位测一下那引脚,如果输出的是高电平则说明单片机已近执行了那段程序,那么就不是单片机的问题,可能是lcd的问题
|
|
|
|
试过了,复位后初始化函数有执行到啊,可是复位后还是显示乱码,而且我换了另一块lcd也是一样的情况。。。
|
|
|
|
试过了,复位后初始化函数有执行到啊,可是复位后还是显示乱码,而且我换了另一块lcd也是一样的情况。。。
|
|
|
|
原来是单片机复位出了问题,换一块就可以了。
|
|
|
|
继续努力,也觉得不可能的问题,越可能就是它
|
|
|
|
|
|
丝线控制法下,由于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 感谢!] |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12022 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:35 , Processed in 0.612047 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号