#include
int data;
void IO_init()
{
P2DIR=0XFF;
P2OUT=0XFF;
}
void AD_init()
{ P6SEL|=0X01; //使能adc通道
ADC12CTL0=ADC12ON+SHT0_8+MSC; //打开adc12,设置采样时钟
ADC12CTL1=SHP+CONSEQ_2; //使能采样定时器
ADC12IE=0X01; //使能adc中断
ADC12CTL0|=ENC; //使能转换
}
void AD_get()
{ ADC12CTL1|=ADC12SC; //开始转换
while((ADC12IFG&ADC12BUSY)==0);//等待转换完成
data=ADC12MEM0;
}
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
IO_init();
AD_init();
while(1)
{ AD_get();
P2OUT=(char)data;
}
}
现在我板子上没数码管,只有led在p2口,没仿真器,所以用led显示下调节模拟量会不会有变化,p60为模拟量输入
另 :while();这句
while((ADC12IFG&ADC12BUSY)==0);
while 等于 1 吧!ADC12BUSY 这个标志位 在ADC12CTL1中
要么
while((ADC12IFG & BIT0) == 0);
ADC12MEM0的通道也没设
还有。。。