在DF創(chuàng)客社區(qū)上很多初次學(xué)習(xí)arduino和單片機(jī)的同學(xué)都會(huì)問(wèn)同一個(gè)問(wèn)題,那就是arduino與51單片機(jī)有什么區(qū)別?arduino和51單片機(jī)哪個(gè)性能更強(qiáng)?
針對(duì)這個(gè)問(wèn)題我們先來(lái)了解下arduino和51單片機(jī)分別是什么?
什么是arduino?它的優(yōu)點(diǎn)有哪些?

arduino是單片機(jī)二次開(kāi)發(fā)的產(chǎn)物。以做項(xiàng)目來(lái)說(shuō),普通單片機(jī)只是散件,硬件的設(shè)計(jì)和軟件設(shè)計(jì)都得你自己來(lái)。而且arduino是半成品,只需把相應(yīng)的模塊組合在一起,再寫一寫甚至直接復(fù)制別人程序就能行了。拿做電腦來(lái)比喻的話,你拿單片機(jī)做項(xiàng)目就像用電子元件先做出來(lái)顯示器、主板、內(nèi)存條、顯卡、硬盤等,再把它們組裝成一臺(tái)電腦。用arduino做項(xiàng)目就像直接把別人做好的主板硬盤顯卡組裝成電腦。arduino的優(yōu)點(diǎn)就是開(kāi)發(fā)簡(jiǎn)單,但是也意味著很多地方都受到限制。主流用的為arduino uno和DFRduino uno開(kāi)發(fā)板。

arduino是一塊基于開(kāi)放bai源代碼的duUSB接口Simple i/o接口板(包括12通道zhi數(shù)字GPIO,4通道PWM輸出,6-8通道10bit ADC輸入通道)dao,并且具有專使用類似Java,C語(yǔ)言的IDE集成開(kāi)發(fā)環(huán)境。arduino和51單片機(jī),基礎(chǔ)都是C言語(yǔ),都需要懂得一些硬件知識(shí),51單片機(jī)是單獨(dú)針對(duì)單片機(jī)的,arduino其實(shí)可以說(shuō)包含單片機(jī)在內(nèi)及現(xiàn)在的物聯(lián)網(wǎng)通訊控制都可以做,像ESP8266wifi模塊,ESP32wifi藍(lán)牙模塊都直接可以用 arduino 來(lái)編寫。
什么是51單片機(jī)?它的優(yōu)點(diǎn)有哪些?
51單片機(jī)是基礎(chǔ)入門的一個(gè)單片機(jī),還是很廣泛的8位單片機(jī)。需要注意的是51系列的單片機(jī)一般不具備自編程能力。51單片機(jī),對(duì)于初學(xué)者來(lái)說(shuō)非常友好。由于它的典型的結(jié)構(gòu)和完善的總線專用寄存器的集中管理,指令系統(tǒng)豐富,并且有許多邏輯位操作功能。
相比arduino來(lái)說(shuō),51更底層一些,如果想玩機(jī)器人,智能車之類的建議用arduino更方便些。
51單片機(jī)是對(duì)所有兼容Intel 8051指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8004單片機(jī),后來(lái)隨著Flash rom技術(shù)的發(fā)展,8004單片機(jī)取得了長(zhǎng)足的進(jìn)展,成為應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號(hào)是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測(cè)控系統(tǒng)之中。

