4139|7

36

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

msp430用ADC10求平均值 [复制链接]

#include "msp430f2122.h"

unsigned char key_value();
void main( void )
{   
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;

  while(1)
  { 
    P1DIR |=0X80;
    key_value();
   }

}

unsigned char key_value()
{ unsigned char i,ad_value=0;
  ADC10CTL0 = SREF_1+REFON+REF2_5V+ADC10SHT_2 + ADC10ON; 
  ADC10CTL1 = INCH_7+CONSEQ_2;
  ADC10AE0 |= 0x80;                    
  P1DIR |= 0x01;                     
  ADC10CTL0 |= ENC+ADC10SC; 
  if (ADC10MEM*2.5/1023<2)
  {   
    P1OUT |=0X80; 
    for(i=0;i<4;i++)
    {
     ADC10CTL0 |= ENC+ADC10SC; 
     while (ADC10CTL1 & ADC10BUSY);
     ad_value=ad_value+ADC10MEM;
    }
    ad_value=ad_value/4;
  if(ad_value*2.5/1023>0.2)
    P1OUT |=0X01;
  else
    P1OUT &=~0X01;
  }
return ad_value;
}

各位坛友帮忙看下,主要是想按键检测,我这程序直接读取ADC10MEM能得到准确的电压值,但是转换4次求平均值,值就不正确,帮忙指点下,不胜感激~~~

最新回复

ADC10MEM*2.5/1023  详情 回复 发表于 2012-8-3 06:10
 
点赞 关注

回复
举报

60

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
呃~累加4次后ad_value的值有溢出吗?
LZ您可以试下用单步调试看下ad_value值吧
 
 

回复

188

帖子

0

TA的资源

纯净的硅(中级)

板凳
 

回复 沙发 3g465 的帖子

ad_value 是unsigned char 8bit,adc10mem是16bit,累加4次发生溢出
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(高级)

4
 
程序问题很多啊,
1:ad_value是char
2:ADC10MEM*2.5/1023<2,不一样的类型放在一起运算,没有加强制转换。
3:打开ADC REF后没有延时,直接开始采样。

点评

ADC10MEM*2.5/1023  详情 回复 发表于 2012-8-3 06:10
 
 
 

回复

36

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 modernthink 的帖子

多谢啊~~~ 我再改下~~
 
 
 

回复

36

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 楼主 woody13 的帖子

谢谢各位啦~~~
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 楼主 woody13 的帖子

求4次AD值,取平均值的话,可以设置一个含4个INT型整数的数组,将4次得到的值分别赋给这个数组的四个变量,再求平均值即可
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 4楼 modernthink 的帖子

ADC10MEM*2.5/1023<2,不一样的类型放在一起运算,没有加强制转换。

这里16进制的ADC10MEM能够直接参与运算吗?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表