- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ATmega单片机的模拟接口及使用方法.ppt
6.1模拟比较器 模拟比较器对正极AIN0 的值与负极AIN1 的值进行比较。当AIN0 上的电压比负极AIN1上的电压要高时,模拟比较器的输出ACO 即置位。 比较器的输出可用来触发定时器/ 计数器1 的输入捕捉功能。 此外,比较器还可触发自己专有的、独立的中断。用户可以选择比较器是以上升沿、下降沿还是交替变化的边沿来触发中断。 中断向量:ANA_COMP_vect 1、特殊功能IO寄存器-SFIOR 2、模拟比较器控制和状态寄存器(ACSR) 模拟比较器的应用举例 如图所示:外部信号由模拟比较器的AIN0输入,AIN1接至VCC的分压,取R1=R2,则AIN1的电压为0.5VCC。 当AIN0的电压大于0.5VCC时,ACSR中的ACO置‘1’;低于时则清‘0’。当AIN0的电压大于0.5VCC时,LED灯亮,反之熄灭。 #include “avr/io.h” int main() {unsigned char mid; //定义变量 DDRD = 0xff; //设置PC口为输出 PORTD = 0xff; //设置PC口为输出为高电平(LED熄灭) ACSR = 0x00; //启动模拟比较器 while(1) { mid = ACSR 0x20; //读出模拟比较器的输出值 if( mid == 0 ) // 输出1 熄灭LED PORTD=1; else PORTD=0; // 输出0 点亮LED } } 6.2 模数转换器 6.2.1 主要特点 ATmega16有一个10位的逐次逼近型ADC。 ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。 器件还支持16 路差分电压输入组合。两路差分输入(ADC1、ADC0 与ADC3、ADC2)有可编程增益级,在A/D 转换前给差分输入电压提供0dB(1x)、20dB(10x) 或46dB(200x)的放大级。 七路差分模拟输入通道共享一个通用负端(ADC1), 而其他任何ADC 输入可做为正输入端。如果使用1x 或10x 增益,可得到8 位分辨率。如果使用200x 增益,可得到7 位分辨率。 ADC 包括一个采样保持电路,以确保在转换过程中输入到ADC 的电压保持恒定。 ADC 由AVCC 引脚单独提供电源。AVCC 与VCC 之间的偏差不能超过± 0.3V。 标称值为2.56V 的基准电压,以及AVCC,都位于器件之内。基准电压可以通过在AREF引脚上加一个电容进行解耦,以更好地抑制噪声。 6.2.2 ADC的工作原理 ADC 通过逐次逼近的方法将输入的模拟电压转换成一个10 位的数字量。 最小值代表GND,最大值代表AREF引脚上的电压再减去1 LSB。 通过写ADMUX寄存器的REFSn位可以把AVCC 或内部2.56V 的参考电压连接到AREF 引脚。 在AREF 上外加电容可以对片内参考电压进行解耦以提高噪声抑制性能。 6.2.3 启动ADC转换 向ADC 启动转换位ADSC 位写“1”可以启动单次转换。 在转换过程中此位保持为高,直到转换结束,然后被硬件清零。如果在转换过程中选择了另一个通道,那么ADC 会在改变通道前完成这一次转换。 使用ADC 中断标志作为触发源,可以在正在进行的转换结束后即开始下一次ADC 转换。之后ADC 便工作在连续转换模式,持续地进行采样并对ADC 数据寄存器进行更新。第一次转换通过向ADCSRA 寄存器的ADSC 写1 来启动。 如果使能了自动触发,置位ADCSRA 寄存器的ADSC 将启动单次转换。ADSC 标志还可用来检测转换是否在进行之中。不论转换是如何启动的,在转换进行过程中ADSC 一直为1。 6.2.4 预分频及ADC 转换时序 6.2.7 ADC 输入通道 选择模拟通道时请注意以下几个方面: 单次转换模式,总是在启动转换之前选定通道。在ADSC 置位后的一个ADC 时钟周期就可以选择新的模拟输入通道了。但是最简单的办法是等待转换结束后再改变通道。 在连续转换模式下,切换通道的方法同单次模式,若转换结束后再改变通道,此时新一次转换已经自动开始了,下一次的转换结果反映的是以前选定的模拟输入通道。以后的转换才是针对新通道的。 若切换到差分增益通道,由于自动偏移抵消电路需要沉积时间,第一次转换结果准确率很低,最好舍弃。 6.2.8 ADC 基准电压源 ADC参考电压源(VREF)反映了ADC的转换范围。若单端通道电平超过了VREF,其结果将接近0x3FF。VREF 可以是A
文档评论(0)