? ? ? ?很多時候我們可以看到avr和arduino幾乎可以同時出現(xiàn),那么它們之間都什么區(qū)別呢?本文主要圍繞avr和arduino之間的區(qū)別以及優(yōu)點而進行的研究。
avr介紹
AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC(Reduced Instruction Set Computer) 精簡指令集高速8位單片機。AVR的單片機可以廣泛應用于計算機外部設備、工業(yè)實時控制、儀器儀表、通訊設備、家用電器等各個領域。 1997年,由Atmel公司挪威設計中心的A先生和V先生,利用Atmel公司的Flash新技術(shù),共同研發(fā)出RISC精簡指令集高速8位單片機,簡稱AVR。
avr單片機特點:
1、速度快 AVR單片機在單一時鐘周期內(nèi)執(zhí)行功能強大的指令,每MHz可實現(xiàn)階段MIPS的處理能力,是具有最高MIPS/mW能力的確良8位單片機。 AVR單片機采用了大型快速存取寄存器文件和快速單周期指令。其快速存取RISC寄存器文件由32個通用工作寄存器組成。AVR用32個通用寄存器代替累加器,避免了傳統(tǒng)的累加器與存儲器之間的數(shù)據(jù)傳送,可在一個時鐘周期內(nèi)執(zhí)行一條指令來訪問兩個獨立的寄存器,代碼效率比常規(guī)CISC微控制器快十倍。AVR單片機是用一個時鐘周期執(zhí)行一條指令的,即在執(zhí)行前一條指令時就取出下一條指令,然后以一個周期執(zhí)行指令(與DSP類似),是8位單片機中第一種真的RISC單片機。
2、性能價格比高 AVR單片機中既有引腳少的器件(8腳),也有存儲容量較大、引腳較多的器件,給用戶以充分的選擇佘地。AVR單片機采用Harvard結(jié)構(gòu),程序存儲器和數(shù)據(jù)存儲器是分開的,可以直接訪問8M字節(jié)程序存儲器和8M的數(shù)據(jù)存儲器。AVR單片機片內(nèi)資源豐富。包括:1K-128K字節(jié)可下載的Flash存儲器、64-4K字節(jié)EEPROM、128-4K字節(jié)RAM、5-32條通用的I/O線,32個通用工作寄存器、摸擬比較器、定時器/計數(shù)、可編程異步串行口、內(nèi)部及外部中斷、帶內(nèi)部晶振的可編程看門狗定時器、為下載程序而設計的SPI串行口、10位AD轉(zhuǎn)換器、以及閑置摸式和掉電摸式2個可選擇的省電摸式等。 AVR單片機具有高度保密性。程序存儲器FLASH具有多重密碼保護鎖死(LOCK)功能,絕不可能解密。
3、系統(tǒng)內(nèi)從新編程(ISP In-System Programming) 功能 AVR單片機片內(nèi)可下載FLASH存儲器,可以通過SPI串行接口或一般的編程器進行系統(tǒng)內(nèi)重新編程(ISP In-System Programming),給新產(chǎn)品的開發(fā)、老產(chǎn)品的 級和維護帶來極大的方便。
4、工作電壓范圍寬(2.7-6V)、抗干擾能力強 總之,AVR單片機在一個芯片內(nèi)將增強性能的RISC 8位CPU與可下載的FLASH相結(jié)合使其成為適合于許多要求、具有高度靈活性和低成本的嵌入式高效微控制器。
avr單片機優(yōu)點:
1:在相同的系統(tǒng)時鐘下AVR運行速度最快;
2: 芯片內(nèi)部的Flsah、EEPROM、SRAM容量較大;
3:所有型號的Flash、EEPROM都可以反復燒寫、全部支持在線編程燒寫(ISP);
4:多種頻率的內(nèi)部RC振蕩器、上電自動復位、看門狗、啟動延時等作用,零外圍電路也可以工作; 5:每個IO口都可以以推換驅(qū)動的方式輸出高、低電平,驅(qū)動能力強;
6:內(nèi)部資源豐富,一般都集成AD、DA模數(shù)器;PWM;SPI、USART、TWI、I2C通信口;豐富的中斷源等。
Arduino介紹
Arduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。由一個歐洲開發(fā)團隊于2005年冬季開發(fā)。其成員包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
平臺特點:
1.跨平臺
Arduino IDE可以在Windows、Macintosh OS X、Linux三大主流操作系統(tǒng)上運行,而其他的大多數(shù)控制器只能在Windows上開發(fā)。
2.簡單清晰
Arduino IDE基于processing IDE開發(fā)。對于初學者來說,極易掌握,同時有著足夠的靈活性。Arduino語言基于wiring語言開發(fā),是對 avr-gcc庫的二次封裝,不需要太多的單片機基礎、編程基礎,簡單學習后,你也可以快速的進行開發(fā)。
3.開放性
Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開源的,在開源協(xié)議范圍內(nèi)里可以任意修改原始設計及相應代碼。
4.發(fā)展迅速
Arduino不僅僅是全球最流行的開源硬件,也是一個優(yōu)秀的硬件開發(fā)平臺,更是硬件開發(fā)的趨勢。Arduino簡單的開發(fā)方式使得開發(fā)者更關(guān)注創(chuàng)意與實現(xiàn),更快的完成自己的項目開發(fā),大大節(jié)約了學習的成本,縮短了開發(fā)的周期。
因為Arduino的種種優(yōu)勢,越來越多的專業(yè)硬件開發(fā)者已經(jīng)或開始使用Arduino來開發(fā)他們的項目、產(chǎn)品;越來越多的軟件開發(fā)者使用Arduino進入硬件、物聯(lián)網(wǎng)等開發(fā)領域;大學里,自動化、軟件,甚至藝術(shù)專業(yè),也紛紛開展了Arduino相關(guān)課程。
Arduino功能:
可以快速使用Arduino與Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider等軟件結(jié)合,作出互動作品。 Arduino可以使用現(xiàn)有的電子元件例如開關(guān)或者傳感器或者其他控制器件、LED、步進馬達或其他輸出裝置。 Arduino也可以獨立運行,并與軟件進行交互,例如: Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互動軟件。 Arduino的IDE界面基于開放源代碼,可以免費下載使用,開發(fā)出更多令人驚艷的互動作品。
Arduino相對傳統(tǒng)單片機的優(yōu)勢:
?。ˋ)、學習Arduino 單片機可以完全不需要了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設置,僅僅知道它的端口作用即可;可以不懂硬件知識,只要會簡單的C語言,就可用Arduino 單片機編寫程序。
?。˙)、Arduino 軟件語言僅僅需掌握少數(shù)幾個指令,而且指令的可讀性也強,稍微懂一點C語言即可,輕松上手,快速應用。
?。–)、Arduino 的理念就是開源,軟硬件完全開放,技術(shù)上不做任何保留。針對周邊I/O設備的Arduino 編程,很多常用的I/O 設備都已經(jīng)帶有庫文件或者樣例程序,在此基礎上進行簡單的修改,即可編寫出比較復雜的程序,完成功能多樣化的作品。
?。―)、Arduino 由于開源,也就意味著從Arduino 相關(guān)網(wǎng)站、博客,論壇里得到大量的共享資源,在共享資訊的輔助下,通過資源整合,能夠加快您創(chuàng)作作品的速度及效率。
?。‥)、相對其他開發(fā)板,Arduino 及周邊產(chǎn)品相對質(zhì)廉價優(yōu),學習或創(chuàng)作成本低,重要一點是:燒錄代碼不需要燒錄器,直接用USB線就可以完成下載。
AVR與Arduino之間的關(guān)系
Arduino核心板使用的是AVR ATmega8作為核心,這就是他們之間的聯(lián)系。AVR一般使用C語言開發(fā),需要配置寄存器等等。Arduino在C的基礎上簡化了開發(fā)方式,自己實現(xiàn)了一套較為簡單的語言,開發(fā)的時候不需要糾結(jié)于AVR的寄存器等底層的東西,直接寫代碼就能控制兼容Arduino的外設。
拿手機打比方的話,假設arduino是iphone的話,那么iphone可以使用專為iphone定做的軟件,和硬件,只用iphone才可以是使用,三星手機就無法使用,arduino也有專用的軟件,和專用硬件,其他平臺就無法使用。另外一邊iphone的主芯片是蘋果的A5處理器,arduino的處理器是avr系列的處理器。
電子發(fā)燒友App








評論