标题: 有没有人知道msp430 ad转换为什么不稳定吗 [打印本页]

作者: wuyizzz    时间: 2018-4-25 09:43
标题: 有没有人知道msp430 ad转换为什么不稳定吗
检测的是有运放后的光敏二极管的信号,代码如下,是晶振的原因吗,还是其他,我用万用表测是不变的,ad却是乱变

  1. #include "MSP430g2553.h"

  2. void main(void)
  3. {
  4.    WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  5.   // ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
  6.    ADC10CTL0|=ADC10ON+ADC10IE+REFON+REF2_5V+SREF_1+MSC+ADC10SHT_2;
  7.    // ADC10CTL0 = ADC10SHT_2 + ADC10ON ; // ADC10ON, interrupt enabled
  8.    //ADC10CTL0=REF2_5V+REFON;
  9.    ADC10CTL1 = INCH_1;                       // input A1
  10.    ADC10AE0 |= 0x02;                         // PA.1 ADC option select
  11.    P1DIR |= 0x01;                            // Set P1.0 to output direction
  12.    P1DIR |=BIT6;
  13.     P1DIR |=BIT3;
  14.    P1OUT  &= ~0x01;
  15.    P1OUT |=BIT6;
  16.     P1OUT |=BIT3;
  17.   while(1)
  18.    {
  19.      ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
  20.      __bis_SR_register(CPUOFF + GIE);        // LPM0, ADC10_ISR will force exit
  21.     if (ADC10MEM >500)
  22.     {
  23.       P1OUT |= 0x01;                         // Clear P1.0 LED ON
  24.       P1OUT |=BIT6;
  25.       break;
  26.     }
  27.    
  28.     else
  29.     {
  30.      P1OUT &=~BIT6;
  31.       P1OUT &= ~0x01;                  // Set P1.0 LED OFF
  32.     }
  33.    }
  34. }

  35. //ADC10 interrupt service routine
  36. #pragma vector=ADC10_VECTOR
  37. __interrupt void ADC10_ISR(void)
  38. {
  39.    __bic_SR_register_on_exit(CPUOFF);        // Clear CPUOFF bit from 0(SR)
  40. }
复制代码


sss.png (88 KB, 下载次数: 48)

sss.png

作者: zgni    时间: 2018-4-25 11:03
电容并上了吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1