网站大量收购独家精品文档,联系QQ:2885784924

第10章 模拟较器和ADC接口.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 模拟较器和ADC接口

第10章 模拟比较器和ADC接口 模拟比较器和模数转换ADC是单片机内部最常见的两种支持模拟信号输入的功能接口。大部分AVR都具备这两种类型的接口。本章将以ATmage16芯片为例,介绍这两种模拟接口的原理和应用设计方法。 10.1 模拟比较器 ATmega16的模拟比较器可以实现对两个输入端:正极AIN0和负极AIN1(对应于ATmage16的引脚PB2、PB3)的模拟输入电压进行比较。当AIN0上的电压高于AIN1的电压时,模拟比较器输出ACO被设为“1”。比较器的输出还可以被设置作为定时计数器1输入捕获功能的触发信号。此外,比较器的输出可以触发一个独立的模拟比较器中断。用户可以选择使用比较器输出的上升沿、下降沿或事件触发作为模拟比较器中断的触发信号。比较器的方框图和周围电路如图10-1所示。 图10-1 模拟比较器的方框图 10.1.1 与模拟比较器相关的寄存器和标志位 与模拟比较器相关的寄存器是SFIOR、ACSR。用户通过这两个寄存器的相关位实现对模拟比较器的设置和控制。 特殊功能IO寄存器—SFIOR 寄存器SFIOR中的第3位ACME为模拟比较器多路使能控制位。当该位为逻辑“1”,同时模数转换(ADC)功能被关闭(ADCSRA寄存器中的ADEN使能位为“0”)时,允许使用ADC多路复用器选择ADC的模拟输入端口作为模拟比较器反向端的输入信号源。当该位为零时,AIN1引脚的信号将加到模拟比较器反向端。 模拟比较器控制和状态寄存器—ACSR ACSR是模拟比较器主要的控制寄存器,其中各个位的作用如下: 位7—ACD:模拟比较器禁止 当该位设为“1”时,提供给模拟比较器的电源关闭。该位可以在任何时候被置位,从而关闭模拟比较器。在MCU闲置模式,且无需将模拟比较器作为唤醒源的情况下,关闭模拟比较器可以减少电源的消耗。要改变ACD位的设置时,应该先将寄存器ACSR中的ACIE位清零,把模拟比较器中断禁止掉。否则,在改变ADC位设置时会产生一个中断。 位6—ACBG:模拟比较器的能隙参考源选择 当该位为“1”时,芯片内部一个固定的能隙(Bandgap)参考电源1.22V将代替AIN0的输入,作为模拟比较器的正极输入端。当该位被清零时,AIN0的输入仍然作为模拟比较器的正极输入端。 位5—ACO:模拟比较器输出 模拟比较器的输出信号经过同步处理后直接与ACO相连。由于经过同步处理,ACO与模拟比较器的输出之间,会有1~2个时钟的延时。 位4—ACI:模拟比较器中断标志位 当模拟比较器的输出事件符合中断触发条件时(中断触发条件由ACIS1 和ACIS0 定义),ACI由硬件置“1”。若ACIE 位置“1”,且状态寄存器中的I位为“1”时,MCU响应模拟比较器中断。当转入模拟比较中断处理向量时,ACI被硬件自动清空。此外,也可使用软件方式清零ACI:对ACI标志位写入逻辑“1”来清零该位。 位3—ACIE:模拟比较器中断允许 当ACIE位设为“1”,且状态寄存器中的I位被设为“1”时,允许模拟比较器中断触发。当ACIE被清“0”时,模拟比较器中断被禁止。 位2—ACIC:模拟比较器输入捕获允许 当该位设置为“1”时,定时计数器1的输入捕获功能将由模拟比较器的输出来触发。在这种情况下,模拟比较器的输出直接连到输入捕获前端逻辑电路,从而能利用定时器/计数器1输入捕获中断的噪声消除和边缘选择的特性。当该位被清零时,模拟比较器和输入捕获功能之间没有联系。要使能比较器触发定时器/计数器1的输入捕获中断,定时器中断屏蔽寄存器(TIMSK)中 的TICIE1位必须被设置。 位1、0—ACIS1、ACIS0:模拟比较器中断模式选择 这2个位决定哪种模拟比较器的输出事件可以触发模拟比较器的中断。不同的设置参见表10-1。 表10-1 模拟比较器中断模式选择 ACIS1 ACIS0 中 断 模 式 0 0 比较器输出的上升沿和下降沿都触发中断 0 1 保留 1 0 比较器输出的下降沿触发中断 1 1 比较器输出的上升沿触发中断 注意:当要改变ACIS1、ACIS0时,必须先清除ACSR寄存器中的中断允许位,以禁止模拟比较器中断;否则,当这些位被改变时,会发生中断。 模拟比较器的多路输入 用户可以选择ADC7..0引脚中的任一路的模拟信号代替AIN1引脚,作为模拟比较器的反向输入端。模数转换的ADC多路复用器提供这种选择的能力,但此时必须关闭芯片的ADC功能。当模拟比较器的多路选择使能位(SFIOR中的ACME位)置“1”,同时ADC被关闭时(ADCSRA中的ADEN位置“0”),由寄存器ADMUX中的MUX[2:0]位所确定的引脚将代替AIN1作为模拟比较器的反向输入端,如表10-2所示。如果ACME被清零,或ADE

文档评论(0)

qnc814 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档