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

📄 main.c

📁 IAR WorkBench下
💻 C
字号:
#include <msp430x14x.h>
#include <stdio.h>

#define LED0 0x08

unsigned short AD0Value;

int main( void )
{
  int i;
  
  WDTCTL = WDTPW + WDTHOLD;  //stop WDT
  
  BCSCTL1 &= ~XT2OFF;  //XT2 available
  BCSCTL2 |= SELM1;  //MCLK, SMCLK = 8M
  BCSCTL2 |= SELS;
 
  do
  {
    IFG1 &= ~OFIFG;
    for(i=0xff; i>0; i--);
  }while((IFG1 & OFIFG));
  
  ADC12CTL0 = SHT0_8 + MSC + ADC12ON;         // Set sampling time, turn on ADC12
  ADC12CTL1 = SHP+CONSEQ_1;             // Use sampling timer,, single sequence
  ADC12MCTL0 = INCH_7 + EOS;            // ref+=AVcc, channel = A7
  ADC12IE = 0x01;                       // Enable ADC12IFG.0

  ADC12CTL0 |= ENC;                     // Conversion enabled
  P6SEL |= 0x80;                        // P6.7 ADC option select 

  ADC12CTL0 |= ADC12SC;               // Sampling open     
 
  P6DIR |= LED0;
  
  _BIS_SR(GIE);
    
  while(1)
  {
    P6OUT ^= LED0;
    
    printf("%x\n", AD0Value);
    
    ADC12CTL0 |= ADC12SC;               // Sampling open
    
    for(i=0;i<0x3fff;i++);
  }
  
  return 0;
}

#pragma vector = ADC_VECTOR
__interrupt void ADC12_ISR(void)
{
  AD0Value = ADC12MEM0;
}


⌨️ 快捷键说明

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