打印
[51单片机]

急问!

[复制链接]
1061|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
斗转乾坤|  楼主 | 2014-7-5 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ui, AD, AN, dc, lh
读出数据总是不对,希望大神帮看看:uint ad124s021 ()
{ uint ValH,ValL;
   uint i,j;
   uint return_val=0;//返回值
   uint ad_channel;//ADC通道
   CS1 = 1;
   CS1 = 0; //使能线   
  for (j=0;j<4;j++)//循环读两次数据,取4次的值
  {  
     
     ad_channel = 0xc7;//通道1
      ValH = 0;     //数据高位
      ValL = 0;      //数据低位
      SCLK1 = 1;     //时钟线     
      for (i = 1; i < 17; i++)
      {   
     if(i<9)
     { ad_channel = ad_channel << 1;  //取高位
            DIN = CY;
     }
      SCLK1 = 1;
      SCLK1 = 0;
     SCLK1 = 1;
     if(i>5&&i < 9)
     {  
       ValH =(ValH<<1)|DOUT;
           }     
           if (i >=9)     
           {
      ValL =(ValL<<1)|DOUT;
           }         
      }  
    return_val+= ((ValH<<8)+ValL);   
     }
   CS1 = 1;
   return (return_val>>2);求平均数
}

相关帖子

沙发
roykin| | 2014-7-5 16:30 | 只看该作者
UINT是8位数据吧?return_val就不止8位了吧?

使用特权

评论回复
板凳
lvyunhua| | 2014-7-5 16:52 | 只看该作者
     SCLK1 = 1;
      SCLK1 = 0;
     SCLK1 = 1;
时序不对吧,没有延时吗?

使用特权

评论回复
地板
yanzhuangsongqi| | 2014-7-5 17:46 | 只看该作者
建议和芯片的规格书时序图对照下

使用特权

评论回复
5
斗转乾坤|  楼主 | 2014-7-8 12:16 | 只看该作者
roykin 发表于 2014-7-5 16:30
UINT是8位数据吧?return_val就不止8位了吧?

已经解决,原来是单片机引脚问题

使用特权

评论回复
6
斗转乾坤|  楼主 | 2014-7-8 12:16 | 只看该作者
lvyunhua 发表于 2014-7-5 16:52
SCLK1 = 1;
      SCLK1 = 0;
     SCLK1 = 1;

原来是单片机引脚问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

70

帖子

2

粉丝