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

📄 ad.c

📁 系统以MSP430F2274单片机为核心
💻 C
字号:
#include "msp430x22x4.h"

#define ADCS_HIGH  P2OUT |=BIT3
#define ADCS_LOW  P2OUT &=~BIT3
#define ADCLK_HIGH  P2OUT |=BIT1
#define ADCLK_LOW  P2OUT &=~BIT1
#define DATAIN_IN P1IN &=BIT0


__no_init char data[20] @0x0400;
unsigned char advalue=0;

void sys_init();
void io_init();
//void ad_conver();
unsigned char ad_conver(void);

void delay_us(unsigned int k);

int main( void )
{
   sys_init(); 
   io_init();
   advalue=ad_conver(); 
 
}


void sys_init()
{
  WDTCTL  =WDTPW+WDTHOLD;
  BCSCTL1 =CALBC1_1MHZ;                     //设定DCO为1MHZ
  DCOCTL  =CALDCO_1MHZ;
  
  unsigned int n;
 /* do                                        //等待晶振稳定
  {
  IFG1 &=~OFIFG;
    for(n=5000;n>0;n--);
  }  while(OFIFG&IFG1);  */
  
  for(n=5000;n>0;n--);
  
}



void io_init()
{
  P2DIR |=BIT1+BIT3;                            //
  P2OUT |=BIT1+BIT3;

}


unsigned char ad_conver(void)
{
  unsigned char j,val;
  ADCS_HIGH;
  ADCS_LOW;
  ADCS_HIGH;
  ADCLK_LOW;
  //dely4us();
  delay_us(2);
  ADCS_LOW;
 // dely4us();
  delay_us(2);
  for(j=0;j<8;j++)
    
    
    
    
    
  {
    ADCLK_HIGH;
    ADCLK_LOW;
  }
  
  ADCS_HIGH;
  //dely4us();dely4us();dely4us();dely4us();
  delay_us(8);
  ADCS_LOW;
  //dely4us();
  delay_us(2);
  
  for(j=0;j<8;j++)
  {
   ADCLK_HIGH;
   val<<=1;
   
   if(P1IN & 0x01)
   {
      val |=0x01;
   }
   
   ADCLK_LOW;
  }
  
return val;
  
}




void delay_us(unsigned int k)
{
  unsigned j;
  for(j=k;j>0;j--)
  {
    _NOP();
  }
}








⌨️ 快捷键说明

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