紧急求助!请教各位大神,关于使用MSP430f149rev内部的ADC12 多通道(4通道)同时采集交流50Hz信号问题!!!
[FACE=宋体][SIZE=12px]请教各位大神,关于使用MSP430f149rev内部的ADC12 多通道(4通道)同时采集交流50Hz信号问题!!![/SIZE][/FACE][P][FACE=宋体][SIZE=12px]我目前的ADC12设置的是使用内部2.5V参考源,ADC12 的初始化程序如下:[/SIZE][/FACE][/P][P][FACE=宋体][SIZE=12px][P]void init_adc12(void)[/P][P]{[/P][/SIZE][/FACE][/P][P][FACE=宋体][SIZE=12px][P] P6SEL |= (BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6); //P6 功能选择为:ADC模拟信号输入[/P][P] ADC12CTL0 &= ~ENC; // 在进行设置时首先复位ADC的转换使能[/P][P] ADC12CTL0 =(SHT0_2 + MSC + REF2_5V + REFON + ADC12ON);[/P][P] //采样保持时间[/P][P] //内部参考电压 2.5V[/P][P] //打开内部参考电压[/P][P] //打开 ADC12,可以进行转换[/P][P] //ADC12CTL1=0;[/P][P] ADC12CTL1 =(CSTARTADD_0 + SHS_0 + SHP + ADC12DIV_0 + ADC12SSEL_1 + CONSEQ_3);//CONSEQ_1[/P][P] [/P][P] ADC12MCTL0=(SREF_1 + INCH_0);[/P][P] ADC12MCTL1=(SREF_1 + INCH_1);[/P][P] ADC12MCTL2=(SREF_1 + INCH_2);[/P][P] ADC12MCTL3=(SREF_1 + INCH_3);[/P][P]
[/P][P] ADC12MCTL4=(SREF_1 + INCH_4 );[/P][P] ADC12MCTL5=(SREF_1 + INCH_5);[/P][P] ADC12MCTL6=(SREF_1 + INCH_6);[/P][P] ADC12MCTL7=(SREF_1 + INCH_7+ EOS);[/P][P] delay_ms(20); // 延时等待参考电压启动[/P][P]
[/P][P] ADC12IE = 0x7f; // 允许最后一个通道的中断[/P][P]
[/P][P] ADC12CTL0 |= ENC;//使能转换[/P][P]
[/P][P] _EINT();[/P][P]}[/P][P]现在使用定时器每个1ms启动转换一次AD采样,一个采集40次,然后找出其中的最大值为峰值进行计算,但是发现每次找出的最大值都不同(输入信号是不变的),请教各位大神是什么原因????[/P][P]如果有好的方法请各位指教![/P][P]急!急!急![/P][/SIZE][/FACE][/P]