可能是对比度没填好,可以调下电位器 |
问题已经解决了,是PCB板我把复位按键的两个相邻引脚接一起导致一直通路,还有三极管原理图和PCB封装不对应导致出错,重新打板之后已经能正常显示了,感谢各位回复过的大佬,此贴终结。 |
这种芯片座有机会接触不良 建议用以下代码检查LCD1602各信号脚有没有电平变化
|
我Dell沈阳了 发表于 2022-5-7 20:53 第一:请确认LCD1602是否插反方向,插反方向是会导致白块的,但不会烧坏屏 第二:请确认你的RS/RW/E/DATA 这些端口是否和程序里面的一致,不一致也会导致屏白块 第三:以上两项都正确,再确认你的程序写指令和写数据延时部分是否正确,一般仿真是不能评论实物的,仿真是理想化的仿真,但实物的时候一切以实际为主. 如果你不确定你的写指令和写数据部分延时需要多少,尽可能的调大(一般大些不会导致白块或不显示,只是写指令和写数据等的时间稍长些),等显示出来再调小,调到刚好可以稳定显示又不会太大为准(比如你调到40刚好可以显示了,再小就不显示了,直接调到45-50即可,调太大影响程序运行速度) |
E口跳变缺少延时! */ //------------------------------------------------ //LCD E口跳变时,LCD显示一个字符/接收一个指令 //RS=0:命令指令,RS=1:显示数据指令 //------------------------------------------------ void LcdWriteInfo( u8 RS, u8 RW, u8 dat ) { //while(LcdBusy()); LCD1602_RS = RS; LCD1602_E = 0; LCD1602_RW = RW; LCD1602_DATA = dat; delay1Cycle(5); LCD1602_E = 1; delay1Cycle(5); LCD1602_E = 0; delay1Cycle(5); } |
我Dell沈阳了 发表于 2022-5-7 20:53 一试无妨 |
有几张图在只看大图那里,问问像我最后一张图上这个1602插法影响大吗?需要多插一个排母吗? |
w1179benp 发表于 2022-5-7 19:58 已经发上来了 |
我Dell沈阳了 发表于 2022-5-7 19:39 还是把原理图、PCB图上上来看看吧。 |
w1179benp 发表于 2022-5-7 18:54 没有反接,只是画pcb的时候没有考虑到ic锁紧座的高度 ![]() ![]() |
发表于 2022-5-7 17:47
|
调调左上角对比度电位器,看对比度合适不。 |
没看到你的MCU底板PCB定义,但直觉是你的1602插反方向了(通常设计开发板,1602不会盖在MCU上) |
你的主函数到哪里去了??? 40us延时太短,能仿真不代表实物也能行。
|
写命令和数据延时时间可能太短了,加长,到1~3毫秒估计就可以了。 |
来看一下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-210690-1.html 既有可能是软件问题也有硬件问题 http://www.51hei.com/bbs/dpj-187378-1.html http://www.51hei.com/bbs/dpj-160754-1.html |