ATmega8的模拟比较器的总结

发布者:快乐舞动最新更新时间:2012-08-02 来源: 21ic 关键字:ATmega8  模拟比较器  基准源 手机看文章 扫描二维码
随时随地手机看文章

1、当ACBG=1时,使用内部能隙基准源(1.23V)做AIN0端的电压,ACME=0、ADEN=0时外界电压作AIN1端的电压。当外界电压小于1.23V时,红灯亮。否则,绿灯亮。模拟比较器段初始化程序设计:
void ac_init(void)
{
        //{{WIZARD_MAP(Analog Comparator)
        // Interrupt on Output Toggle
        // Bandgap Enabled
        // Multiplexer Disabled
        ACSR = 0x48;
        SFIOR |= 0x0;
        //}}WIZARD_MAP(Analog Comparator)
}

ISR(SIG_COMPARATOR)
{
        // TODO: Add your code here
        if(ACSR & _BV(ACO))
        {
                SET_RED_LED;
                CLR_GRE_LED;
        }
        else
        {
                CLR_RED_LED;
                SET_GRE_LED;
        }
}
 
2、不使用内部的能隙基准源,模拟比较器的AIN0、AIN1两端口都直接接外界的电压,直接比较外部的两个电压的状况。当AIN0void ac_init(void)
{
        //{{WIZARD_MAP(Analog Comparator)
        // Interrupt on Output Toggle
        // Bandgap Enabled
        // Multiplexer Disabled
        ACSR = 0x08;
        SFIOR |= 0x0;
        //}}WIZARD_MAP(Analog Comparator)
}

ISR(SIG_COMPARATOR)
{
        // TODO: Add your code here
        if(ACSR & _BV(ACO))
        {
                SET_RED_LED;
                CLR_GRE_LED;
        }
        else
        {
                CLR_RED_LED;
                SET_GRE_LED;
        }
}
 
3、模拟比较器的AIN0端接外部电压,AIN1端接模数转换的多路输入端,对两端口的状态的比较。模拟比较器负极输入使用参考表:
 
当AIN0void ac_init(void)
{
        //{{WIZARD_MAP(Analog Comparator)
        // Interrupt on Output Toggle
        // Bandgap Enabled
        // Multiplexer Disabled
        ACSR = 0x08;
        SFIOR |= 0x08;
ADCSRA=0x00;
ADMUX=0x00;
        //}}WIZARD_MAP(Analog Comparator)
}

ISR(SIG_COMPARATOR)
{
        // TODO: Add your code here
        if(ACSR & _BV(ACO))
        {
                SET_RED_LED;
                CLR_GRE_LED;
        }
        else
        {
                CLR_RED_LED;
                SET_GRE_LED;
        }
}

关键字:ATmega8  模拟比较器  基准源 引用地址:ATmega8的模拟比较器的总结

上一篇:ATmega128并行控制带字库的12864程序
下一篇:基于ATMEGA16的DS18B20测温程序

推荐阅读最新更新时间:2024-03-16 13:04

