社区导航

 

搜索
查看: 1677|回复: 4

[LaunchPad] DAC大虾们到你们活动的时间了

[复制链接]

52

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-3 15:38 | 显示全部楼层 |阅读模式
弱弱的问下 用G2553能驱动12位和8位的DA嘛。。有谁写过用430驱动tlv5620和tlv5615

回复

使用道具 举报

3001

TA的帖子

260

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

荣誉会员勋章测评达人

发表于 2012-8-3 17:20 | 显示全部楼层
驱动个芯片时可以的。主要看一下DA芯片电压工作范围是和430电压匹配

回复

使用道具 举报

124

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-3 17:31 | 显示全部楼层
期待高手作答

回复

使用道具 举报

67

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-3 18:59 | 显示全部楼层
可以的。看芯片手册的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);

}

回复

使用道具 举报

67

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-3 19:00 | 显示全部楼层
这个事I/O模拟SPI的。不是用单片机的串口

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-4-3 04:54 , Processed in 0.177488 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表