很多剛?cè)腴T的電子愛好者剛開始學(xué)習(xí)的時候都會遇到一個問題,那就是單片機(jī)和arduino要如何選擇的問題?51單片機(jī)和arduino究竟學(xué)習(xí)哪個好?今天我們就來詳細(xì)的聊聊兩者的優(yōu)缺點(diǎn)和選擇的問題。
timg.jpg (98.32 KB, 下載次數(shù): 113)
下載附件
2020-11-27 11:06 上傳
o_1al20e8vs16gci17vrm1otrq7u1a.png (109.68 KB, 下載次數(shù): 130)
下載附件
Arduino
2020-11-27 11:06 上傳
有部分朋友支持先學(xué)51單片機(jī),理由是51單片機(jī)涉及的東西比較多,比如模電,數(shù)電,c等。如果沒有C基礎(chǔ),底層的東西不學(xué)習(xí),原理不清楚那么學(xué)習(xí)其他的也走不遠(yuǎn),畢竟覺得大家學(xué)這個不是為了會玩,而是為了以后的工作著想。
有部分朋友支持學(xué)習(xí)arduino,理由是arduino不止是一塊板子,而是包括編譯器在內(nèi)的系列產(chǎn)品。如果先學(xué)51單片機(jī),做一個產(chǎn)品時間超長,而且大部分初學(xué)者剛開始很有熱情,但經(jīng)過一些困難后到最后很多都會放棄。在學(xué)51時,如果沒學(xué)完,但又急著想做東西出來用,這時候arduino可以解決的,就可以用arduino來做,又快而且不耽誤學(xué)習(xí)時間。
51單片機(jī)是基礎(chǔ)入門的一個單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是51系列的單片機(jī)一般不具備自編程能力,一般廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它適用于愛好者、藝術(shù)家、設(shè)計師和對于"互動"有興趣的朋友們。
51單片機(jī)和arduino哪個好?
51更底層一些,但如果想玩機(jī)器人,智能車之類的就可以用arduino更方便些。不過現(xiàn)在的話51還算是主流點(diǎn)的,51和c語言是基礎(chǔ),在此基礎(chǔ)上即可學(xué)習(xí)arduino也可選擇學(xué)習(xí)stm32這些復(fù)雜一些的。
arduino和51單片機(jī),基礎(chǔ)都是C言語,都需要懂得一些硬件知識,51單片機(jī)是單獨(dú)針對單片機(jī)的,arduino其實(shí)可以說包含單片機(jī)在內(nèi)及現(xiàn)在的物聯(lián)網(wǎng)通訊控制都可以做,像ESP8266wifi模塊,ESP32wifi藍(lán)牙模塊都直接可以用 arduino 來編寫。
arduino更加基礎(chǔ)一些,ar的標(biāo)準(zhǔn)是面對中學(xué)生的,編程較為簡單,51則比較繁瑣,但51的面向范圍更廣。如果您是一名新手小白,推薦先學(xué)51,回頭再學(xué)ar的話就比較容易入手了,不管先學(xué)哪兒個,建議都先買本C語言從入門到精通看看,單片機(jī)推薦51單片機(jī)C語言教程,有教學(xué)視頻講的比較細(xì)致,ar的話推薦arduino權(quán)威指南,可以先在DFRobot商城買一套循跡或藍(lán)牙小車的模塊,再嘗試自己開板。
如果想要快速的做一個小項(xiàng)目的話,而且還不會MCU就用Arduino,如果想好好學(xué)習(xí)一下MCU的話就先學(xué)學(xué)51吧。
arduino與51單片機(jī)比的優(yōu)點(diǎn)
Arduino比51更先進(jìn)一些,編程變得簡單更人性化和直觀,沒有單片機(jī)基礎(chǔ)的人也能很快上手。
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。它適用于愛好者、藝術(shù)家、設(shè)計師和對于"互動"有興趣的朋友們。
Arduino的核心開發(fā)團(tuán)隊(duì)成員包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti。
Arduino是一個基于開放原始碼的軟硬件平臺,構(gòu)建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境。
Arduino包含兩個主要的部分:硬件部分是可以用來做電路連接的Arduino電路板;另外一個則是Arduino IDE,你的計算機(jī)中的程序開發(fā)環(huán)境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會告訴Arduino電路板要做些什么了。
Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達(dá)和其他的裝置來反饋、影響環(huán)境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對Arduino的編程是利用 Arduino編程語言 (基于 Wiring)和Arduino開發(fā)環(huán)境(基于 Processing)來實(shí)現(xiàn)的;贏rduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來實(shí)現(xiàn)。
arduino與51單片機(jī)比區(qū)別:
1、arduino用的是AVR單片機(jī),AVR單片機(jī)跟51單片機(jī)內(nèi)部結(jié)構(gòu)不同(寄存器多少和名稱都 不一樣),編程工具燒寫bai軟件均不一樣。
2、arduino編程將一些輸入輸出方法編成了子程序(庫函數(shù)),應(yīng)用更加方便。
3、arduino在軟件開發(fā)反面考慮的更多的是功能的實(shí)現(xiàn),而單片機(jī)開發(fā)還需要考慮相應(yīng)的外圍電路,和底層軟件。
通過以上詳細(xì)介紹很多朋友應(yīng)該知道51單片機(jī)和arduino的優(yōu)缺點(diǎn)了吧,建議根據(jù)自己不同的實(shí)際需求來選擇學(xué)習(xí),一切從實(shí)際出發(fā)。
此文內(nèi)容來源于DF創(chuàng)客社區(qū)Arduino論壇。
|