搜索
bottom↓
回复: 3

[!江湖急救!]mspf149片上adc12模块多通道重复转换设置问题

[复制链接]

出0入0汤圆

发表于 2010-4-23 11:49:14 | 显示全部楼层 |阅读模式
msp430f149 片上的ADC12模块
设置多通道重复采样方式时  设置的相关流程应当是如何的?我的adc12采不起来?急救!哪位指点指点我~!?

我把我设置的一部分初始化程序扔到这,哪位仁兄帮我看看:

文件:adc.c

#include <msp430x14x.h>
#define uchar unsigned char
#define uint  unsigned int
uchar tempval;   //定义全局变量 tempval 小车的状态参量

/************************************
函数名:adc_init()
功能:adc12初始化---基准电压:AVCC  
                    采样模式:8通道连续重复采样
                    
***********************************/
void adc_init(void)
{
    P6OUT = 0xff;
    P6SEL = 0xff;         //Enable ADC module
   
   
    ADC12CTL0 = ADC12ON+SHT0_2+MSC;           // 打开ADC,设置采样保持时间
    ADC12CTL1 = SHP+CONSEQ_3;                 // 使用采样定时器
   
    ADC12MCTL0 = INCH_0;                      // ref+=AVcc, channel = A0
    ADC12MCTL1 = INCH_1;                      // ref+=AVcc, channel = A1
    ADC12MCTL2 = INCH_2;                      // ref+=AVcc, channel = A2
    ADC12MCTL3 = INCH_3;                      // ref+=AVcc, channel = A3
    ADC12MCTL4 = INCH_4;                      // ref+=AVcc, channel = A4
    ADC12MCTL5 = INCH_5;                      // ref+=AVcc, channel = A5
    ADC12MCTL6 = INCH_6;                      // ref+=AVcc, channel = A6
    ADC12MCTL7 = INCH_7 + EOS;                // ref+=AVcc, channel = A7, end seq.
    ADC12IE = 0x80;                           // Enable ADC12IFG.3
    ADC12CTL0 |= ENC;                         // Enable conversions

}

/***********************************
函数名:adc_cov();
功能:对八通道采样数据进行处理,当ADC12MENx >=2.5V/(Vref) * 2^12,
      temp_val 置1,否则为0

************************************/


unsigned char adc_cov(void)
{
  uchar temp_val;
  uchar i;
  i=0;
  temp_val=0x00;
  
  for(i=0;i<8;i++)
  {
    switch(i)
    {
    case 0: if(ADC12MEM0>0x7ff)   
              temp_val |= 0x01;
            break;
    case 1: if(ADC12MEM1>0x7ff)   
              temp_val |= 0x02;
            break;
    case 2:if(ADC12MEM3>0x7ff)   
              temp_val |= 0x04;
            break;
    case 3:if(ADC12MEM4>0x7ff)   
              temp_val |= 0x08;
            break;
    case 4:if(ADC12MEM5>0x7ff)   
              temp_val |= 0x10;
            break;
    case 5:if(ADC12MEM6>0x7ff)   
              temp_val |= 0x20;
            break;
    case 6:if(ADC12MEM6>0x7ff)   
              temp_val |= 0x40;
            break;
    case 7:if(ADC12MEM7>0x7ff)   
              temp_val |= 0x80;
            break;
    default :break;              
    }
   
}

return tempval;
}


主程序mail.c部分程序:

……………
……………

/************主函数***********************************************/
void main(void)
{
  //uchar car_stat;
  WDTCTL = WDTPW + WDTHOLD;         
  int_xt2_clk();                        //XT2高速时钟启动(8MHz)      
  adc_init();                           //adc12初始化
  pwm_init();                           //电机PWM初始化
  pwm_rate(1.00,1.00);                  //pwm数率
  car_front();                          //小车前进
  for(;;)
  {
    ADC12CTL0 |= ADC12SC;                     // Start conversion
    _EINT();                                  // Enable interrupts

  }

}

//中断服务子程序,随便测试一下,假如
//有传感器检测在黑线上,输出电压小于1.5V左右,电机则反转
#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR(void)
{
   uchar car_stat;                    
   car_stat=adc_cov();              
   if(car_stat!=0)
   car_back();            //电机反转
   _NOP();
}

…………

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-4-23 11:49:57 | 显示全部楼层
哪位好心人帮我看看
我估计是相关设置没搞好。
但是就是找不到原因!
感激涕零啊!

出0入0汤圆

 楼主| 发表于 2010-4-23 15:12:56 | 显示全部楼层
给点反应 同志们
我盯着屏幕有好几个小时了

出0入0汤圆

发表于 2010-8-12 09:14:12 | 显示全部楼层
似乎参考电压没打开!!!!REFON
试试吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 16:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表