單片機(jī)是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。
51單片機(jī)優(yōu)點(diǎn)
1 從內(nèi)部的硬件到軟件的按位操作系統(tǒng)很完整,功能十分完備。
2 片內(nèi)RAM區(qū)間有一個(gè)雙重功能的地址區(qū)間,非常靈活。
3 擁有乘法和除法指令。
arduino與51單片機(jī)的區(qū)別
1、arduino用的是AVR單片機(jī),AVR單片機(jī)跟51單片機(jī)內(nèi)部結(jié)構(gòu)不同(寄存器多少和名稱都不一樣),編程工具燒寫bai軟件均不一樣。
2、arduino編程將一些輸入輸出方法編成了子程序(庫(kù)函數(shù)),應(yīng)用更加方便。
3、arduino在軟件開(kāi)發(fā)反面考慮的更多的是功能的實(shí)現(xiàn),而單片機(jī)開(kāi)發(fā)還需要考慮相應(yīng)的外圍電路,和底層軟件。
4、使用arduino做項(xiàng)目,幾乎不用考慮硬件部分的設(shè)計(jì),可以按需求選用arduino的控制板、擴(kuò)展板等組成自己的需要的硬件系統(tǒng)。而使用單片機(jī)開(kāi)發(fā)必須設(shè)計(jì)硬件,制作PCB板。
5、學(xué)習(xí)arduino可以完全不需要了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,僅僅知道它的端口作用即可;可以不懂硬件知識(shí),只要會(huì)簡(jiǎn)單的C語(yǔ)言,就可用arduino編寫程序。使用單片機(jī)則需要了解單片機(jī)內(nèi)部硬件結(jié)構(gòu)和寄存器的設(shè)置,使用匯編語(yǔ)言或者C語(yǔ)言編寫底層硬件函數(shù)。
6、arduino的理念就是開(kāi)源,軟硬件完全開(kāi)放,技術(shù)上不做任何保留。針對(duì)周邊I/O設(shè)備的arduino 編程,很多常用的I/O 設(shè)備都已經(jīng)帶有庫(kù)文件或者樣例程序,在此基礎(chǔ)上進(jìn)行簡(jiǎn)單的修改,即可編寫出比較復(fù)雜的程序,完成功能多樣化的作品。而單片機(jī)的軟件開(kāi)發(fā),需要軟件工程師編寫底層到應(yīng)用層的程序。沒(méi)有那么多現(xiàn)成的庫(kù)函數(shù)可以使用。
7、arduino 由于開(kāi)源,也就意味著從arduino 相關(guān)網(wǎng)站、博客,論壇里得到大量的共享資源,在共享資訊的輔助下,通過(guò)資源整合,能夠加快您創(chuàng)作作品的速度及效率。相對(duì)其他開(kāi)發(fā)板,arduino 及周邊產(chǎn)品相對(duì)質(zhì)廉價(jià)優(yōu),學(xué)習(xí)或創(chuàng)作成本低,重要一點(diǎn)是:燒錄代碼不需要燒錄器,直接用USB線就可以完成下載。
8、51單片機(jī)只是一塊單片機(jī),而arduino除單片機(jī)外還提供外圍開(kāi)發(fā)電路、編譯器、開(kāi)源標(biāo)準(zhǔn)庫(kù)函數(shù)。如果使用51系列單片機(jī),一般來(lái)說(shuō)只能使用破解版的keil,arduino有專用編譯器。51單片機(jī)是個(gè)產(chǎn)品,而arduino是個(gè)生態(tài),arduino制定開(kāi)源的硬件和軟件庫(kù)標(biāo)準(zhǔn)。51單片機(jī)用來(lái)做定制開(kāi)發(fā),沒(méi)有固定標(biāo)準(zhǔn)的開(kāi)發(fā)板,做成的開(kāi)發(fā)板也都不一樣。arduino屬于模塊組件,受控于開(kāi)源組織,有一系列標(biāo)準(zhǔn)。
9、arduino是把單片機(jī)進(jìn)行封裝與包裝,引出了針腳,添加了程序燒錄接口,電源接口,電腦通信的驅(qū)動(dòng)程序,標(biāo)準(zhǔn)函數(shù)庫(kù),標(biāo)準(zhǔn)的電路設(shè)計(jì),一系列開(kāi)發(fā)必備功能。
而51開(kāi)發(fā)板市面上種類比較多,各不相同。其實(shí)對(duì)于開(kāi)發(fā)板來(lái)說(shuō)開(kāi)發(fā)板再怎么變都是圍繞單片機(jī)引腳上來(lái)實(shí)現(xiàn)功能的,所以arduino是把單片機(jī)模塊化組件化了。
整體來(lái)說(shuō)arduino就是把單片機(jī)進(jìn)行了擴(kuò)展,使用更方便更標(biāo)準(zhǔn),更易于實(shí)現(xiàn)功能。更多相關(guān)內(nèi)容請(qǐng)到DF創(chuàng)客社區(qū)查看。
審核編輯:符乾江
-
51單片機(jī)
+關(guān)注
關(guān)注
275文章
5707瀏覽量
125642 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5321瀏覽量
100353 -
Arduino
+關(guān)注
關(guān)注
188文章
6483瀏覽量
189461
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
51單片機(jī)中為什么很少出現(xiàn)printf的身影

基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

基于51單片機(jī)的遙控開(kāi)關(guān)仿真(雙機(jī)通信)

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
51單片機(jī)驅(qū)動(dòng)
51單片機(jī)晶振的問(wèn)題總結(jié)
stm32和51單片機(jī)的區(qū)別是什么
linux開(kāi)發(fā)板和單片機(jī)開(kāi)發(fā)的區(qū)別
51單片機(jī)燒錄軟件怎么用
國(guó)產(chǎn)單片機(jī)(MCU)崛起 —— 51系列

評(píng)論