MSP430F2618写TLV5638

Posted xxniuren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSP430F2618写TLV5638相关的知识,希望对你有一定的参考价值。

/*===========================================
*******************5638使用说明***********
  5638内部含有两个通道,通道A 通道B 同时还含有内部1.024 2.048的
参考,通过选择不同的通道和不同的参考,达到输出的目的 fast mode ,slow mode, power down mode, normal mode 不考虑
电压和TLV5615一样*2的增益
  选择通道A
  write_TLV_5638(0xd001);A通道1.024基准电压 
  write_TLV_5638(0xd002);A通道2.048基准电压 
  write_TLV_5638(0xcxxx); xxx代表输入的数字量
  选择通道B
  write_TLV_5638(0xd001);B通道1.024基准电压
  write_TLV_5638(0xd002);B通道2.048基准电压 
  write_TLV_5638(0x4xxx); xxx代表输入的数字量
  同时选择两个通道
  write_TLV_5638(0x9001);B通道1.024基准电压  
  write_TLV_5638(0x9002);B通道2.048基准电压
  write_TLV_5638(0x1xxx); xxx代表B输入的数字量 
  write_TLV_5638(0x8xxx); xxx代表A输入的数字量
=============================================*/
#include"msp430x26x.h"
#include"TLV5638.h"
//===============DELAY=========================
void delay_DA(uint xms)

  uint i,j;
  for(i = xms; i > 0; i--)
      for(j = 220; j > 0; j--);

//==============wirte_TLV_5638==========================
void write_TLV_5638(uint data)

  uint i;
  TLV_5638_DIR;
  TLV_5638_OUT;
  CS_H;
  CS_L;
  delay_DA(1);
  for(i = 0; i < 16; i++)
 
    SCLK_H;
    if(data & 0x8000) DATA_H;
    else DATA_L;
    SCLK_L;
    data <<= 1;
 
  SCLK_H;
  CS_H;
  

//==============wirte_comB=========
void write_comB(uint value)

  write_TLV_5638(0xd001);//choose regi
  delay_DA(5);
  value = (0x4000 | value);
  write_TLV_5638(value);//对B 写0
  delay_DA(5);  

//==================================

以上是关于MSP430F2618写TLV5638的主要内容,如果未能解决你的问题,请参考以下文章

msp430f2618写16位双通道 SPI接口DA DAC8552 精确度超高

msp430f2618捕获方波

MSP430F5529双芯片串口通信方案

MSP430F149最小系统原理图与芯片封装

Proteus 可不可以仿真msp430F5438

MSP430F5529时钟系统深究