⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 主程序备份.c

📁 TI公司的DAC7611的转换程序
💻 C
字号:

#include "msp430x22x4.h"


//延时函数定义

//************************************************************************
#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
//************************************************************************

#define CLK1 P4OUT|=0x10 //p4.4(21脚)
#define CLK0 P4OUT&=0xef

#define LD1 P4OUT|=0x20 //p4.5(22脚)
#define LD0 P4OUT&=0xdf

#define SDI1 P4OUT|=0x08 //P4.3(20脚)
#define SDI0 P4OUT&=0xf7

#define CS1  P4OUT|=0x40//p4.6(23脚)
#define CS0  P4OUT&=0xbf

unsigned int DA_convert(unsigned int DA_data)
{
  unsigned char i;
  unsigned int DA_DATA=DA_data<<4;
  LD1;
  _NOP();_NOP();_NOP();_NOP();
  //CLK1;
  CS0;
  for(i=0;i<=11;i++)   
  {
   
    if(DA_DATA&0x8000) SDI1;
    else SDI0;
     CLK0;
    _NOP();
    _NOP();
    _NOP();
    _NOP();
    CLK1;
    DA_DATA<<=1;
   }
  CLK1;
  delay_us(10);
  CS1;
  _NOP();_NOP();_NOP();_NOP();
  LD0;
  delay_us(20);
  LD1;
 }

void  main( void )
{
  WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
  BCSCTL1=CALBC1_1MHZ; //设定DCO 为1MHZ 
  DCOCTL=CALDCO_1MHZ;  
  
  P4SEL=0x00;
  P4DIR|=0x78;//P4.3 SDI
             //P4.4 CLK
             //P4.5 LD
             //P4.6 CS
  LD0;//初始化
  CLK1;
  CS1;
  SDI0;
  
  while(1){
           DA_convert(0x0F1F);
           delay_ms(10);
           }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -