经过测试,在初始化之前加入了长时间延时,顺利地解决了重新上电LCD19264不能正常显示的问题,在下面的代码中,循环180次都不行,要循环190次才能达到延时的要求,为保险起见,我让其循环了200次:
void LCD_init(void)
{
unsigned char i=0; //用于循环写入指令
for(i=0; i<200; i++) //延时,等待LCD工作正常
Delay(100);
for(i=0;i<8;i++) //循环写入初始化指令
{
WriteData(IC[i],0); //写入指令
}
/*
WriteData(0xe2,0); //显示屏复位指令
WriteData(0xa3,0); //设置帧速率[A0: 76fps, A1b: 95fps, A2b: 132fps, A3b: 168fps(fps: frame-per-second)]
WriteData(0xeb,0); //设置LCD偏置比(亮度设置)
WriteData(0x2f,0); //显示屏功耗设置
WriteData(0xc2,0); //设置LCD映射控制
WriteData(0x81,0); //设置SEG偏置电压(对比度) 双字节指令
WriteData(0xb4,0); //设置SEG偏置电压(对比度) 双字节指令0xb4
WriteData(0xaf,0); //开启显示指令
WriteData(0xa6,0); //开启正常显示
*/
}
|