본문 바로가기

[MSP430]/MSP430-S

[MSP430G2231] ADC테스트

[MSP430G2231]ADC테스트


MSP430G2231에는 10비트 ADC가 내장되어 있다. VR을 이용해 간단히 ADC테스트를 해 보았다.
외부 ADC입력으로 P0.0~P0.7에 8채널 입력 가능하다. P1.1에 VR을 연결하여 전압변화를 측정할 수 있도록 했다.

ADC 레지스터 초기화 설정
//클럭설정
#define ADC10SHT_0          (0*0x800u)   /* 4 x ADC10CLKs */
#define ADC10SHT_1          (1*0x800u)   /* 8 x ADC10CLKs */
#define ADC10SHT_2          (2*0x800u)   /* 16 x ADC10CLKs */
#define ADC10SHT_3          (3*0x800u)   /* 64 x ADC10CLKs */

#define ADC10ON             (0x010)     /* ADC10 On/Enable */

#define ADC10IE             (0x008)     /* ADC10 Interrupt Enalbe */

ADC_Init(void)

   ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
}

#define ADC_Start()              ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
#define ADC_Read()             ADC10MEM    //read ADC


MSP430G2231 ADC테스트 코드
void main(void)
{
 //System Initialize
 SystemInit();

  FndInit();
  ADC_Init();
 
 while (1)
 { 
    ADC10_Channel(1);
    temp = ADC_Read();

   FndOut(value/10);
   Delay(50);
 }
}

// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
  __bic_SR_register_on_exit(CPUOFF);        // Return to active mode
}


MSP430G2231 ADC테스트 동영상
가변저항 값에 따라 ADC값을 FND모듈에 표시
반응형