今天主要給大家介紹一下ATmega16,ATmega16是基于增強的AVR RISC結構的低功耗8 位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega16 的數據吞吐率高達1 MIPS/MHz,從而可以減緩系統在功耗和處理速度之間的矛盾。
從市場角度看AVR單片機:性價比:AVR大部分型號的性價比較高,性價比表現突出的型號有:atmega48、atmega8、atmega16、atmega169P。供貨方面:通用型號的AVR供貨較為穩定,非常規型號的AVR樣品及供貨仍存在問題。市場占有率:目前,AVR的市場占有率還是不如PIC與51,但,AVR的優點使得AVR的市場占有一直在擴展,AVR的年用量也一直在上漲。
ATmega16 具有一整套的編程與系統開發工具,包括:C 語言 編譯器、宏匯編、 程序調試器/ 軟件仿真器、仿真器及評估板。
ATmega16引腳圖
ATmega16是基于增強的AVR RISC結構的低功耗8 位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega16 的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統在功耗和處理速度之間的矛盾。
ATmega16 AVR 內核具有豐富的指令集和32 個通用工作寄存器。所有的寄存器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個時鐘周期內同時訪問兩個獨立的寄存器。這種結構大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10 倍的數據吞吐率。
ATmega16 有如下特點:16K字節的系統內可編程Flash(具有同時讀寫的能力,即RWW),512 字節EEPROM,1K 字節SRAM,32 個通用I/O 口線,32 個通用工作寄存器,用于邊界掃描的JTAG 接口,支持片內調試與編程,三個具有比較模式的靈活的定時器/ 計數器(T/C),片內/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益(TQFP 封裝) 的ADC ,具有片內振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。
工作于空閑模式時CPU 停止工作,而USART、兩線接口、A/D 轉換器、SRAM、T/C、SPI 端口以及中斷系統繼續工作;掉電模式時晶體振蕩器停止振蕩,所有功能除了中斷和硬件復位之外都停止工作;在省電模式下,異步定時器繼續運行,允許用戶保持一個時間基準,而其余功能模塊處于休眠狀態;ADC噪聲抑制模式時終止CPU和除了異步定時器與ADC以外所有I/O模塊的工作,以降低ADC轉換時的開關噪聲;Standby模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態,使得器件只消耗極少的電流,同時具有快速啟動能力;擴展Standby 模式下則允許振蕩器和異步定時器繼續工作。
本芯片是以Atmel高密度非易失性存儲器技術生產的。片內ISP Flash允許程序存儲器通過ISP串行接口,或者通用編程器進行編程,也可以通過運行于AVR 內核之中的引導程序進行編程。引導程序可以使用任意接口將應用程序下載到應用Flash存儲區(Application Flash Memory)。在更新應用Flash存儲區時引導Flash區(Boot Flash Memory)的程序繼續運行,實現了RWW 操作。通過將8位RISC CPU與系統內可編程的Flash 集成在一個芯片內, ATmega16 成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案。ATmega16 具有一整套的編程與系統開發工具,包括:C語言、編譯器、宏匯編、程序調試器/軟件仿真器、仿真器及評估板。
有人會問,ATmega16與 stc89c52單片機有何區別,首先要明確的一點是,ATmega16其實也算是一種單片機,但是又比stc89c52更加高級,具體區別如下:
1.架構不一樣,avr的執行效率高。
2.帶的flash,ram,eepom大小不一樣。
3.stc89c52不支持在線燒錄程序,A16支持isp在線下載
4.a16內帶rc振蕩,atc89c52必須外接振蕩電路
5.a16帶的外設多,有i2c,ad,da,pwm,通道數也不少
6.a16帶有usart在線調試功能。
總結就是:avr就是51基礎上的改進版