把你LCD12864初始化函数最后三句之间加一个延时(一般用延时代替查忙)。在对LCD12864进行读写的时候要先查忙,
12864对于单片机是慢性器件,单片机可以很快的处理,可是它们不行,如果它们还在执行你的上一条指令,比如在某
个地方显示一串字符,还没有显示好,你又来一条指令,要它去另一个地方显示一些字符,你说它该怎么办?它会执行
完上一个指令后再去执行下一条指令?不会,它那个检测“忙”信号的那根线,如果不“空闲”,单片机是无法读写的。
void lcd_init() //初始化LCD
{
// LCD_PSB = 1; //选择并行模式
lcd_wcmd(0x30); //初级指令集
delay_ms(5);
lcd_wcmd(0x0C); //开显示
delay_ms(5);
lcd_wcmd(0x01); //清屏
delay_ms(5);
}