电调板维修之更换atmega8a主控芯片
电调板是追云无人机的四合一电调板,这无人机牌子很垃圾了,电调板主控用的是atmega8a芯片,因为短路造成其中一个电调的mos管烧坏,在更换mos管后,发现仍然无法正常工作,检测发现atmega8a芯片的控制mos管的引脚烧坏,但是单片机芯片正常运行,于是乎买了两个atmega8a芯片和usbisp下载器,使用progisp软件读取原芯片的FLASH和EEPROM数据写入到新的空白芯片中。接下来把经验分享给大家。 更换mos管和焊接部分就不说了,接下来主要介绍程序烧录部分 正文 首先买的usbisp下载器要支持porgisp软件,我买的是免驱动版的usbisp,买之前可以问问卖家是否支持porgisp软件,其次还有个坑就是
[单片机]
电调板维修之更换<font color='red'>atmega8</font>a主控芯片
基于ATmega8的双轴太阳跟踪器设计策略
太阳能作为一种清洁能源,倍受人们重视,因此提高太阳能的利用率已成为研究热点。理论分析表明:精确跟踪与非跟踪太阳,其能量的接收效率相差37.7%。因此精确跟踪太阳,对其利用率的提高是很显著的。 跟踪太阳的方式主要有光电跟踪和视日运动轨迹跟踪。前者是闭环的随机系统,跟踪灵敏度高,结构设计较为方便,易于实现,但受天气影响大,如果长时间乌云遮住太阳,太阳光线往往不能照到感光元件,导致跟踪装置无法对准太阳,甚至会出现误动作;后者是开环的程控系统。在任何天气下都可正常工作,但在跟踪过程中不能消除累积误差。该太阳跟踪器设计采用一种互补跟踪控制方式,在晴天时,选择跟踪灵敏度高的光电跟踪方式,而在天气状况不太好时。则切换到视日运动轨迹跟踪
[单片机]
基于<font color='red'>ATmega8</font>的双轴太阳跟踪器设计策略
ATmega8 标定的片内RC振荡器
标定的片内RC 振荡器提供了固定的1.0、2.0、4.0 或8.0 MHz 的时钟。这些频率都是 5V、25°C 下的标称数值。这个时钟也可以作为系统时钟,只要按照Table 9 对熔丝位 CKSEL进行编程即可。选择这个时钟(此时不能对CKOPT进行编程)之后就无需外部器件 了。复位时硬件将标定字节加载到OSCCAL 寄存器,自动完成对RC 振荡器的标定。在 5V, 25°C 和频率为1.0 MHz 时,这种标定可以提供标称频率 ± 3% 的精度;使用 www.atmel.com/avr 中所给出的方法,可在任何电压、任何温度下,使精度达到± 1% 。当 使用这个振荡器作为系统时钟时,看门狗仍然使用自己的看门狗定时器作为溢出复位
[单片机]
<font color='red'>ATmega8</font> 标定的片内RC振荡器
ATmega8 内核介绍
为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总 线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条 指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在 线编程的Flash 。 快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实 现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同 时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。 寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间, 实现高效的地址
[单片机]
<font color='red'>ATmega8</font> 内核介绍
ATmega8驱动74HC595程序
方式一: //PC0接数据口SI 74HC595 第14脚 //PC1接SCK 74HC595第11脚 //PC2接RCK 74HC595第12脚 //74HC595 第13脚(/G)使能 接低电平 //74HC595 第10脚(/SCLR)清零 接高电平 #include iom8v.h #include macros.h #define uchar unsigned char #define uint unsigned int unsigned char table ={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; //七段数码管(共阳) void d
[单片机]
ATmega88 掉电检测
ATmega88 具有片内 BOD(Brown-out Detection) 电路,通过与固定的触发电平的对比来检测工作过程中 VCC 的变化。此触发电平通过熔丝位 BODLEVEL 来设定。 BOD的触发电平具有迟滞回线以消除电源尖峰的影响。这个迟滞功能可以解释为VBOT+ = VBOT+ V HYST/2 以及 V BOT- V HYST/2 。 Notes: VBOT 可能低于某些器件的最小标称工作电压。对于有这种情形的器件,在产品测试时 将做VCC = VBOT 的实验。这保证了在芯片工作电压 VCC 降至微处理器已经无法正常工 作之前,掉电复位必定发生。ATmega88 用 BODLEVEL = 110 与 BODL
[单片机]
<font color='red'>ATmega8</font>8 掉电检测
使用ATmega8L-8PU 在面包板上搭建自己的Arduino ,并闪亮一个LED
第一步:硬件准备 1.ATMEGA8L-8PU avr单片机(图1) 图1 2.USBasp(用于烧写bootloader的工具)(图2上) 3.USB转TTL串口线(我用的是FT232芯片的,稳定性比较好,用于在arduino下装载程序)(图二下) 图2 4. 16M晶振,面包板,发光二极管等,及若干杜邦线 这里可能有疑问:ATMEGA8L-8PU为什么配了16M晶振? 原因是这样的:原则上ATMEGA8L-8PU最高用的是8M晶振,但Arduino 中的所用M8平台的bootloader是基于ATMEGA8编译的,并且使用的是16M晶振;而我手头没有ATMEGA8的芯片(注意我用的芯片后面带个“
[单片机]
使用<font color='red'>ATmega8</font>L-8PU 在面包板上搭建自己的Arduino ,并闪亮一个LED
低电压带隙基准电压技术解决方案
低电压带隙基准电压源技术解决方案 本文采用一种低电压带隙基准结构。在TSMC0.13μm CMOS工艺条件下完成,包括核心电路、运算放大器、偏置及启动电路的设计,并用Cadence Spectre对电路进行了仿真验证。 基准电压是数模混合电路设计中一个不可缺少的参数,而带隙基准电压源又是产生这个电压的最广泛的解决方案。在大量手持设备应用的今天,低功耗的设计已成为现今电路设计的一大趋势。随着CMOS工艺尺寸的下降,数字电路的功耗和面积会显著下降,但电源电压的下降对模拟电路的设计提出新的挑战。传统的带隙基准电压源结构不再适应电源电压的要求,所以,新的低电压设计方案应运而生。 1 传统带隙基准电压源的工作原理 传统带隙基
[电源管理]
低电压带隙<font color='red'>基准</font>电压<font color='red'>源</font>技术解决方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved