gamekeys 发表于 2010-8-26 23:08:49

求助:控制ADC单通道多次采样程序有问题

msp430的ADC转换。利用P6.0口输入电压来控制P1.0口的LED亮灭程序不知哪里有问题。P1.0的LED一直亮着。用proteus7.7仿真的。
程序如下:
#include "msp430x16x.h"
void InitADC12(void)
{
P6SEL |= 0x01;//打开ADC输入A0
ADC12CTL0 &= ~ENC;
ADC12CTL0 = ADC12ON + REFON + REF2_5V + SHT0_2 + MSC;
ADC12CTL1 = ADC12SSEL_0 + SHP + CSTARTADD_0 + CONSEQ_2;
ADC12MCTL0 = INCH_0 + SREF_1 + EOS;
ADC12IE = 0X01;
ADC12CTL0 |= ENC;
}
int main( void )
{
   WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
   P1DIR |= 0x01;
   _NOP();
   InitADC12();
   while(1)
   {
   ADC12CTL0 |= ADC12SC;
   }
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR (void)
{
      if (ADC12MEM0 > 0x7ff)
         
      P1OUT |= 0x01;
      else
      P1OUT &= ~0x01;
      


}

peterliuzq 发表于 2010-9-6 13:44:28

while(1)
   {
   ADC12CTL0 |= ADC12SC;
   }

转换太快了吧,加个长延时看看



http://shop61810118.taobao.com
页: [1]
查看完整版本: 求助:控制ADC单通道多次采样程序有问题