弱弱的问下 用G2553能驱动12位和8位的DA嘛。。有谁写过用430驱动tlv5620和tlv5615
驱动个芯片时可以的。主要看一下DA芯片电压工作范围是和430电压匹配
可以的。看芯片手册的SPI时序图编程序。这个是TLC5615你参考下吧。
#include
/*
函数名称:TLC5615,DA转换串行数据输出
函数管教;CS--P1.0,CLK--P1.1,DATA--P1.2
*/
void main( void )
{
WDTCTL = WDTPW + WDTHOLD;
unsigned char i ;
unsigned int start=1023,data; //定义start是本应传递进来的数值(0-1023)
data=1023&start; //遇1023相与,使0-1023的数都在内部为16位2进制,移动才不会错位
P1DIR=BIT0+BIT1+BIT2; //初始化时间,使能,数据三个管脚
data <<=6; //移去虚拟高6位
P1OUT&=~BIT0;
P1OUT&=~BIT2;
for(i=0;i<12;i++) //串行传送10为数字,低两位同样无用。随意。
{
if((data & 0x8000)==0x8000) //判断最高位是1还是0
{
P1OUT |= BIT2;
}
else
{
P1OUT &=~ BIT2;
}
P1OUT |= BIT1;
data <<= 1;
P1OUT &= ~BIT1;
}
P1OUT|=BIT0;
P1OUT&=~BIT1;
while(1);
}