
1、时序问题:液晶的时序,要适当加一些延时,单片机不一样,延时就不一样,自己试着做一下。
2、软件问题:液晶的读写功能时序是否满足? 程序有无错误?
3、硬件问题:液晶的忙脚会不会因为焊接的原因一直拉高? 再有就是液晶驱动芯片是否坏掉?
第一,建议你先用别人做好的12864模块板子,取下他们的液晶模块,安装上你的液晶模块,确保你的液晶可以正常使用。
第二,看看别人的液晶驱动程序,你写的程序在时序功能实现上是不是对的(初始化程序,选屏、选内存区域,输入字符,给出使能信号,读回忙信号等等)。
第三,在各个时序部分加入延时,比如使能信号,让它给一会儿,读取信号也让它多等一会儿才读。
一般液晶就这些问题,没什么特别的。
你的推理是对的,他们这样写错了。为什么这么久都没有发现错误,是由于busy一直是低电平,while(busy)不会满足,判断一次就跳过了,而一般单片机的运行比较慢,调用这个程序需要1uS以上的时间,而1us的话LCD早就处理完数据了。
^_^。网上的东西不一定都是对的,你的编程态度很好! 赞~\(≧▽≦)/~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)