一个简单的系统电源电压监测应用_淋哥电子_百度空间

模拟比较器的介绍

ATmega16的模拟比较器可以实现对两个输入端:正极AIN0和负极AIN1(分别对应于ATmage16的引脚PB2PB3)的模拟输入电压进行比较。当AIN0上的电压高于AIN1的电压时,模拟比较器输出ACO被设为“1。比较器的输出还可以被设置作为定时计数器1输入捕获功能的触发信号。此外,比较器的输出可以触发一个独立的模拟比较器中断。用户可以选择使用比较器输出的上升沿、下降沿或事件触发作为模拟比较器中断的触发信号。

2、与模拟比较器相关的寄存器

与模拟比较器相关的寄存器是SFIORACSR。用户通过这两个寄存器的相关位实现对模拟比较器的设置和控制。

1)     特殊功能IO寄存器—SFIOR

寄存器SFIOR中的第3ACME为模拟比较器多路使能控制位。当该位为逻辑“1,同时模数换(ADC)功能被关闭(ADCSRA寄存器中的ADEN使能位为“0)时,允许使用ADC多路复用器选择ADC的模拟输入端口作为模拟比较器反向端的输入信号源。当该位为零时,AIN1引脚的信号将加到模拟比较器反向端

2)     模拟比较器控制和状态寄存器—ACSR


    ACSR是模拟比较器主要的控制寄存器,其中各个位的作用如下:

1.7ACD:模拟比较器禁止

当该位设为“1”时,提供给模拟比较器的电源关闭。该位可以在任何时候被置位,从而关闭模拟比较器。在MCU闲置模式,且无需将模拟比较器作为唤醒源的情况下,关闭模拟比较器可以减少电源的消耗。要改变ACD位的设置时,应该先将寄存器ACSR中的ACIE位清零,把模拟比较器中断禁止掉。否则,在改变ADC位设置时会产生一个中断。

2.6—ACBG:模拟比较器的能隙参考源选择

当该位为“1”时,芯片内部一个固定的能隙(Bandgap)参考电源1.22V将代替AIN0的输入,作为模拟比较器的正极输入端。当该位被清零时,AIN0的输入仍然作为模拟比较器的正极输入端。

3.5—ACO:模拟比较器输出

模拟比较器的输出信号经过同步处理后直接与ACO相连。由于经过同步处理,ACO与模拟比较器的输出之间,会有1~2个时钟的延时。

4.4—ACI:模拟比较器中断标志位

当模拟比较器的输出事件符合中断触发条件时(中断触发条件由ACIS1 ACIS0 定义),ACI由硬件置“1”。若ACIE 位置“1”,且状态寄存器中的I位为“1”时,MCU响应模拟比较器中断。当转入模拟比较中断处理向量时,ACI被硬件自动清空。此外,也可使用软件方式清零ACI:对ACI标志位写入逻辑“1”来清零该位。

5.    3ACIE:模拟比较器中断允许

ACIE位设为“1”,且状态寄存器中的I位被设为“1”时,允许模拟比较器中断触发。当ACIE被清“0”时,模拟比较器中断被禁止。

6.2—ACIC:模拟比较器输入捕获允许

当该位设置为“1”时,定时计数器1的输入捕获功能将由模拟比较器的输出来触发。在这种情况下,模拟比较器的输出直接连到输入捕获前端逻辑电路,从而能利用定时器/计数器1输入捕获中断的噪声xx和边缘选择的特性。当该位被清零时,模拟比较器和输入捕获功能之间没有联系。要使能比较器触发定时器/计数器1的输入捕获中断,定时器中断屏蔽寄存器(TIMSK)中 的TICIE1位必须被设置。

7.10—ACIS1ACIS0:模拟比较器中断模式选择

2个位决定哪种模拟比较器的输出事件可以触发模拟比较器的中断。不同的设置参见表6.1.1

注意:当要改变ACIS1ACIS0时,必须先xxACSR寄存器中的中断允许位,以禁止模拟比较器中断;否则,当这些位被改变时,会发生中断。


电路分析:电源电压经过R1 、R2分压后,作为监测电压输入端与PB3连接。模拟比较器的AIN0采用芯片内部1.22V的固定能隙参考电源作为比较参考电压。

#include <mega16.h>

void main(void)
{
    PORTB.2=0x01;     //PC0设置为输出,控制LED
    DDRB.2=0x01;
   
    // 模拟比较器初始化:
    ACSR=0x40;      //允许模拟比较器,AIN0设置为内部Bandgap参考电压1.22V

    while (1)       //循环检测AC0位
    {
        if (ACSR.5)
            PORTB.2 = 0;    // AIN0 < AIN1
        else
            PORTB.2 = 1;    // AIN0 > AIN1,低电压报警
    }
}

参考:马潮老师的《AVR单片机嵌入式系统原理与应用实战》这是一本好书……



郑重声明:资讯 【一个简单的系统电源电压监测应用_淋哥电子_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——