本帖最后由 994920256 于 2013-11-25 16:42 编辑
1602.zip
(346.98 KB)
我手上有两块51单片机的板子,都是STC 89C52单片机,晶振都是11.0592M,两块不同的1602液晶,想在上面显示一个字符A,出现问题的程序如下C:\Users\hp\Desktop\XQ6R625(Q~YPZ1VZ9ZVEKG2.jpg
问题的现象是当不加de();这个延时函数时,在一个液晶上可以正常显示,在另一个液晶显示不正常,可以出现A这个字母,但是第一行会出现鬼影,加上延时,显示正常,也就是说想要不正常的那个液晶正常工作就必须加上那个de()延时函数
我个人觉得是生产液晶的厂家不同,导致液晶的时序上会有点不同,所以会出现这个现象,但是另外一个液晶必须至少延时大概15us左右的时间才能正常,但我看到的1602液晶上的手册上[img]C:\Users\hp\Desktop\]S4(7G@PEFAWZ52MX@G1K59.jpgC:\Users\hp\Desktop\}KWUXX6DYV9WU2)LQGMJLJ5.jpg[/img]
写时序上的时间都是ns级别的,51单片机执行一条指令就1us(12M的晶振),加de()延时函数没必要啊,可是不加的话,在第二个液晶上没办**常显示啊,恳求各位帮帮忙,解除我的疑惑 |