PIC16f1789 AD采样:
//模拟接口初始化d
void adinitial1(void)
{
ADCON1=0xf0; //设置AD参数 0x1b 外基准4.096V 0x0b 内部5V基准
ADCON2=0x0f;//0x86; //设置AD参数//0x80
ADCON0=0x05;
I2c_delay(10);
}
//AD采样
unsigned int getdcadvalue(void)
{
unsigned int temp;
adinitial1();
ADCON0bits.GO = 1;
while (ADCON0bits.GO) ;
temp = ADRES;
return temp;
}
//连续采样16次
for (i=0;i<16;i++)
{
//delayms(1);
temp=getdcadvalue();
if(temp<0x1000)
{
MainVALUEARRY[i]=temp; //获取采样值
}
}
连续采集16个点 ,采样数值从 0x02 到 0x1A 波动很大 。原始信号11-12mV。
有没有好的方式,使采样数值稳定
|