avr和arduino之间有什么关系?avr单片机和arduino的优点分析

嵌入式操作系统

57人已加入

描述

       很多时候我们可以看到avr和arduino几乎可以同时出现,那么它们之间都什么区别呢?本文主要围绕avr和arduino之间的区别以及优点而进行的研究。

  avr介绍

  AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set Computer) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。

  avr单片机特点:

  1、速度快 AVR单片机在单一时钟周期内执行功能强大的指令,每MHz可实现阶段MIPS的处理能力,是具有最高MIPS/mW能力的确良8位单片机。 AVR单片机采用了大型快速存取寄存器文件和快速单周期指令。其快速存取RISC寄存器文件由32个通用工作寄存器组成。AVR用32个通用寄存器代替累加器,避免了传统的累加器与存储器之间的数据传送,可在一个时钟周期内执行一条指令来访问两个独立的寄存器,代码效率比常规CISC微控制器快十倍。AVR单片机是用一个时钟周期执行一条指令的,即在执行前一条指令时就取出下一条指令,然后以一个周期执行指令(与DSP类似),是8位单片机中第一种真的RISC单片机。

  2、性能价格比高 AVR单片机中既有引脚少的器件(8脚),也有存储容量较大、引脚较多的器件,给用户以充分的选择佘地。AVR单片机采用Harvard结构,程序存储器和数据存储器是分开的,可以直接访问8M字节程序存储器和8M的数据存储器。AVR单片机片内资源丰富。包括:1K-128K字节可下载的Flash存储器、64-4K字节EEPROM、128-4K字节RAM、5-32条通用的I/O线,32个通用工作寄存器、摸拟比较器、定时器/计数、可编程异步串行口、内部及外部中断、带内部晶振的可编程看门狗定时器、为下载程序而设计的SPI串行口、10位AD转换器、以及闲置摸式和掉电摸式2个可选择的省电摸式等。 AVR单片机具有高度保密性。程序存储器FLASH具有多重密码保护锁死(LOCK)功能,绝不可能解密。

  3、系统内从新编程(ISP In-System Programming) 功能 AVR单片机片内可下载FLASH存储器,可以通过SPI串行接口或一般的编程器进行系统内重新编程(ISP In-System Programming),给新产品的开发、老产品的 级和维护带来极大的方便。

  4、工作电压范围宽(2.7-6V)、抗干扰能力强 总之,AVR单片机在一个芯片内将增强性能的RISC 8位CPU与可下载的FLASH相结合使其成为适合于许多要求、具有高度灵活性和低成本的嵌入式高效微控制器。

  avr单片机优点:

  1:在相同的系统时钟下AVR运行速度最快;

  2: 芯片内部的Flsah、EEPROM、SRAM容量较大;

  3:所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);

  4:多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等作用,零外围电路也可以工作; 5:每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强;

  6:内部资源丰富,一般都集成AD、DA模数器;PWM;SPI、USART、TWI、I2C通信口;丰富的中断源等。

  Arduino介绍

  Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。

  平台特点:

  1.跨平台

  Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系统上运行,而其他的大多数控制器只能在Windows上开发。

  2.简单清晰

  Arduino IDE基于processing IDE开发。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。

  3.开放性

  Arduino的硬件原理图、电路图、IDE软件及核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。

  4.发展迅速

  Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。

  因为Arduino的种种优势,越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业,也纷纷开展了Arduino相关课程。


  Arduino功能:

  可以快速使用Arduino与Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider等软件结合,作出互动作品。 Arduino可以使用现有的电子元件例如开关或者传感器或者其他控制器件、LED、步进马达或其他输出装置。 Arduino也可以独立运行,并与软件进行交互,例如: Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互动软件。 Arduino的IDE界面基于开放源代码,可以免费下载使用,开发出更多令人惊艳的互动作品。

  Arduino相对传统单片机的优势:

  (A)、学习Arduino 单片机可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino 单片机编写程序。

  (B)、Arduino 软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。

  (C)、Arduino 的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的Arduino 编程,很多常用的I/O 设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。

  (D)、Arduino 由于开源,也就意味着从Arduino 相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。

  (E)、相对其他开发板,Arduino 及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。

  AVR与Arduino之间的关系

  Arduino核心板使用的是AVR ATmega8作为核心,这就是他们之间的联系。AVR一般使用C语言开发,需要配置寄存器等等。Arduino在C的基础上简化了开发方式,自己实现了一套较为简单的语言,开发的时候不需要纠结于AVR的寄存器等底层的东西,直接写代码就能控制兼容Arduino的外设。

  拿手机打比方的话,假设arduino是iphone的话,那么iphone可以使用专为iphone定做的软件,和硬件,只用iphone才可以是使用,三星手机就无法使用,arduino也有专用的软件,和专用硬件,其他平台就无法使用。另外一边iphone的主芯片是苹果的A5处理器,arduino的处理器是avr系列的处理器。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分