DAC7512,数控电源中使用度很高的一块12位DAC芯片。
在实际中,我选了是6引脚的贴片
分别是VCC,GND,DIN,/SYNC,CLK,DOUT,六个引脚。参考电压等于VCC。
贴上stm32下的驱动代码:
void DAchange(u16 dat)
{
u8 DA;
u8 i;
u8 j;
u8 DAL;
u8 DAH;
if(dat>4095)
{
dat=0;
}
DAL=dat%256;
DAH=dat/256;
GPIO_ResetBits(GPIO_DAC,DS1_PIN); //sync置低
GPIO_ResetBits(GPIO_DAC,DS2_PIN); //clk置低电平
i=0;
while(i<2)
{
if(i<1)
{
DA=DAH;
}
else
{
DA=DAL;
}
for(j=8;j>0;j--)
{
if(DA>=0x80)
{
GPIO_SetBits(GPIO_DAC,DS3_PIN); //din传输高电平信号
GPIO_SetBits(GPIO_DAC,DS2_PIN); //clk置高电平
GPIO_ResetBits(GPIO_DAC,DS2_PIN); //clk置低电平
}
else
{
GPIO_ResetBits(GPIO_DAC,DS3_PIN); //din传输低电平信号
GPIO_SetBits(GPIO_DAC,DS2_PIN); //clk置高电平 GPIO_ResetBits(GPIO_DAC,DS2_PIN); //clk置低电平
}
DA=(DA<<1);
}
i=i+1;
}
GPIO_SetBits(GPIO_DAC,DS1_PIN); //sync置高电平
} |
|
|
|