[求助] ADC12我如果想测量外部电压 寄存器该怎么改变

清风萧瑟无眠   2014-3-30 20:39 楼主
void adc_clkinit()
{      
ADC12MCTL0=ADC12SREF_1+ADC12INCH0;
ADC12CTL0 =ADC12ON+ADC12SHT0_2+ADC12REFON+ADC12REF2_5V; //ON:AD工作使能     SHT0_2:转换时间
ADC12CTL1 =ADC12SHP;            //SHP=1时   ADC12SC=1 采样   ADC12SC=0 转换
//ADC12CTL1|=ADC12CONSEQ_2;
ADC12CTL0|=ADC12ENC;
ADC12IE=0x01;
_EINT();
while(test)
{
ADC12CTL0|=ADC12SC;            //SHP=1 :SC=1 采样 (ADC12数值S/C=采样/转换)
}
ADC12CTL0&=~ADC12SC;           //转换
_NOP();
_NOP();
}

#pragma vector=ADC12_VECTOR  //采样完成后  IFG置位
__interrupt void ADC()
{
_DINT();
AD[count]=ADC12MEM0;
if(count==60)
{
test=0;
count=0;
for(i=0;i<60;i++)
{
ADC12+=AD[i];
}
ADC12=ADC12/60;
result=(ADC12*5.75/4095);
result1=result*1000;
_NOP();
}
count++;
_EINT();
}


回复评论 (5)

楼主可以先看TI官方提供的资料例程等,这里下载http://www.ti.com.cn/tool/cn/msp430ware,这个包里有所有关于430 的资料
捕获.PNG


捕获.PNG


捕获.PNG


对应的引脚设置成相应的ADC功能


下面是入门的资料


http://wenku.baidu.com/link?url=LjUY5xyWEUgmosvHiDuPnc12D_nVBkZLePpnj1elghjoyIKdrUujT6OIXp3KPHQKH4K7vqTRn1KWkT2GxePTBNkwy5Y_ToPBkwVMFaHwT6i
点赞  2014-4-14 12:59
对于初学者:我强烈建议查看这个资料
【入门必看】Launchpad口袋实验平台(指导书)下载
https://bbs.eeworld.com.cn/forum. ... 0554&fromuid=415653

里面介绍了最详细,也是初学者最想看的资料。比如什么宏定义的使用方法了,C语言中的或|、与&的使用方法啦。。等等。。。
点赞  2014-4-14 13:18
楼上正解!官方例子最给力!
BE MYSELF
点赞  2014-4-14 13:36
一、参照官方例程      二、从网上搜索一个430利用ADC做电压表的例子呢(很多的呢,我这有个g2553的,要的话传给你呢)。
人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
点赞  2014-4-14 14:21

6楼 Sur 

ADC12MCTL0=ADC12SREF_1+ADC12INCH0;//参考电压 VR+ = VREF+  VR− = AVSS,通道是A0,是内部的参考电压
如果按楼主说的测量外部电压的话,只要把A0这个管脚引出来就好啦,
NXP新年新气象大家一起嗨起来 + 恩智浦KW41Z有奖创意征集令高能来袭 +https://www.eeworld.com.cn/huodong/201611_NXPKW41ZActivity1/index.html
点赞  2014-4-15 15:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复