回答

收藏

[求助] cs5513的AD采集问题?AD采集不对?

51单片机 51单片机 3338 人阅读 | 0 人回复 | 2015-02-04

问题:
    1.cs5513是20位AD怎么设计成16位AD?
    2.cs5513将转换的值送显示怎么不对?程序如下:
    #define ADCLK  P14
    #define ADSDO  P13

     void CS5513 ()
{
uchar i;
AD_val=0;
ADCLK=0;
// while(ADSDO);
for(i=0;i<24;i++)
{
_nop_();_nop_();
  ADCLK=1;
  AD_val=AD_val<<1;
  _nop_();_nop_();
  _nop_();_nop_();
  if(ADSDO)
    AD_val++;
        ADCLK=0;
        _nop_();_nop_();
        _nop_();_nop_();                  
}
while(!ADSDO);
AD_val=AD_val>>4;
}
void main()
{
CS5513();
  //AD_val=ADConv();
  //AD_val=AD_val/16;
  a[1]=AD_val/1000000;
  a[2]=AD_val%1000000/100000;
  a[3]=AD_val%1000000%100000/10000;
  a[4]=AD_val%1000000%100000%10000/1000;
  a[5]=AD_val%1000000%100000%10000%1000/100;
  a[6]=AD_val%1000000%100000%10000%1000%100/10;
  a[7]=AD_val%10;
  DisplayLED(a,8);
  delayms(500);
}
AD显示的值不变化?我的AD驱动程序有问题吗?
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条