Arduino和51单片机,两者有什么关系或区别? arduino,单片机和五一单片机的区别
arduino\u8ddf51\u5355\u7247\u673a\u6709\u4ec0\u4e48\u533a\u522barduino\u7528\u7684\u662fAVR\u5355\u7247\u673a\uff0cAVR\u5355\u7247\u673a\u5b83\u8ddf51\u5355\u7247\u673a\u5185\u90e8\u7ed3\u6784\u4e0d\u540c\uff08\u5bc4\u5b58\u5668\u591a\u5c11\u548c\u540d\u79f0\u90fd \u4e0d\u4e00\u6837\uff09\uff0c\u7f16\u7a0b\u5de5\u5177\u70e7\u5199\u8f6f\u4ef6\u5747\u4e0d\u4e00\u6837
arduino\u7f16\u7a0b\u5de5\u5177\u548c\u666e\u901aAVR\u53c8\u4e0d\u4e00\u6837\uff0c\u5b83\u5c06\u4e00\u4e9b\u8f93\u5165\u8f93\u51fa\u65b9\u6cd5\u7f16\u6210\u4e86\u5b50\u7a0b\u5e8f\uff08\u5e93\u51fd\u6570\uff09\uff0c\u5e94\u7528\u66f4\u52a0\u65b9\u4fbf
arduino\u5355\u7247\u673a\u672c\u8d28\u662favr\u5355\u7247\u673a\uff0cavr\u5355\u7247\u673a\u5f15\u811a\u529f\u80fd\u6bd4\u4f20\u7edf51\u5355\u7247\u673a\u4e30\u5bcc\uff0c\u786c\u4ef6\u8d44\u6e90\u6bd4\u8f83\u4e30\u5bcc
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板)和软件(Arduino IDE)。它适用于爱好者、艺术家、设计师和对于"互动"有兴趣的朋友们。
Arduino的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti。
Arduino是一个基于开放原始码的软硬件平台,构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
Arduino包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
区别:
1、arduino用的是AVR单片机,AVR单片机跟51单片机内部结构不同(寄存器多少和名称都 不一样),编程工具烧写软件均不一样。
2、arduino编程将一些输入输出方法编成了子程序(库函数),应用更加方便。
3、arduino在软件开发反面考虑的更多的是功能的实现,而单片机开发还需要考虑相应的外围电路,和底层软件。
关系:
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
拓展知识:
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
参考资料:
51单片机_百度百科
Arduino_百度百科
Arduino与传统的51单片机具体有哪些区别和联系,可以从以下几个方面进行对比:
Arduino是单片机二次开发的产物。以做项目来说,普通单片机只是散件,硬件的设计和软件设计都得你自己来。而且Arduino是半成品,你只要把相应的模块组合在一起,再写一写甚至直接复制别人程序就能行了。拿做电脑来比喻的话,你拿单片机做项目就像用电子元件先做出来显示器、主板、内存条、显卡、硬盘等,再把它们组装成一台电脑。用Arduino做项目就像直接把别人做好的主板硬盘显卡组装成电脑。Arduino的好处就是开发简单。但是也意味着很多地方都受到限制。
Arduino核心板大部分使用的是AVR单片机作为核心,这就是他们之间的联系。AVR单片机一般使用汇编语言、C语言开发,需要配置寄存器等等。Arduino在C的基础上简化了开发方式,自己实现了一套较为简单的语言,开发的时候不需要纠结于AVR的寄存器等底层的东西,直接写代码就能控制兼容Arduino的外设。
使用Arduino做项目,几乎不用考虑硬件部分的设计,可以按需求选用Arduino的控制板、扩展板等组成自己的需要的硬件系统。而使用单片机开发必须设计硬件,制作PCB板。
学习Arduino 单片机可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用Arduino 单片机编写程序。使用单片机则需要了解单片机内部硬件结构和寄存器的设置,使用汇编语言或者C语言编写底层硬件函数。
Arduino 软件语言仅仅需掌握少数几个指令,而且指令的可读性也强,稍微懂一点C语言即可,轻松上手,快速应用。
Arduino 的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的Arduino 编程,很多常用的I/O 设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。而单片机的软件开发,需要软件工程师编写底层到应用层的程序。没有那么多现成的库函数可以使用。
Arduino 由于开源,也就意味着从Arduino 相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。
相对其他开发板,Arduino 及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。
拓展资料:
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
参考资料:百度百科——Arduino
Arduino,是一块基于开放源代码的USB接口Simple i/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境。
当然是Arduino啦,51属于低端入门单片机,建议8051入手,资料很多
在DF创客社区上很多初次学习arduino和单片机的同学都会问同一个问题,那就是arduino与51单片机有什么区别?arduino和51单片机哪个性能更强?
arduino与51单片机的区别
1、arduino用的是AVR单片机,AVR单片机跟51单片机内部结构不同(寄存器多少和名称都不一样),编程工具烧写bai软件均不一样。
2、arduino编程将一些输入输出方法编成了子程序(库函数),应用更加方便。
3、arduino在软件开发反面考虑更多的是功能的实现,而单片机开发还需要考虑相应的外围电路,和底层软件。
4、使用arduino做项目,几乎不用考虑硬件部分的设计,可以按需求选用arduino的控制板、扩展板等组成自己的需要的硬件系统。而使用单片机开发必须设计硬件,制作PCB板。
5、学习arduino可以完全不需要了解其内部硬件结构和寄存器设置,仅仅知道它的端口作用即可;可以不懂硬件知识,只要会简单的C语言,就可用arduino编写程序。使用单片机则需要了解单片机内部硬件结构和寄存器的设置,使用汇编语言或者C语言编写底层硬件函数。
6、arduino的理念就是开源,软硬件完全开放,技术上不做任何保留。针对周边I/O设备的arduino 编程,很多常用的I/O 设备都已经带有库文件或者样例程序,在此基础上进行简单的修改,即可编写出比较复杂的程序,完成功能多样化的作品。而单片机的软件开发,需要软件工程师编写底层到应用层的程序。没有那么多现成的库函数可以使用。
7、arduino 由于开源,也就意味着从arduino 相关网站、博客,论坛里得到大量的共享资源,在共享资讯的辅助下,通过资源整合,能够加快您创作作品的速度及效率。相对其他开发板,arduino 及周边产品相对质廉价优,学习或创作成本低,重要一点是:烧录代码不需要烧录器,直接用USB线就可以完成下载。
8、51单片机只是一块单片机,而arduino除单片机外还提供外围开发电路、编译器、开源标准库函数。如果使用51系列单片机,一般来说只能使用破解版的keil,arduino有专用编译器。51单片机是个产品,而arduino是个生态,arduino制定开源的硬件和软件库标准。51单片机用来做定制开发,没有固定标准的开发板,做成的开发板也都不一样。arduino属于模块组件,受控于开源组织,有一系列标准。
9、arduino是把单片机进行封装与包装,引出了针脚,添加了程序烧录接口,电源接口,电脑通信的驱动程序,标准函数库,标准的电路设计,一系列开发必备功能。
10、51开发板市面上种类比较多,各不相同。其实对于开发板来说开发板再怎么变都是围绕单片机引脚上来实现功能的,所以arduino是把单片机模块化组件化了。
绛旓細1銆arduino鐢ㄧ殑鏄疉VR鍗曠墖鏈猴紝AVR鍗曠墖鏈璺51鍗曠墖鏈鍐呴儴缁撴瀯涓嶅悓锛堝瘎瀛樺櫒澶氬皯鍜屽悕绉伴兘 涓嶄竴鏍凤級锛岀紪绋嬪伐鍏风儳鍐欒蒋浠跺潎涓嶄竴鏍枫2銆乤rduino缂栫▼灏嗕竴浜涜緭鍏ヨ緭鍑烘柟娉曠紪鎴愪簡瀛愮▼搴忥紙搴撳嚱鏁帮級锛屽簲鐢ㄦ洿鍔犳柟渚裤3銆乤rduino鍦ㄨ蒋浠跺紑鍙戝弽闈㈣冭檻鐨勬洿澶氱殑鏄姛鑳界殑瀹炵幇锛岃屽崟鐗囨満寮鍙戣繕闇瑕佽冭檻鐩稿簲鐨勫鍥寸數璺紝鍜屽簳灞傝蒋浠躲傚叧...
绛旓細1. 51鍗曠墖鏈閫氬父浣跨敤姹囩紪璇█鎴朇璇█杩涜缂栫▼锛岀洰鍓嶅ぇ澶氭暟鎯呭喌涓嬮噰鐢–璇█銆2. STM32鍗曠墖鏈轰篃涓昏浣跨敤C璇█杩涜缂栫▼锛屽叾瀹樻柟搴撳嚱鏁板拰HAL搴撳潎鍩轰簬C璇█寮鍙戯紝铏藉惈鏈夐儴鍒嗘眹缂栦唬鐮併3. Arduino鎷ユ湁涓撶敤鐨勭紪绋嬬幆澧冿紝鐢ㄦ埛閫氳繃璇ョ幆澧冧娇鐢–璇█杩涜缂栫▼銆4. 51鍗曠墖鏈哄湪涓浗寮曞叆杈冩棭锛屾棭鏈熸暀鑲插浠ユ眹缂栬瑷涓轰富锛...
绛旓細arduino鍗曠墖鏈鏈川鏄痑vr鍗曠墖鏈猴紝avr鍗曠墖鏈哄紩鑴氬姛鑳芥瘮浼犵粺51鍗曠墖鏈涓板瘜锛岀‖浠惰祫婧愭瘮杈冧赴瀵
绛旓細姝e浣犵煡閬撶殑閭f牱Arduino鏄笓闂ㄥ熀浜嶢VR鍗曠墖鏈鐗瑰畾寮鍙戞澘鐨勫紑婧愬紑鍙戠幆澧冿紝瀹冩湁涓濂楀畬鏁寸殑楂樼骇璇█鍜岃嚜鎴愪綋绯荤殑鏀寔搴撳嚱鏁帮紝鐩稿浜51寮鍙戞澘鏉ヨ鍏ラ棬鐩稿瀹规槗锛屽姞涔婣VR鍗曠墖鏈虹殑鎬ц兘鍜岃繍琛岄熷害涔熸瘮51鍗曠墖鏈洪珮寰堝锛屼絾闇瑕佽鏄庣殑鏄疉rduino鏄竴涓綋绯伙紝鎷夸竴涓綋绯诲幓涓51鍗曠墖鏈虹畝鍗曠被姣旀槸涓嶅叕骞崇殑銆
绛旓細涓や釜涓滆タ鐨勫畾浣嶉兘涓嶄竴鏍...鑰屼笖杩欎袱涓瘝鐨勫ぇ灏忎篃涓嶄竴鏍凤紝arduino杩欎釜璇嶇殑澶у皬鍜屽崟鐗囨満涓鏍凤紝浠h〃鐫涓涓被锛岄噷闈㈤兘鏈夌潃涓澶у爢鍨嬪彿锛51鍗曠墖鏈鍙槸鍗曠墖鏈轰腑鐨勪竴涓皬鍨嬪彿鑰屽凡...arduino鐨勫畾浣嶆槸绠鍗曟柟渚匡紝瀹规槗鐢ㄣ備絾濡傛灉瑕佸仛鎴愪骇鍝佹潵鍗栫殑璇濓紝涓鑸儏鍐垫槸娌′汉浼氶夎繖绉嶇殑銆備环鏍兼槸涓緢澶х殑杞倠锛屽畾浣嶆湰鏉ュ氨鏄...
绛旓細鍏堝51锛51鏄渶绠鍗曠殑銆arduino闇瑕佹湁浜51鐨勫熀纭銆傚涔51锛屽缓璁綉涓婄湅閮ぉ绁ョ殑瑙嗛鏁欑▼锛屽苟涓旇喘涔板紑鍙戞澘涓骞跺涔犮
绛旓細arduino鏄數瀛愮Н鏈紝鏈変簺涓滆タ閿荤偧涓嶄簡銆傚缓璁敤51,浠庣剨鏉垮瓙寮濮嬶紝鎵撲笅鍧氬疄鐨勫熀纭锛屽鏃ュ悗鐨勫彂灞曟湁濂藉
绛旓細51鍗曠墖鏈猴紝STM32鍗曠墖鏈虹敤姹囩紪鎴栬匔璇█锛岀幇鍦ㄥ熀鏈兘鐢–璇█缂栫▼锛Arduino鏈夎嚜宸辩殑缂栫▼鐜锛岀敤鎴蜂篃鏄敤C璇█缂栫▼銆51鍗曠墖鏈虹殑缂栫▼ 51鍗曠墖鏈鸿繘鍏ヤ腑鍥芥瘮杈冩棭锛屽湪鏃╁墠鐢ㄦ眹缂栫紪绋嬫瘮杈冨锛屾垜鍦ㄤ笂澶у鏃朵篃鏄涔犵殑姹囩紪缂栫▼锛屼絾鏄幇鍦ㄦ垜鐢–璇█缂栫▼锛屾眹缂栧凡缁忎笉浼氫簡銆51鍗曠墖鏈烘瘮杈冨父鐢ㄧ殑缂栫▼鐜鏄疜eil锛岀幇鍦↘eil鏇存柊...
绛旓細鎬荤粨鏉ヨ锛孉rduino涓庡崟鐗囨満鐨勪富瑕佸尯鍒湪浜庯細寮鍙戦毦搴︿笂锛屽崟鐗囨満瀵瑰紑鍙戣呯殑鎶鏈棬妲涜緝楂橈紝鑰孉rduino鏇存槗浜庝笂鎵嬶紱纭欢闆嗘垚搴︿笂锛孉rduino宸茬粡闆嗘垚浜嗗緢澶氬熀纭鍔熻兘锛岄檷浣庝簡纭欢閰嶇疆鐨勫鏉傛э紱椤圭洰搴旂敤涓婏紝瀵逛簬绠鍗曟帶鍒朵换鍔★紝Arduino瓒冲浣跨敤锛岃屽湪闇瑕佹繁鍏ュ簳灞傝璁″拰澶嶆潅绯荤粺鏋勫缓鏃讹紝鍗曠墖鏈哄垯鏇存湁浼樺娍銆傚洜姝わ紝閫夋嫨Arduino...
绛旓細51灏辨槸鏈瀹规槗鐨勪簡銆傝屼笖璧勬枡寰堝叏銆備綘鎯冲仛涓浜涘叆闂ㄧ骇鍒殑鍒朵綔鍩烘湰涓婇兘鑳芥壘鍒版簮鐮佸涔犮arduino鐨勮瘽锛岃嫳鏂囪祫鏂欐瘮杈冨銆