液晶屏的控制器用的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就过不去了,请高手指点一下
|