请教使用CH547L的ADC问题!ADC脚接10K电阻到0V,用示波器可以看到ADC脚输出电压!请问如何设置才没有,谢谢!

您好!在使用CH547L的ADC时,外部输入通道直接用10K接0V,用示波器测量发现,CH547L会输入一定的电压,我怎么设置,都关闭不了内部电压输出;

AD引脚设置为高阻:P1_MOD_OC=0x00;P1_DIR_PU=0x00;

ADC初始化:

ADC_CFG |= bADC_EN;                                                   //开启ADC模块电源

       ADC_CFG = (ADC_CFG & ~(bADC_CLK0 | bADC_CLK1));//选择ADC参考时钟

        ADC_CFG |= bADC_AIN_EN;                                          //开启外部通道

i = ADC_DAT;                                                                //空读

       ADC_CHAN =(ADC_CHAN & ~MASK_ADC_CHAN) | 0x04;//0x04为AD通道

      

        ADC_CTRL = bADC_IF;                              //清除ADC转换完成标志,写1清零


SCON2 &= ~bU2IE;                                 //和UART2中断地址共用,故中断需2选1

         IE_ADC = 1; 

         ADC_CTRL =bADC_START;//启动AD转换


AD转换启动后,本来AD脚的值应该是0;结果不是,用示波器查看才发现ADC脚有电压输出。


请问我改如何设置  ,谢谢!

                


可能是ADC的采样电容没有放电完成,核心思路是让内部采样电容有充足的时间进行充放电。

可以尝试将某一通道直接接地,每次在对该通道采样前导通至接地通道若干次进行放电,然后在对该通道进行连续的采样,丢弃前面部分数据,对后面部分的数据做平均。


只有登录才能回复,可以选择微信账号登录