msp430adc_neizhi.c

来自「本程序实具有低功耗性能的16位单片机msp430实现AD转换功能」· C语言 代码 · 共 66 行

C
66
字号
#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;
  LD0;//初始化
  LD1;
  CS0;
  for(i=0;i<=11;i++)  
  {
    if(DA_DATA&0x800) SDI1;
    else SDI0;
    CLK0; 
    CLK1;
    DA_DATA<<=1;
  }
  CLK1;
  CS1;
  LD0;
  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(0x0eeF);
          }

} 

⌨️ 快捷键说明

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