標(biāo)題: MSP430G2553ADC轉(zhuǎn)換程序 [打印本頁(yè)]

作者: 51黑小牛    時(shí)間: 2016-4-10 17:30
標(biāo)題: MSP430G2553ADC轉(zhuǎn)換程序
#include "msp430G2553.h"
long temp;
long intDegF;
long intDegC;
//***************初始化ADC****/
void ADC10_init(void)
{
  ADC10CTL0 &=~ENC;    //關(guān)閉轉(zhuǎn)換
  ADC10CTL0 =ADC10IE + ADC10ON + REFON + ADC10SHT_3 + REF2_5V;
  // ADC10IE  使能ADC轉(zhuǎn)換中斷,即開(kāi)啟
  // ADC10ON   使能ADC轉(zhuǎn)換
  // REFON     打開(kāi)內(nèi)部參考電壓開(kāi)關(guān)
  // DC10SHT_3  時(shí)鐘及64倍頻選擇 0-4倍 1-8倍;2-16倍,3-64被
  // SREF_1  參考電壓選擇,選內(nèi)部可用REF2_5V ,內(nèi)部2.5V ;REF1_5V ,內(nèi)部1.5V
  
  ADC10CTL1 =CONSEQ_0 + ADC10SSEL_0 + ADC10DIV_3 + SHS_0 + INCH_10;
  // CONSEQ_0 ===0單通道轉(zhuǎn)換;1多通道倫流 2復(fù)合
  // ADC10SSEL_1 時(shí)鐘選擇 0-ADC10OSC;1-ACLK;2-MCLK;3-SMCLK
  // ADC10DIV_3 ADC時(shí)鐘
  // SHS_0     ADC控制選擇
  //INCH_10    模擬信號(hào)輸入通道選擇
  __delay_cycles(30000);
  ADC10CTL0 |= ENC;  //開(kāi)啟轉(zhuǎn)換
}
//************主函數(shù)***************************
void main()
{

  WDTCTL = WDTPW + WDTHOLD;  // Stop WDT
  ADC10_init();
  while(1)
  {
    ADC10CTL0 |=ENC +ADC10SC;
    LPM0;   //__bis_SR_register(CPUOFF + GIE);
    temp =ADC10MEM;  //Read Data
    intDegC =((temp-673)*423)/1024;
    __no_operation();
  }  
}
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_A(void)
{
  __bic_SR_register_on_exit(LPM4_bits);  
}










歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1