液晶屏的控制器用的KS0108
现在读液晶屏状态的时候有问题,总是判断液晶屏“忙”,程序如下:
void ReadStatusLCD(uchar select)
{
switch(select)
{
case 1:{CSA_SET;CSB_CLR;break;}//左
case 2:{CSA_CLR;CSB_SET;break;}//右
defaule: break;
}
DDRA = 0x00;//设置A口为输入
PORTA = 0xff;//上拉
RS_CLR;
RW_SET;
EN_SET;//高电平读取数据
_nop_(); //若晶振速度高,可在此作延时处理
while(PINA & 0x80);//最高位为忙标志,检测忙信号状态<--------问题出在这里
EN_CLR;
_nop_(); //若晶振速度高,可在此作延时处理
DDRA = 0xFF;//设置A口为输出
}
执行到while就过不去了,请高手指点一下 |