原创 MSP430F2616开发笔记(九)使用12-bit DAC

2014-3-22 15:26 1164 18 18 分类: MCU/ 嵌入式 文集: MSP430

MSP430的DAC使用起来比ADC要简单得多,简单的设置就能够正常工作。如果使用内部参考的话,需要从ADC模块中启动内部参考源。DAC不需要选择时钟,它会使用当前的MCLK,这里是默认的1.1MHz的DCOCLK。

/**************************************************/
int main (void)
{
    uint16_t i = 0, j = 0;

    WDTCTL = WDTPW + WDTHOLD;
    
    // 首先需要打开ADC的内部参考,因为这里DAC需要使用它,如果选择外部参考源的话,就不用设置
    // 等待内部REF稳定,MSP430的延时函数需要根据MCLK的时钟源不同调整
    ADC12CTL0 = REFON + REF2_5V;
    DelayMs_sys(18);

    // 选择REF内部参考源,满量程1x输出(不使用3x放大),使用中等速度
    // 启动calibration标定过程,直到完成    
    DAC12_0CTL = DAC12SREF_0 + DAC12IR + DAC12AMP_5;
    DAC12_0CTL |= DAC12CALON;
    while (DAC12_0CTL & DAC12CALON);

    // 选择REF内部参考源,满量程1x输出(不使用3x放大),使用中等速度
    // 使能DAC
    DAC12_0CTL = DAC12SREF_0 + DAC12IR + DAC12AMP_5 + DAC12ENC;

    while (1) {
        DAC12_0DAT = i;
        i = i + 256;
        DelayMs_sys(300);
    }
    return 0;
}
/**************************************************/
使用DAC的输出来控制后续电路,如果有电阻分压的部分,加上电压跟随器能取得更好的效果。

文章评论0条评论)

登录后参与讨论
我要评论
0
18
关闭 站长推荐上一条 /2 下一条