开始学AVR拉
好久之前就想学下AVR单片机的,可是学了51后就开始搞ARM了,至今“思项羽”啊。avr外面很多人都在用的,我们学校的都是搞avr的。所以,现在有时间了,学习avr喽。
AVR的主要特性
高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。
早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。
AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。
AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1MipsMHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。
AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEProm可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部 RAM。
AVR单片机的IO线全部带可设置的上拉电阻、可单独设定为输入输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得IO口资源灵活、功能强大、可充分利用。
AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与816位定时器配合的具有多达10 位的预分频器,可通过软件设定分频系数提供多种档次的定时时间。AVR单片机独有的“以定时器计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。
增强性的高速同异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-5196单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。
面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主从机的收发全部4种组合的多机通信。SPI支持主从机等4种组合的多机通信。
AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。
AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。
AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同异步串行口、TWI、SPI、AD模数转换器、定时器计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器计数器、具替换功能的IO端口…… )于一身,充分体现了单片机技术的从“片自为战”向“片上系统SoC”过渡的发展方向。
综上所述,AVR单片机博采众长,又具独特技术,不愧为8位机中的佼佼者。
AVR系列单片机的选型
AVR单片机系列齐全,可适用于各种不同场合的要求。AVR单片机有3个档次
低档Tiny系列AVR单片机 主要有Tiny111213152628等;
中档AT90S系列AVR 单片机 主要有AT90S1200231385158535等; (正在淘汰或转型到Mega中)
高档ATmega系列AVR单片机 主要有ATmega8163264128( 存储容量为8163264128 KB)以及ATmega85158535等。
看了一篇文章说应该这样安排时间的:)
一、找本书大概了解一下AVR单片机结构、功能。大概了解就行,不用看的很细。(五天)
二、找学习板练习编写程序,学单片机主要是练习编写程序,遇到不会的再请教别人或查书。(四十天)
三、如果你学习的是MEGA系列的AVR单片机,你还要学会怎么样设置熔丝位,让它更高效、更方便的为你工作。(一天)
四、自己在网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。(十天)
五、自己独立设计具有个人风格的电路、产品,……你已经是高手了。
计算一下时间,两个月左右你就可以熟练操作AVR单片机了,至于多长时间成为高手,看你的努力程度了。
阅读(1897) | 评论(2) | 转发(0) |