AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內(nèi)置Flash的RISC(Reduced Instruction Set CPU)精簡指令集高速8位單片機??梢詮V泛應(yīng)用于計算機外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。AVR單片機是Atmel公司1997年推出的 RISC 單片機。RISC(精簡指令系統(tǒng)計算機)是相對于CISC(復(fù)雜指令系統(tǒng)計算機)而言的。RISC 并非只是簡單地去減少指令,而是通過使計算機的結(jié)構(gòu)更加簡單合理而提高運算速度的。
高可靠性、功能強、高速度、低功耗和低價位 , 一直是衡量單片機性能的重要指標(biāo),也是單片機占領(lǐng)市場、賴以生存的必要條件。AVR單片機的推出,徹底打破這種舊設(shè)計格局,廢除了機器周期,拋棄復(fù)雜指令計算機(CISC)追求指令完備的做法;采用精簡指令集,以字作為指令長度單位,將內(nèi)容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短,又可預(yù)取指令,實現(xiàn)流水作業(yè),故可高速執(zhí)行指令。當(dāng)然這種速度上的升躍,是以高可靠性為其后盾的。AVR單片機選型的話都需要注意以下幾點:
1.系統(tǒng)需要的I/O口數(shù)量,根據(jù)需要的I/O口數(shù)量確定需要多少PIN的單片機。當(dāng)然如果需要I/O過多的話,可以考慮擴展I/O的方法來解決。
2.系統(tǒng)的復(fù)雜程度,根據(jù)系統(tǒng)的復(fù)雜程度確定大概需要多少空間的ROM。一般在同樣情況下盡量選則ROM大一點的單片機。一般來說同樣的系統(tǒng)用RISC型單片機(比如AVR,PIC等)的程序編譯出來的長度要小于CISC型單片機(比如8051).當(dāng)然這個也可以擴展不過要增加電路的復(fù)雜程度和成本。
3.系統(tǒng)要求的速度,一般來說AVR單片機的速度是比較快的,相同的外接晶振AVR速度大于PIC遠(yuǎn)遠(yuǎn)大于8051.如果你的系統(tǒng)對運算要求比較高的話,可以考慮使用AVR.
4.芯片的價格。AVR芯片相對8051和PIC來說是比較貴的。
5.是否需要ISP?(幾乎所有的AVR均支持ISP)
6.是否需要內(nèi)部EEPROM,內(nèi)部集成EEPROM的單片機價格要比不集成EEPROM的貴。如果你系統(tǒng)不需要的話就不要用集成EEPROM的單片機。當(dāng)然如果必須要用到EEPROM就要買內(nèi)部集成的單片機。否則如果外部擴展EEPROM,一個占用I/O口,一個就是價格比較貴。
7.系統(tǒng)是否要用到A/D功能。同樣道理帶有A/D功能的單片機在同樣條件下,要比不帶此功能的芯片貴。
8.確定供應(yīng)商的生產(chǎn)情況,如果某一款芯片的系統(tǒng)開發(fā)出來以后,要讓供應(yīng)商保證至少在一段時間內(nèi)不能有停產(chǎn)的危機,否則就會很麻煩。
9.芯片的后綴也十分重要,很多人忽略了這點。其實一定要注意后綴,這個和價格也有關(guān)系的。(后綴一般表示這個芯片的使用等級:比如是民用級的,還是工業(yè)級的,還是軍用級的。這些和價格關(guān)系很大)。
AVR單片機的推出,徹底打破這種舊設(shè)計格局,廢除了機器周期,拋棄復(fù)雜指令計算機(CISC)追求指令 完備的做法;采用精簡指令集,以字作為指令長度單位,將內(nèi)容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短, 又可預(yù)取指令,實現(xiàn)流水作業(yè),故可高速執(zhí)行指令。當(dāng)然這種速度上的升躍,是以高可靠性為其后盾的。
AVR單片機硬件結(jié)構(gòu)采取8位機與16位 機的折中策略,即采用局部寄存器存堆(32個寄存器文件)和單體高速輸入/輸出的方案(即輸入捕獲寄存器、輸出比較匹配寄存器及相應(yīng)控制邏輯)。提高了指 令執(zhí)行速度(1Mips/MHz),克服了瓶頸現(xiàn)象,增強了功能;同時又減少了對外設(shè)管理的開銷,相對簡化了硬件結(jié)構(gòu),降低了成本。故AVR單片機在軟 /硬件開銷、速度、性能和成本諸多方面取得了優(yōu)化平衡,是高性價比的單片機。
AVR單片機內(nèi)嵌高質(zhì)量的Flash程序存儲器,擦寫方便,支 持ISP和IAP,便于產(chǎn)品的調(diào)試、開發(fā)、生產(chǎn)、更新。內(nèi)嵌長壽命的 EEProm可長期保存關(guān)鍵數(shù)據(jù),避免斷電丟失。片內(nèi)大容量的RAM不僅能滿足一般場合的使用,同時也更有效的支持使用高級語言開發(fā)系統(tǒng)程序,并可像 MCS-51單片機那樣擴展外部 RAM。