DAC7811是TI公司的芯片,分辨率达到12位,该芯片共有10个引脚。与单片机连在一起的控制口一共有三位。关于引脚图如右下:
#include "msp430x14x.h"
#define SCLK_UP P2OUT |= BIT0
#define SCLK_DOWN P2OUT &= ~BIT0
#define SYNC_UP P2OUT |= BIT1
#define SYNC_DOWN P2OUT &= ~BIT1
#define SDIN_UP P2OUT |= BIT2
#define SDIN_DOWN P2OUT &= ~BIT2
char DA_ON[4]={0,0,0,1};
char DA_OFF[4]={0,0,0,0};
char DA_baochi[4]={0,0,1,1};
void write_da7811(long da)
{
char i;
SCLK_UP;
SYNC_UP;
SYNC_DOWN;
for(i=0;i<4;i++)
{
SCLK_UP;
if(DA_ON[i])
SDIN_UP;
else
SDIN_DOWN;
SCLK_DOWN;
}
for (i=0;i<12;i++)
{
SCLK_UP;
if(da&0x800)
SDIN_UP;
else
SDIN_DOWN;
SCLK_DOWN;
da<<=1;
}
SYNC_UP;
SCLK_DOWN;
}
void main( void )
{
WDTCTL = WDTPW + WDTHOLD;
P2DIR |= (BIT0+BIT1+BIT2);//P2OUT=0XFF;
write_da7811(0x0fff); //送数字量
}
联系客服