回答

收藏

[资料] msp430系列单片机与TLC5615DA转换芯片程序

TI TI 2672 人阅读 | 0 人回复 | 2013-01-30

近来在学习使用msp430g2553芯片,由于百度里相关程序实在太少,步履艰辛。经过一下午的编写调试,终于将适用于51单片机的5615程序改编到了MSP430系列单片机上------------重交阿橙献上

#ifndef _TLC5615_H_fengcheng_
#define  _TLC5615_H_fengcheng_
#include <msp430g2553.h> //也适用于其他MSP430系列芯片
#define uint unsigned int
#define uchar unsigned char
#define DA_DIN   BIT5   
#define DA_SCLK BIT6
#define CS  BIT7  
/**************************************
    P1.5--DIN-|1   8|-VDD-
    P1.6-SCLK-|2   7|-OUT-
    P1.7---CS'--|3   6|-REFN- 参考电压,约1.5V最佳(此时最大输出约3V
         DOUT---|4   5|-AGND-
    D/A转换芯片 TLV5615
****************************************/
void delay(uint z)
{
  uint x,y;
     for(x=110;x>0;x--)
            for(y=z;y>0;y--);
}
//DA转换函数,使用示范:DA0x3ff*0.1;0x3ff为满值,对应3V0.1为倍数,此时输出0.3v
//编程软件可能提示警告,原因是参数中的0.10x3ff并非同一类型值,但是无需理会,不影响结果
void DA(uint date)  
{
        P1DIR|=0xE0;  //P1.5-P1.7设置为输出
  uchar i;
  int din;
  date<<=6;
  
   P1OUT&=~ DA_SCLK;       //sck=0;
  P1OUT&=~ CS;     // cs=0;
  for(i=0;i<12;i++)
  {
  din=date&0x8000;
   if(din==0)    P1OUT&=~ DA_DIN;
   else               P1OUT|= DA_DIN;
   P1OUT|= DA_SCLK;       //sck=1;
   date<<=1;
   P1OUT&=~ DA_SCLK;      //sck=0;
  }
   P1OUT|= CS;         // cs=1;
}
#endif


分享到:
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条