[AVR单片机] mega16的AD

[复制链接]
 楼主| haojiege 发表于 2012-4-26 09:50 | 显示全部楼层 |阅读模式
使用mega16AD时,外部ref接了2.495精密稳压,avcc接了5V。实际测量时,无论设置AVCC为基准还是外部REF为基准,读数均为外部基准电压的值。很郁闷求解答
airwill 发表于 2012-4-26 12:12 | 显示全部楼层
使用mega16AD时,外部ref接了2.495精密稳压,avcc接了5V。实际测量时,无论设置AVCC为基准还是外部REF为基准,读数均为外部基准电压的值。很郁闷求解答
haojiege 发表于 2012-4-26 09:50


读数均为外部基准电压的值。是指什么意思? 结果是最大的 3ff?
是不是你输入电压是 AVCC(5V)?
 楼主| haojiege 发表于 2012-4-26 13:09 | 显示全部楼层
我输入电压AVCC是5V,外部参考电压是2.495.结果读数都是2.495
avric 发表于 2012-4-26 13:13 | 显示全部楼层
奇怪,没遇到过,自己好好查查吧
ZRL700424 发表于 2012-4-26 13:47 | 显示全部楼层
我输入电压AVCC是5V,外部参考电压是2.495.结果读数都是2.495
haojiege 发表于 2012-4-26 13:09


读数是2.495?哪个寄存器的值是2.495?
ZRL700424 发表于 2012-4-26 13:49 | 显示全部楼层
是万用表测量外部基准电压吗?读的是万用表的值?
 楼主| haojiege 发表于 2012-4-26 14:06 | 显示全部楼层
我接了12864液晶,AD的值是2.495啊.后面把外部基准去掉了,直接AVCC接5V换成外部AVCC基准。读数结果是5V不变
 楼主| haojiege 发表于 2012-4-27 11:14 | 显示全部楼层
读数现在正常了,可就是精度不高我用的单次转换。
uint Mega16_ad(uchar chl)
{
uint addata;  
DDRA&=~(BIT(PA0)|BIT(PA1));        //转换口设置为输入、无上拉 A0,A1,有上拉会影响结果
PORTA&=~(BIT(PA0)|BIT(PA1));       
ADMUX=0; //实际板子用ADMUX=0x40;                                                 //采用AVCC参考电压,输出数据右对齐,可以设置为0,然后ref和avcc都加电阻接vcc
ADMUX|=chl;                                         //设置指定的通道
ADCSR=0x85;                                         //采用单次转换,查询模式,32分频
ADCSR|=BIT(ADSC);                                //启动转换
while(!(ADCSR&(BIT(ADIF))));   //等待转换结束
addata=ADCL;                                        //读取低8位数据
addata+=ADCH*256;                                //读取高2位数据,读出值后标志位自动清空
//ADCSRA &= ~(1 << ADIF);    //清标志
//ADCSRA &= ~(1 << ADEN);    //关闭转换
return addata;                                        //返回10位数据
}
上面这个程序的读数没达到10位AD的精度
求提高精度的方法。
airwill 发表于 2012-4-28 08:54 | 显示全部楼层
为什么说: 没达到10位AD的精度?
popdes 发表于 2012-4-29 00:38 | 显示全部楼层
帮顶,就懂一点点。
kira王子 发表于 2012-4-29 18:52 | 显示全部楼层
ADMUX=0; //实际板子用ADMUX=0x40;                                                 //采用AVCC参考电压,输出数据右对齐,可以设置为0,然后ref和avcc都加电阻接vcc
可能是这里设置有问题,ADMUX=0x40,你再检查下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

0

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部