本人做个数字电压表,现在遇到的是在液晶初始化过程中,界面出现杂点无法清除 想请各位有经验的人士给予帮助
/****************************************************/
/* LCD初始化lcd_init() */
/****************************************************/
void lcd_init()
{
chkBF();
lcdres=0; //液晶复位
delay(3);
lcdres=1; //液晶复位结束
write_cmd(DISPLAY_OFF);
write_cmd(DISPLAY_ON);
clsram();
write_cmd(BASIC_INS); //基本指令集
write_cmd(CURSOR_ON); //整体关,游标关,闪烁关
write_cmd(0x06); //DDRAM的地址计数器(AC)加1
write_cmd(SCRCLS);
delay(3); //等待初始化结束
}
下面是清屏子函数调用 、及忙碌检测
/*******************************************/
/* lcd检测忙void chkBF; */
/*******************************************/
void chkBF(void)
{
P0=0xff;
lcdrw=0;
lcdrs=1;
lcden=1;
while(!BusyFlag);
delay_us(20);
}
/******************************************/
/* 清屏显示 */
/******************************************/
void clsram()
{
uint i,j;
lcdcs1=1;lcdcs2=0; //清左半屏
for(i=0;i<8;i++)
{
setxy(i,0);
for(j=0;j<64;j++)
{
write_date(0x00);
}
setxy(0,0);
}
lcdcs1=0;lcdcs2=1; //清右半屏
for(i=0;i<8;i++)
{
setxy(i,0);
for(j=0;j<64;j++)
{
write_date(0x00);
}
setxy(0,0);
}
} |