atmega16单片机 自身AD问题

2019-03-24 20:52发布

近期用atmega16 自身的ad测试陀螺仪,在测试的时候发现,当把ADC0接地时  LCD1602显示AD转换后的值为0096,接VCC=AVCC时  显示0993 这不对啊  应该是0和1023啊,这是程序
DDRA&=0xfe;
PORTA&=0xfe;
SFIOR=0;
 ADMUX=0x40;


   while(1)
   {

   ADC_OK();
AD[0]=AD_DATA/1000%10;
AD[1]=AD_DATA/100%10;
AD[2]=AD_DATA/10%10;
AD[3]=AD_DATA%10;
writercom(0x80);
delay(1);
for(i=0;i<4;i++)
{
writerdata(AD+0x30);
delay(1);
}


   }
单片机VREF接0.1uF接地了 ,AVCC和VCC连在一起了   求各位帮帮忙....

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
tiankai001
1楼-- · 2019-03-25 07:40
误差因素要考虑

你实际测试一下,在VCC和GND时,端口的电平值是多少
616718006
2楼-- · 2019-03-25 12:16
测过了 GND是0,VCC是5.04  这么换算下来,转换出来的GND是0.8V,VCC是4.5V  这误差也太大了吧
feikeer
3楼-- · 2019-03-25 12:32
最后怎么解决的?我也遇到类似问题!

一周热门 更多>