打印

MSP430模数转换ADC12

[复制链接]
1860|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Garen2|  楼主 | 2016-2-22 20:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangbo1985| | 2016-2-22 21:18 | 只看该作者
这个主要就是关于自带的ADC12模块及功能寄存器的介绍的,要是有相关的代码的就更好了

使用特权

评论回复
板凳
cemaj| | 2016-2-22 22:47 | 只看该作者
AD部分主要配置ADC12模块的时钟、参考源、采样通道、采样模式、存储和采样保持

使用特权

评论回复
地板
i1mcu| | 2016-2-22 22:48 | 只看该作者
分辨率(LSB):表示输出数字量变化一个相邻数码所需要输入模拟电压的变化量,它定义为转换器的满刻度电压与2的n次幂,其中n为ADC的位数。

使用特权

评论回复
5
uptown| | 2016-2-22 22:49 | 只看该作者
void ADC12Init(uchar Times,uchar Tube,uchar n,unsigned char v)  
{  
    if(Tube ==0)                                                //单通道转换  
    {  
        if(v == 0)  
        {  
            ADC12CTL0 = ADC12ON + SHT0_8 + MSC + REFON + REF2_5V;   //使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V  
            ADC12MCTL0 = SREF_0;                                    //使用内部电压,参考位为AVCC和AVSS  
        }  
        if(v == 1)  
        {  
            ADC12CTL0 = ADC12ON + SHT0_8;               //使用外部电压,打开ADC12内核,8分频  
            ADC12MCTL0 = SREF_2;                                //使用外部电压,参考为为VeREF+和AVSS              
        }  
        if(Times == 0)ADC12CTL1 = SHP + CONSEQ_0;           //单通道单次转换,采样信号来自采样定时器  
        if(Times == 1)ADC12CTL1 = SHP + CONSEQ_2;           //单通道多次转换,采样信号来自采样定时器  
        switch (n)                          //选择通道  
        {  
        case 0:ADC12MCTL0 |= INCH_0;break;  
        case 1:ADC12MCTL0 |= INCH_1;break;  
        case 2:ADC12MCTL0 |= INCH_2;break;  
        case 3:ADC12MCTL0 |= INCH_3;break;  
        case 4:ADC12MCTL0 |= INCH_4;break;  
        case 5:ADC12MCTL0 |= INCH_5;break;  
        case 6:ADC12MCTL0 |= INCH_6;break;  
        case 7:ADC12MCTL0 |= INCH_7;break;  
        }  
        ADC12IE = n;                                //使能待转换通道的中断  
        ADC12CTL0 |= ENC;                           //开启软件使能  
    }  
    if(Tube ==1)                                                //多通道转换  
    {  
        if(v == 0)  
        {  
            ADC12CTL0 = ADC12ON + SHT0_8 + MSC + REFON + REF2_5V;   //使用内部电压,打开ADC12内核,8分频,内部参考电压2.5V  
            ADC12MCTL0 = SREF_0;                                    //使用内部电压,参考位为AVCC和AVSS  
        }  
        if(v == 1)  
        {  
            ADC12CTL0 = ADC12ON + SHT0_8;                   //使用外部电压,打开ADC12内核,8分频  
            ADC12MCTL0 = SREF_2;                                //使用外部电压,参考为为VeREF+和AVSS              
        }  
        if(Times == 0)ADC12CTL1 = SHP + CONSEQ_1;           //多通道单次转换,采样信号来自采样定时器  
        if(Times == 1)ADC12CTL1 = SHP + CONSEQ_3;           //多通道多次转换,采样信号来自采样定时器  
        ADC12IE = 0xff;                             //使能待转换通道的中断  
        ADC12CTL0 |= ENC;                           //开启软件使能  
    }  
}  

使用特权

评论回复
6
cehuafan| | 2016-2-22 22:49 | 只看该作者
   第一个是ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念,曾经我有一段时间被迷惑住了。这个由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以选择ADC12OSC/ACLK/SMCLK/MCLK,TI例程里面好像都是选择的ADC12OSC,这个是5MHZ,不过频率容易受外界影响而改变。这个部分配置好了就得到了ADC12CLK。

使用特权

评论回复
7
cemaj| | 2016-2-22 22:49 | 只看该作者
MSP430F169中的ADC12是一个12位SAR核的高性能模数转换器

使用特权

评论回复
8
cehuafan| | 2016-2-22 22:50 | 只看该作者
    第二个参考源,这个部分可以用单片机的参考模块控制,也可以用ADC12模块控制,REFCTL0 &= ~REFMSTR;这句就是设置ADC模块直接控制参考源,ADC12REFON,ADC12REF2_5V打开参考模块,参考模块输出的参考电压为2.5V。ADC12CTL2 |= ADC12REFOUT;这句设置参考电压输出,可以输出也可以不输出。ADC12MCTL14 = ADC12SREF_1+ADC12INCH_14;这句是设置通道14的电压参考模式是:REF+:2.5V,REF-:AVSS.

使用特权

评论回复
9
lzbf| | 2016-2-22 22:51 | 只看该作者
MSP430单片机的ADC12模块是一个12位精度的A/D转换模块,它具有高速度,通用性等特点。

使用特权

评论回复
10
cehuafan| | 2016-2-22 22:51 | 只看该作者
    第三个采样通道,跟这个有关的寄存器有ADC12MCTL和ADC12CTL1的ADC12CSTARTADD。第一种单通道采样,ADC12MCTL选择采样的输入通道,ADC12CSTARTADD的值选择这个通道采样的值存入哪个存储寄存器内。比如:
ADC12CTL1 |= ADC12CSTARTADD3+ADC12CSTARTADD2+ADC12CSTARTADD1;
ADC12MCTL14 = ADC12INCH_14;

使用特权

评论回复
11
lzbf| | 2016-2-22 22:52 | 只看该作者

使用特权

评论回复
12
cehuafan| | 2016-2-22 22:52 | 只看该作者
   第四个采样模式,这个按照用户指导里面的模式示意图来写程序就可以,配置用ADC12CTL1里面的ADC12CONSEQ来配置。
    第五个存储没什么要写的,在第三个采样通道里面提到的就可以了,我主要讲下最后一个采样保持,这个部分是我领悟的新的知识点。

使用特权

评论回复
13
uptown| | 2016-2-22 22:53 | 只看该作者
430是3.3V供电的芯片,是不能直接进行0-5V的转换的

使用特权

评论回复
14
cemaj| | 2016-2-22 22:53 | 只看该作者
16个转换通道,多种时钟源,触发方式,和参考电压源。

使用特权

评论回复
15
Thor9| | 2016-2-27 21:05 | 只看该作者
AD多通道采样时怎么做的,多通道是同时采样的吗

使用特权

评论回复
16
冰河w| | 2016-2-27 21:36 | 只看该作者
AD的4种采样模式是怎么理解的

使用特权

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

本版积分规则

153

主题

734

帖子

3

粉丝