我看了程序,程序本身没语法问题,我觉得你说的现象的问题可能出在初始化函数里,而且是后两句。你先按最基本的方法去对液晶进行写操作…先不用写一个字节屏幕就左移,你试着写一个字节让光标自地址自动加一,就利用地址(0x80 )00-0F,40-4F进行相应的写操作。其他地址暂时不要使用。你试试吧,学单片机的乐趣就在于我们自己不断地进行调试,不断学到新的东西,就是那么一个过程。
要是你没有那些封装 自己画就好了 不用那么麻烦的
sip6 封装跟1602的lcd不对的
我觉得在第一行和第二行显示之间缺乏延时,加上延时应该就没有问题了,你试试!