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