首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

AD精度不高?

AD精度不高?

AD精度不高?
最近在捣鼓SH79F165的adc,感觉配置也完全对了,但得到的数据只有高8位是稳定的,求高手指导啊!!我把自己写的配置部分,贴到下面来。电路跟datasheet的一样。
static void __Init_Adc(void)
{
        REGCON = BIT0;
     /*REGEN=1:开启电压稳压器*/

        PGAM  &= ~BIT7;
/*禁止PGA功能,增益为1*/

ADCON &= ~BIT6;
/*ADCIF=0:完成转化标志清零*/

ADCON &= ~BIT4;
/*REFC=0:选择内部基准电压*/

        EADC = 1;
/*开启AD中断*/

ADT    = 0XB0;
/*Ad转化频率为25Hz*/


ADRAND = BIT7;
/*RANDEN=1:允许随机时钟功能*/

ADCH   = BIT7 + BIT6 + BIT5 + BIT3 + BIT0; //VREF=0.8V

ADCON |= BIT7;
/*ADON=1:ad开启*/

}
我用了测试了两种情况,出现的问题都是一样的;
SCH[2:0]=100,即测VDD电压;测得VREF=1.075V;VDDR=2.710V;VDD=3.3左右V;
SCH[2:0]=000,即通过AIN0,测的AIN0+,AIN0-之差为0.591,VIN+为1.499,VIN-为0.912;VREF=1.075;
GND和AGND在电源处是直接连在一起的,但在MCU这里测的两者之差有7.6mV。
就是不知道哪里出了问题,导致数据只有高8位才是稳定的。
返回列表