在线情况
楼主
  • 头像
  • 级别
    • 积分2
    • 经验68
    • 文章1
    • 注册2012-09-05
    紧急求助!请教各位大神,关于使用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]
    微控网感谢您的参与
    Powered by LeadBBS 9.2 .
    Page created in 0.2656 seconds with 9 queries.