AVR单片机1

来源:百度文库 编辑:神马文学网 时间:2024/04/29 16:40:49

AVR单片机

  什么是AVR单片机?AVR单片机是什么意思?
  单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上,概括的讲:一块芯片就成了一台计算机。单片机技术是计算机技术的一个分支,是简易机器人的核心元件。
  1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术, 共同研发出RISC精简指令集的高速8位单片机,简称AVR。
  AVR单片机的优势特征
  单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选用AVR单片机呢?
  一、简便易学,费用低廉
  首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入AVR单片机开发的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下”。
  其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。
  再次,AVR单片机费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。
  二、高速、低耗、保密
  首先,AVR单片机是高速嵌入式单片机:
  1、AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。
  2、多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。
  3、中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。
  其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。
  再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。
  三、I/O口功能强,具有A/D转换等电路
  1. AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)10~40 mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。
  2. AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega48/8/16等器件具有8路10位A/D。
  3. 部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。
  4. AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。
  四、有功能强大的定时器/计数器及通讯接口
  定时/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有3~4个PWM,是作电机无级调速的理想器件。
  AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576K。
  AVR单片机的型号标识解析
  1. 型号紧跟的字母,表示电压工作范围。带“V”:1.8-5.5V;若缺省,不带“V”:2.7-5.5V。
  例:ATmega48-20AU,不带“V”表示工作电压为2.7-5.5V。
  2. 后缀的数字部分,表示支持的最高系统时钟。
  例:ATmega48-20AU,“20”表示可支持最高为20MHZ的系统时钟。
  3. 后缀第一(第二)个字母,表示封装。“P”:DIP封装,“A”:TQFP封装,“M”:MLF封装。
  例:ATmega48-20AU,“A”表示TQFP封装。
  4. 后缀最后一个字母,表示应用级别。“C”:商业级,“I”:工业级(有铅)、“U”工业级(无铅)。
  例:ATmega48-20AU,“U”表示无铅工业级。ATmega48-20AI,“I”表示有铅工业级。
  AVR 8-Bit MCU的最大特点
  与其它8-Bit MCU相比,AVR 8-Bit MCU最大的特点是:
  · 哈佛结构,具备1MIPS / MHz的高速运行处理能力;
  · 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC进行处理造成的瓶颈现象;
  · 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发;
  · 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;
  · 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠;
  · 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;
  · 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。
  AVR单片机的应用区域
  目前,AVR已被广泛用于:
  · 空调控制板
  · 打印机控制板
  · 智能电表
  · 智能手电筒
  · LED控制屏
  · 医疗设备
  · GPS
  从市场角度看AVR单片机
  · 性价比:AVR大部分型号的性价比较高,性价比表现突出的型号有:atmega48、atmega8、atmega16、atmega169P
  · 供货方面:通用型号的AVR供货较为稳定,非常规型号的AVR样品及供货仍存在问题。
  · 市场占有率:目前,AVR的市场占有率还是不如PIC与51,但,AVR的优点使得AVR的市场占有一直在扩展,AVR的年用量也一直在上涨。
  开发AVR单片机,需要哪些编译器、调试器?
   软件名称
   类型
   简介
   官方网址
   AVR Studio
   IDE、汇编编译器
   ATMEL AVR Studio集成开发环境(IDE),可使用汇编语言进行开发(使用其它语言需第三方软件协助),集软硬件仿真、调试、下载编程于一体。ATMEL官方及市面上通用的AVR开发工具都支持AVRStudio。
   www.atmel.com
   GCCAVR
  (WinAVR)
   C编译器
   GCC是Linux的唯一开发语言。GCC的编译器优化程度可以说是目前世界上民用软件中做的最好的,另外,它有一个非常大优点是,免费!在国外,使用它的人几乎是最多的。但,相对而言,它的缺点是,使用操作较为麻烦。
   sourceforge.net
   ICC AVR
   C编译器
  (集烧写程序功能)
   市面上(大陆)的教科书使用它作为例程的较多,集成代码生成向导,虽然它的各方面性能均不是特别突出,但使用较为方便。虽然ICCAVR软件不是免费的,但,它有Demo版本,在45天内是完全版。
   www.imagecraft.com
   CodeVision AVR
   C编译器
  (集烧写程序功能)
   与KeilC51的代码风格最为相似,集成较多常用外围器件的操作函数,集成代码生成向导,有软件模块,不是免费软件,Demo版为限2KB版。
   www.hpinfotech.ro
   ATman AVR
   C编译器
   支持多个模块调试(AVRStudio不支持多个模块调试)。
   www.atmanecl.com
   IAR AVR
   C编译器
   IAR实际上在国外比较多人使用,但它的价格较为昂贵,所以,中国大陆内,使用它的开发人员较少,只有习惯用IAR的工程师才会去使用它。
   www.iar.com
  
   Devices
   Flash Kbytes
   EEPROM Kbytes
   SRAM Bytes
   I/O
   F.max (MHz)
   Vcc
  (V)
   pico
  Power
   16bit Timers
   8bit Timers
   PWM channels
   RTC
   SPI
   UART
   TWI
   ISP
   10-bit A/D (channels)
   Analog Com
  parator
   WDT
   Hardware Multiplier
   Ext Int
  -errupts
   Self Program Memory
   ATtiny13 ATtiny13V
   1
   0.064
   64B
  32reg

   6
   20
   1.8-5.5
   -
   --
   1
   2
   -
   -
   -
   -
  
   4
  
  
   No
   6
  
   ATtiny24 ATtiny24V
   2
   0.128
   128
   12
   20
   1.8-5.5
   -
   1
   1
   4
   -
   USI
   -
   USI
  
   8
  
  
   --
   12
  
   ATtiny44 ATtiny44V
   4
   0.256
   256
   12
   20
   1.8-5.5
   -
   1
   1
   4
   -
   USI
   -
   USI
  
   8
  
  
   --
   12
  
   ATtiny84 ATtiny84V
   8
   0.512
   512
   12
   20
   1.8-5.5
   -
   1
   1
   4
   -
   USI
   -
   USI
  
   8
  
  
   --
   12
  
   ATtiny26 ATtiny26L
   2
   0.125
   128
   16
   16
   2.7-5.5
   -
   --
   2
   2
   -
   USI
   -
   USI
  
   11
  
  
   --
   1
   --
   ATtiny2313 ATtiny2313V
   2
   0.128
   128
   18
   20
   1.8-5.5
   -
   1
   1
   4
   -
   USI
   1
   USI
  
   --
  
  
   --
   2
  
   ATmega48 ATmega48V
   4
   0.256
   512
   23
   20
   1.8-5.5
   -
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega88 ATmega88V
   8
   0.5
   1024
   23
   20
   1.8-5.5
   -
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega168 ATmega168V
   16
   0.5
   1024
   23
   20
   1.8-5.5
   -
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega8 ATmega8L
   8
   0.5
   1024
   23
   16
   2.7-5.5
   -
   1
   2
   3
  
   1
   1
  
  
   8/6(DIP)
  
  
  
   2
  
   ATmega16 ATmega16L
   16
   0.5
   1024
   32
   16
   2.7-5.5
   -
   1
   2
   4
  
   1
   1
  
  
   8
  
  
  
   3
  
   ATmega32 ATmega32L
   32
   1
   2048
   32
   16
   2.7-5.5
   -
   1
   2
   4
  
   1
   1
  
  
   8
  
  
  
   3
  
   ATmega64 ATmega64L
   64
   2
   4096
   53
   16
   2.7-5.5
   -
   2
   2
   8
  
   1
   2
  
  
   8
  
  
  
   8
  
   ATmega128 ATmega128L
   128
   4
   4096
   53
   16
   2.7-5.5
   -
   2
   2
   8
  
   1
   2
  
  
   8
  
  
  
   8
  
   ATmega1280 ATmega1280V
   128
   4
   8192
   86
   16
   1.8-5.5
   -
   4
   2
   16
  
   1+USART
   4
  
  
   16
  
  
  
   32
  
   ATmega162 ATmega162V
   16
   0.5
   1024
   35
   16
   1.8-5.5
   -
   2
   2
   6
  
   1
   2
   --
  
   -
  
  
  
   3
  
   ATmega169 ATmega169V
   16
   0.5
   1024
   53
   16
   1.8-5.5
   -
   1
   2
   4
  
   1+USI
   1
   USI
  
   8
  
  
  
   17
  
   ATmega169P ATmega169PV
   16
   0.5
   1024
   54
   16
   1.8-5.5
  
   1
   2
   4
  
   1+USI
   1
   USI
  
   8
  
  
  
   17
  
   ATmega8515 ATmega8515L
   8
   0.5
   512
   35
   16
   2.7-5.5
   -
   1
   1
   3
   -
   1
   1
   -
  
   -
   -
  
  
   3
  
   ATmega8535 ATmega8535L
   8
   0.5
   512
   32
   16
   2.7-5.5
   -
   1
   2
   4
   -
   1
   1
  
  
   8
  
  
  
   3
  
   ATmega48P ATmega48PV
   4
   0.256
   512
   23
   20
   1.8-5.5
  
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega88P ATmega88PV
   8
   0.5
   1024
   23
   20
   1.8-5.5
  
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega168P ATmega168PV
   16
   0.5
   1024
   23
   20
   1.8-5.5
  
   1
   2
   6
  
   1+USART
   1
  
  
   8/6(DIP)
  
  
  
   26
  
   ATmega164P ATmega164PV
   16
   0.5
   1024
   32
   20
   1.8-5.5
  
   1
   2
   6
  
   1+USART
   2
  
  
   8
  
  
  
   32
  
   ATmega324P ATmega324PV
   32
   1
   2048
   32
   20
   1.8-5.5
  
   1
   2
   6
  
   1+USART
   2
  
  
   8
  
  
  
   32