AVR单片机中ATmega8的AD转换探究

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_25505611/article/details/62887789

AD采集最好要满足的条件:采样频率不小于被采集信号最高频率的两倍,则采样输出信号就可以无失真的重新啊还原输入信号,通常的实际应用中,采样频率为采集最高频率的5-10倍。

AD芯片的数据输出方式有串行和并行两种方式,对于AVR单片机来说A/D芯片和AVR单片机接口是需要考虑的一些问题:

(1)模拟信号输入的连接:单端输入时,VIN+引脚直接与信号输入连接,VIN-接地。差分输入时,单端输入正信号,VIN+引脚直接与信号连接,VIN-引脚接地。单端输入负信号,VIN-引脚与信号连接,VIN+引脚接地。

(2)数据输入线与系统总线的连接:有可控制的三态输出门时候可以直接和系统总线连接,没有输出门的时候要通过I/O口进行连接。

(3)启动信号的连接:分为电平启动信号和脉冲启动信号,电平启动信号:AD570,脉冲启动信号:ADC0804,ADC0809。

(4)转换结束信号以及转换数据的读取,可以通过中断或者轮询的方式进行查询读取结果,中断方式需要把信号连接在外部的中断引脚。轮询则需要把结束信号连接到单片机的某个IO引脚,程序轮询该引脚电平,可以得知转换结果。

ADC启动转换具体思路:

(1)任何ADC输入引脚,像GND以及固定能隙参考电压,都可以作为ADC的单端输入,通过设置ADCSRA寄存器的ADEN可以启动ADC,只有当ADEN置位时刻参考电压以及输入通道选择才是有效果的。

(2)ADC转换结果为10位,存放于ADC数据寄存器的ADCH ADCL中,默认情况下转换结果为右对齐,但是可以通过设置ADMUX寄存器的ADLAR变为左对齐。

如果要求左对齐而且最高只需要8位的转换精度,那么只要读取ADCH就足够了,否则必须先读ADCL,再度ADCH。一旦读出ADCL那么ADC对数据寄存器的寻址就被组阻止了。

(3)在ADC启动转换为ADSC位写入“1”可以启动单次转换。类似于“领头羊的作用”,之后ADC便可以工作在连续采集转换的模式。


展开阅读全文

没有更多推荐了,返回首页