Arduino和單片機的區別 傳統單片機要淘汰了嗎?最近很火熱的Arduino出現了,吸引了很多人的目光,它屬于二次開發的產品,有人說有了Arduino就不再需要傳統單片機了,其實不然,只是Arduino更簡單容易上手,比如你沒有編程基礎,但是有想做電子產品時,Arduino是一個很好的選擇。下面就讓我們來看看Arduino與傳統51單片機有哪些區別?
Arduino 簡介:
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件和軟件都是開源的。 開源硬件指與自由及開放原始碼軟件相同方式設計的計算機和電子硬件。開源硬件開始考慮對軟件以外的領域開源,是開源文化的一部分。這個詞主要是用來反映自由釋放詳細信息的硬件設計,如電路圖、材料清單、電路板布局數據,設計圖等都使用開源許可協議,自由使用分享,完全以開源的方式。
單片機簡介:
單片機(Microcontrollers)是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
Arduino是單片機二次開發的產物。以做項目來說,普通單片機只是散件,硬件的設計和軟件設計都得你自己來。而且Arduino是半成品,你只要把相應的模塊組合在一起,再寫一寫甚至直接復制別人程序就能行了。拿做電腦來比喻的話,你拿單片機做項目就像用電子元件先做出來顯示器、主板、內存條、顯卡、硬盤等,再把它們組裝成一臺電腦。用Arduino做項目就像直接把別人做好的主板硬盤顯卡組裝成電腦。Arduino的好處就是開發簡單。但是也意味著很多地方都受到限制。
Arduino核心板大部分使用的是AVR單片機作為核心,這就是他們之間的聯系。AVR單片機一般使用匯編語言、C語言開發,需要配置寄存器等等。Arduino在C的基礎上簡化了開發方式,自己實現了一套較為簡單的語言,開發的時候不需要糾結于AVR的寄存器等底層的東西,直接寫代碼就能控制兼容Arduino的外設。
Arduino與傳統51單片機有哪些區別,下面主要介紹如下幾個方面的區別:
1、使用Arduino做項目,幾乎不用考慮硬件部分的設計,可以按需求選用Arduino的控制板、擴展板等組成自己的需要的硬件系統。而使用單片機開發必須設計硬件,制作PCB板。
2、 學習Arduino 單片機可以完全不需要了解其內部硬件結構和寄存器設置,僅僅知道它的端口作用即可;可以不懂硬件知識,只要會簡單的C語言,就可用Arduino 單片機編寫程序。使用單片機則需要了解單片機內部硬件結構和寄存器的設置,使用匯編語言或者C語言編寫底層硬件函數。
3、Arduino 軟件語言僅僅需掌握少數幾個指令,而且指令的可讀性也強,稍微懂一點C語言即可,輕松上手,快速應用。
4、 Arduino 的理念就是開源,軟硬件完全開放,技術上不做任何保留。針對周邊I/O設備的Arduino 編程,很多常用的I/O 設備都已經帶有庫文件或者樣例程序,在此基礎上進行簡單的修改,即可編寫出比較復雜的程序,完成功能多樣化的作品。而單片機的軟件開發,需要軟件工程師編寫底層到應用層的程序。沒有那么多現成的庫函數可以使用。
5、Arduino 由于開源,也就意味著從Arduino 相關網站、博客,論壇里得到大量的共享資源,在共享資訊的輔助下,通過資源整合,能夠加快您創作作品的速度及效率。
6、相對其他開發板,Arduino 及周邊產品相對質廉價優,學習或創作成本低,重要一點是:燒錄代碼不需要燒錄器,直接用USB線就可以完成下載。