Arduino和51单片机,两者有什么关系或区别?
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
arduino用的是AVR单片机,AVR单片机它跟51单片机内部结构不同(寄存器多少和名称都不一样),编程工具烧写软件均不一样。
arduino编程工具和普通AVR又不一样,它将一些输入输出方法编成了子程序(库函数),应用更加方便。
Arduino与传统的51单片机具体有哪些区别和联系,可以从以下几个方面进行对比:
1.Arduino是单片机二次开发的产物。以做项目来说,普通单片机只是散件,硬件的设计和软件设计都得你自己来。而且Arduino是半成品,你只要把相应的模块组合在一起,再写一写甚至直接复制别人程序就能行了。拿做电脑来比喻的话,你拿单片机做项目就像用电子元件先做出来显示器、主板、内存条、显卡、硬盘等,再把它们组装成一台电脑。用Arduino做项目就像直接把别人做好的主板硬盘显卡组装成电脑。Arduino的好处就是开发简单。但是也意味着很多地方都受到限制。
2.Arduino核心板大部分使用的是AVR单片机作为核心,这就是他们之间的联系。AVR单片机一般使用汇编语言、C语言开发,需要配置寄存器等等。Arduino在C的基础上简化了开发方式,自己实现了一套较为简单的语言,开发的时候不需要纠结于AVR的寄存器等底层的东西,直接写代码就能控制兼容Arduino的外设。
3.使用Arduino做项目,几乎不用考虑硬件部分的设计,可以按需求选用Arduino的控制板、扩展板等组成自己的需要的硬件系统。而使用单片机开发必须设计硬件,制作PCB板。
4.学习Arduino单片机可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino单片机编写程序。使用单片机则需要了解单片机内部硬件结构和寄存器的设置,使用汇编语言或者C语言编写底层硬件函数。
5.Arduino软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。
6.Arduino的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的Arduino编程,很多常用的I/O设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。而单片机的软件开发,需要软件工程师编写底层到应用层的程序。没有那么多现成的库函数可以使用。
7.Arduino由于开源,也就意味着从Arduino相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。
8.相对其他开发板,Arduino及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。
扩展资料:
arduino与51单片机比的优点
比51更先进一些,编程变得简单更人性化和直观,没有单片机基础的人也能很快上手。
Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。它适用于爱好者、艺术家、设计师和对于"互动"有兴趣的朋友们。
Arduino的核心开发团队成员包括:MassimoBanzi,DavidCuartielles,TomIgoe,GianlucaMartino,DavidMellis和NicholasZambetti。
Arduino是一个基于开放原始码的软硬件平台,构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
Arduino包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是ArduinoIDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信(比如Flash,Processing,MaxMSP)来实现。