DAC8552是TI公司推出的16 位双路电压输出数模转换器,本次来介绍一下这个芯片在MSP430单片机上如何使用。
1.芯片的电路图介绍
在这里插入图片描述
一共才八个引脚,比较简单,具体介绍我就不说了,如果小伙伴们有疑问或者更具体的资料可以去官网直接去查datasheet,一共就二十来页,一会儿就看完了。
2.程序介绍
先来说一下dac8552库函数怎么写
void DAC8552_Init()
{
P1DIR|=BIT3+BIT4+BIT5; //配置MSP430的引脚
SYNC_H;
SCLK_H;
}
void DAC8552_Write(unsigned int cmd,unsigned int data) //往里写命令和数据
{
unsigned int temp1=0,temp2=0;
unsigned char i=0;
temp2=data;
temp1=cmd;
SYNC_L; //使能拉低
for(i=0;i<8;i++) // 高8位写控制命令
{
SCLK_H;
if(temp1&0x80)
DIN_H;
else
DIN_L;
SCLK_L;
temp1=temp1<<1;
}
for(i=0;i<16;i++) // 低16位写数据
{
SCLK_H;
if(temp2&0x8000)
DIN_H;
else
DIN_L;
SCLK_L;
temp2=temp2<<1;
}
SYNC_H; //使能拉高
}
OK是不是感觉非常简单
main函数更加简单,就是调用刚刚写过的函数,配置一下你想要的参数而已,还有更多的参数可以去翻阅datasheet
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
DAC8552_Init();
while(1)
{ write2DAC8552( 0x24,0xFFFF);// 0x24 B通道
//SYNC_HIGH; //使能禁止
}
}
真心不错,谢谢分享。
之前以为430用ADC还会很难,现在看来感觉没那么恐怖了,感谢分享!!