This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430f169的DA 输出电压问题

Other Parts Discussed in Thread: MSP430F169, MSP430F5529

刚学习msp430f169 ,想用169的DA输出任意电压值。

可发现DAC12_0DAT 低于一定的值时,P6.6就等于0.68V(虽然还没有凑出具体是多少),想知道能DA输出的电压,能低于0.68V吗?希望知道具体操作。谢谢

#include <msp430f169.h>
#define uchar unsigned char
// 初始化DAC12通道0
void InitDAC12_0(void)
{
// 效验DAC
ADC12CTL0=REF2_5V+REFON;
DAC12_0CTL |= DAC12CALON; // 启动效验DAC
while((DAC12_0CTL & DAC12CALON) != 0){_NOP();} // 等待效验完成
// 控制寄存器设置
// 选择输入缓冲器中速中电流,输出缓冲器中速中电流,12位DAC,满电压输出为内基准,自动更新数据
DAC12_0CTL = DAC12AMP_5 + DAC12IR + DAC12LSEL_0;
DAC12_0CTL |= DAC12SREF_0;
DAC12_0CTL |= DAC12ENC; // 启动DAC模块(DAC12LSEL_0时此句可以省)
DAC12_0DAT = 0x03ff; // 初始化电压
}
//时钟
void Clock_Init()
{
uchar i;
BCSCTL1&=~XT2OFF; //打开XT2振荡器
BCSCTL2|=SELM1+SELS; //MCLK为8MHZ,SMCLK为8MHZ
do{
IFG1&=~OFIFG; //清楚振荡器错误标志
for(i=0;i<100;i++)
_NOP();
}
while((IFG1&OFIFG)!=0); //如果标志位1,则继续循环等待
IFG1&=~OFIFG;
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; ; //看门狗初始化
Clock_Init(); //时钟初始化

InitDAC12_0() ;
}