main.c

来自「刚调试好的TI公司的ADS7818程序」· C语言 代码 · 共 64 行

C
64
字号
#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))
//************************************************************************
//p3.0--CONV
//p3.1--CLK
//p3.2--DATA

unsigned int data_12ad;

unsigned int Read_ad()
{
  unsigned char i;
  unsigned int result=0;
  P2OUT&=~BIT0;//CONV低电平
  
  P2OUT&=~BIT1;//clk置低电平
  
  P2OUT|=BIT1;//clk置高电平
  //第一个CLK周期丢掉不用,转换结果从第二个CLK周期开始  
  for(i=0;i<=12;i++)
   {
     P2OUT&=~BIT1;//clk置低电平
     if(P2IN&0x04)
     {
       result<<=1; 
       result+=0x01;
     }
     else result<<=1;
    
     P2OUT|=BIT1;//clk置高电平 
    
    }
  P2OUT|=BIT0;//CONV高电平初始化,准备转换
  return (result);
  
}

void main ()
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  BCSCTL1=CALBC1_1MHZ; //设定DCO 为1MHZ 
  DCOCTL=CALDCO_1MHZ;  
 
  P2DIR=0x03;//p4.0--CONV
              //p4.1--CLK
              //p4.2--DATA
  
  P2OUT|=BIT0;//CONV高电平初始化,准备转换
  P2OUT&=~BIT1;//clk置低电平
  //delay_us(20);
  
  data_12ad=Read_ad();
  while(1);//{data_12ad=Read_ad();
           //delay_us(100);
           //}
  
 
 }

⌨️ 快捷键说明

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