也有可能是单片机程序的时序有问题。
因为接口的排线比较长,液晶屏的片选等这些脚没有接上拉电阻,单片机的驱动程序延时设定得不合理,导致无法正常显示,屏幕显示的症状和我昨晚搞的屏幕一模一样。
昨晚我把51的液晶程序移植到avr(用的是16mhz晶振),液晶屏就不稳定了。后来在送数据和en使能时加1us的延时后,液晶屏才恢复正常。
屏幕显示成这个样子,说明初始化(0x00命令)正常,或者对比度不对。如果屏幕正常加电复位,会有一排黑色的方块。
建议检修方案:
1.把液晶屏的en(6)脚连线取掉,整机上电复位,观察液晶屏是否正常;
2.若液晶屏不正常,说明对比度可能有问题,将1和3脚用镊子短接,看看有没有效果;
3.若无效果,可能是液晶屏损坏,建议换新;
4.若一切正常,可能是mcu或者接口有问题,这时给液晶屏数据口及所有功能口加4k7上拉电阻试试;
5.如果还无效,可拿一片空白的s52进行编程,在里面写入简单的hello world程序,在驱动程序上注意,在送数据和使能前加短延时;或者暂时更换板上的晶振为4.000mhz,看看有没有改观。