<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > avr單片機(jī)的特點(diǎn)及優(yōu)點(diǎn)

          avr單片機(jī)的特點(diǎn)及優(yōu)點(diǎn)

          作者: 時間:2011-11-08 來源:網(wǎng)絡(luò) 收藏

          AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。

          的特點(diǎn)及優(yōu)點(diǎn)

            高可靠性、功能強(qiáng)、高速度、低功耗和低價位 , 一直是衡量單片機(jī)性能的重要指標(biāo),也是單片機(jī)占領(lǐng)市場、賴以生存的必要條件。
            早期單片機(jī)主要由于工藝及設(shè)計(jì)水平不高、功耗高和抗干擾性能差等原因,所以采取穩(wěn)妥方案:即采用較高的分頻系數(shù)對時鐘分頻,使得指令周期長,執(zhí)行速度慢。以后的 CMOS單片機(jī)雖然采用提高時鐘頻率和縮小分頻系數(shù)等措施,但這種狀態(tài)并未被徹底改觀(51以及51兼容)。此間雖有某些精簡指令集單片機(jī)(RISC)問世,但依然沿襲對時鐘分頻的作法。
            AVR單片機(jī)的推出,徹底打破這種舊設(shè)計(jì)格局,廢除了機(jī)器周期,拋棄復(fù)雜指令計(jì)算機(jī)(CISC)追求指令完備的做法;采用精簡指令集,以字作為指令長度單位,將內(nèi)容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短,又可預(yù)取指令,實(shí)現(xiàn)流水作業(yè),故可高速執(zhí)行指令。當(dāng)然這種速度上的升躍,是以高可靠性為其后盾的。
            AVR單片機(jī)硬件結(jié)構(gòu)采取8位機(jī)與16位機(jī)的折中策略,即采用局部寄存器存堆(32個寄存器文件)和單體高速輸入/輸出的方案(即輸入捕獲寄存器、輸出比較匹配寄存器及相應(yīng)控制邏輯)。提高了指令執(zhí)行速度(1Mips/MHz),克服了瓶頸現(xiàn)象,增強(qiáng)了功能;同時又減少了對外設(shè)管理的開銷,相對簡化了硬件結(jié)構(gòu),降低了成本。故AVR單片機(jī)在軟/硬件開銷、速度、性能和成本諸多方面取得了優(yōu)化平衡,是高性價比的單片機(jī)。
            AVR單片機(jī)內(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單片機(jī)那樣擴(kuò)展外部 RAM。
            AVR單片機(jī)的I/O線全部帶可設(shè)置的上拉電阻、可單獨(dú)設(shè)定為輸入/輸出、可設(shè)定(初始)高阻輸入、驅(qū)動能力強(qiáng)(可省去功率驅(qū)動器件)等特性,使的得I/O口資源靈活、功能強(qiáng)大、可充分利用。
            AVR單片機(jī)片內(nèi)具備多種獨(dú)立的時鐘分頻器,分別供URAT、I2C、SPI使用。其中與8/16位定時器配合的具有多達(dá)10 位的預(yù)分頻器,可通過軟件設(shè)定分頻系數(shù)提供多種檔次的定時時間。AVR單片機(jī)獨(dú)有的“以定時器/計(jì)數(shù)器(單)雙向計(jì)數(shù)形成三角波,再與輸出比較匹配寄存器配合,生成占空比可變、頻率可變、相位可變方波的設(shè)計(jì)方法(即脈寬調(diào)制輸出PWM)”更是令人耳目一新。
            增強(qiáng)性的高速同/異步串口,具有硬件產(chǎn)生校驗(yàn)碼、硬件檢測和校驗(yàn)偵錯、兩級接收緩沖、波特率自動調(diào)整定位(接收時)、屏蔽數(shù)據(jù)幀等功能,提高了通信的可靠性,方便程序編寫,更便于組成分布式網(wǎng)絡(luò)和實(shí)現(xiàn)多機(jī)通信系統(tǒng)的復(fù)雜應(yīng)用,串口功能大大超過MCS-51/96單片機(jī)的串口,加之AVR單片機(jī)高速,中斷服務(wù)時間短,故可實(shí)現(xiàn)高波特率通訊。
            面向字節(jié)的高速硬件串行接口TWI、SPI。TWI與I2C接口兼容,具備ACK信號硬件發(fā)送與識別、地址識別、總線仲裁等功能,能實(shí)現(xiàn)主/從機(jī)的收/發(fā)全部4種組合的多機(jī)通信。SPI支持主/從機(jī)等4種組合的多機(jī)通信。
            AVR單片機(jī)有自動上電復(fù)位電路、獨(dú)立的看門狗電路、低電壓檢測電路BOD,多個復(fù)位源(自動上下電復(fù)位、外部復(fù)位、看門狗復(fù)位、BOD復(fù)位),可設(shè)置的啟動后延時運(yùn)行程序,增強(qiáng)了嵌入式系統(tǒng)的可靠性。
            AVR單片機(jī)具有多種省電休眠模式,且可寬電壓運(yùn)行(5-2.7V),抗干擾能力強(qiáng),可降低一般8位機(jī)中的軟件抗干擾設(shè)計(jì)工作量和硬件的使用量。
            AVR單片機(jī)技術(shù)體現(xiàn)了單片機(jī)集多種器件(包括FLASH程序存儲器、看門狗、EEPROM、同/異步串行口、TWI、SPI、A/D模數(shù)轉(zhuǎn)換器、定時器/計(jì)數(shù)器等)和多種功能(增強(qiáng)可靠性的復(fù)位系統(tǒng)、降低功耗抗干擾的休眠模式、品種多門類全的中斷系統(tǒng)、具輸入捕獲和比較匹配輸出等多樣化功能的定時器/計(jì)數(shù)器、具替換功能的I/O端口…… )于一身,充分體現(xiàn)了單片機(jī)技術(shù)的從“片自為戰(zhàn)”向“片上系統(tǒng)SoC”過渡的發(fā)展方向。

            綜上所述,AVR單片機(jī)博采眾長,又具獨(dú)特技術(shù),不愧為8位機(jī)中的佼佼者。

          AVR系列單片機(jī)的選型

           AVR單片機(jī)系列齊全,可適用于各種不同場合的要求。AVR單片機(jī)有3個檔次:

          低檔Tiny系列AVR單片機(jī): 主要有Tiny11/12/13/15/26/28等;

          中檔AT90S系列AVR 單片機(jī): 主要有AT90S1200/2313/8515/8535等; (正在淘汰或轉(zhuǎn)型到Mega中)

          高檔ATmega系列AVR單片機(jī): 主要有ATmega8/16/32/64/128( 存儲容量為8/16/32/64/128 KB)以及ATmega8515/8535等。

           AVR器件引腳從8腳到64腳, 還有各種不同封裝供選擇。詳細(xì)的選型信息可以參考本網(wǎng)站的AVR單片機(jī)全系列性能參數(shù)表。



          關(guān)鍵詞: avr單片機(jī)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();