原创 关于Atmega8--ADC转换

2008-10-12 08:46 7897 10 11 分类: MCU/ 嵌入式

     Atmega8内部有二个8位ADC通道和四个10位ADC通道,对许多不需要高速,精确度不高应用程序来说,Atmega8是最好的选择。


    Atmega8可选择芯片内提供2.56V的参考电压;和 AVCC 。或外参考电压。


    如以8位ADC为例:计算公式如下:


           Digital Code=(Vin/Vref)x256


       如参考电压用5V测量3.2V输入信号,理论结果是:


Result=(Vin*256)/Vref=(3.2V*256)/5V=163=0xA3


Atmega8资料指出,绝对的准确度为± 2LSB 。 因此,但实际转换结果会同我们的计算结果有所不同,可能0xA0或0 × 0xA2 ...


     另一个问题是供电电压稳定和准确性。一般参考电压假设有为1 % 误差, 如是5.05V 。 我们的计算将是:


(Vin*256)/Vref=(3.2V*256)/5.05V=162=0xA2


.可见, 1 %的电压变化将使转换结果相差一位。


实际应用中确是如此,电压可能会受温度,负载发生变化,这是难以避免的。


   要提高ADC绝对准确度可选择的外部模数转换器MAX1242。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户18170 2008-10-13 21:18

温度造成的误差是有办法处理的的, 比较头痛的是如果电路设计问题造成的干扰, 比如由于数字电路的跳变窜到模拟电路中造成的信号不每次采样值不稳定, 那才叫真正的令你难受, 而且这种问题也不是简单地使用外部模数转换器可以解决的
相关推荐阅读
用户92689 2013-10-26 08:50
stm32-DAC应用一例
设定:1ms   0-16 输出: 16   3.000V  15  2.813V  14  2.625V 13  2.438V  12 2.250V 11  2.063V 1...
用户92689 2013-10-17 09:19
STM32 ---时序和延迟
#include<stm32f10x_rcc.h> #include<stm32f10x_gpio.h> #include "stm32f10x.h" #inclu...
用户92689 2013-10-12 13:45
STM8(用库)实例赏析---PWM
//占空比50% #include "stm8s.h" void main(void) {  //系统时钟切换配置(自动切换,外部高速晶振,关闭切换中断,  CLK_ClockSwi...
用户92689 2013-10-12 10:43
STM8(用库)实例赏析---TMI1
//0.5秒定时,LED闪烁 #include "stm8S.h" void main(void) {  //系统时钟切换配置(自动切换,外部高速时钟,关切换中断  //,切换新时钟...
用户92689 2013-10-12 10:16
STM8(用库)实例赏析---GPIO
 /*上电系统内部高速时钟默认为2MHz,    可选择不同的时钟分频值,观察LED亮灯速度。*/  #include "stm8s.h" //======= void delay(u...
用户92689 2013-10-05 21:13
STM8(用库)实例赏析---CLK
实例一:内部高速时钟切换 并可在CCO引脚上检测切换后的时钟信号。(红色部分)   #include "stm8s.h" //***************************...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /3 下一条