Lcd1602的重新赋值是否有影响

最近帮同学调试LC1602的显示,突然发现以前未注意的一个细节问题,同学的硬件为51单片机,驱动LCD1602显示,软件Keil 编写C语言,程序用PROTEUS仿真能正确显示,硬件上面对LCD的几个端口和单片机端口检查都是正确的,引脚能拉高也能拉低,但是就是不显示数字;程序上在也是对的,在其他板子上也能显示,就是在它的板子上不能显示;享乐一个下午也没明白是怎么回事,短短的几行代码,也不是很多,但是就是不显示

第二天下午又去帮着调了一下,把LCD显示程序单独提炼出来重新新建工程测试,起初发现也不行,由于LCD只需显示功能,无需读取LCD上面的内容,就将LCD_RW在程序的开头就拉低,并且在初始化后延时了一会儿时间,这次能终于实现了,在镶嵌到他自己的代码里面去,也能够正确显示,为此,我总结一下几点:

1. 程序中引脚一直为高或低的尽量放到初始化的前面对这些引脚初始化,感觉这些初始化以后在对这些引脚动手动脚的会干扰后面的操作,可能你这么做程序误认为你马上要些数据或指令了;在其他操作上,类似的问题,觉得引脚电平一直为低,你在正常执行的时候在给它一个低,理论上没什么影响,但实际上可能会出现什么不可预料的问题。

2. 初始化后在延时一小会,我猜测同学那个板子可能也有点问题,初始化后马上进行写数据的话,可能对LCD的初始化还没初始化完全,初始化过慢,这个慢的原因我感觉是晶振那块出了问题

posted @ 2014-05-19 16:51  帅气好男人_jack  阅读(6)  评论(0编辑  收藏  举报  来源