具體介紹
在AVR家族中,ATmega8是一種非常特殊的單片機,它的晶片內部集成了較大 容量的存儲器和豐富強大的硬體接口電路,具備AVR高檔單片機MEGE系列的全部性能和特點。但由於採用了小引腳封裝(為DIP 28和TQFP/MLF32),所以其價格僅與低檔單片機相當,再加上AVR單片機的系統內可程式特性,使得無需購買昂貴的仿真器和編程器也可進行單片機 嵌入式系統的設計和開發,同時也為單片機的初學者提供了非常方便和簡捷的學習開發環境。
ATmega8的這些特點,使其成為一款具有極高性能價格比的單片機,深受廣大單片機用戶的喜愛,在產品套用市場上極具競爭力,被很多家用電器廠商和儀器儀表行業看中,從而使ATmega8迅速進入大批量的套用領域。
ATmega系列單片機屬於AVR中的高檔產品,它承襲了AT90所具有的特點,並在AT90(如 AT9058515、AT9058535)的基礎上,增加了更多的接口功能,而且在省電性能、穩定性、抗干擾性以及靈活性方面考慮得更加周全和完善。
ATmega8 是一款採用低功耗CMOS工藝生產的基於AVR RISC結構的8位單片機。AVR單片機的核心是將32個工作暫存器和豐富的指令集聯結在一起,所有的工作暫存器都與ALU(算術邏輯單元)直接相連,實 現了在一個時鐘周期內執行的一條指令同時訪問(讀寫)兩個獨立暫存器的操作。這種結構提高了代碼效率,使得大部分指令的執行時間僅為一個時鐘周期。因此, ATmega8可以達到接近1MIPS/MHz的性能,運行速度比普通CISC單片機高出10倍。
詳細參數
ATmega8 參數 | | |
ATmega8 存儲器 | | |
Flash ROM | | 8KB |
SRAM | | 1024B |
EEPROM | | 512B |
ATmega8性能參數特性 | | |
工作頻率 | | 0-8MHz (ATmega8L) |
| 0-16MHz (ATmega8) | |
工作電壓 | | 2.7-5.5V (ATmega8L) |
| 4.5-5.5V (ATmega8) | |
I/O口 | | 23個 |
16位定時器 / 計數器 | | 1 |
8位定時器 / 計數器 | | 2 |
PWM | | 3 |
RTC | | YES |
SPI | | 1 |
UART | | 1 |
TWI | | YES |
10位ADC | | 6(DIP) 8(TQFP / MLF) |
模擬比較器 | | 1 |
WDT | | 1(帶獨立片內振盪器) |
外部中斷 | | 2 |
睡眠模式 | | 5種 |
硬體乘法器 | | YES |
片內振盪器 | | YES |
引腳電平中斷/喚醒功能 | | NO |
掉電檢測 | | YES |
上電復位 | | YES |
ATmega8封裝與引腳數 | | |
PDIP | | 28PIN |
QFP | | 32PIN |
QFN / MLF | | 32PIN |
ATmega8編程與調試方式 | | |
編程方式 | | ISP IAP H/PV |
仿真方式 | | 仿真頭接入, 模擬式仿真 |
4 ATmega8(L)
2486N–AVR–07/04
AVR 核心具有豐富的指令集和32 個通用工作暫存器。所有的暫存器都直接與算邏單元
(ALU) 相連線,使得一條指令可以在一個時鐘周期內同時訪問兩個獨立的暫存器。這種結
構大大提高了代碼效率,並且具有比普通的CISC 微控制器最高至10 倍的數據吞吐率。
ATmega8 有如下特點:8K 位元組的系統內可程式Flash( 具有同時讀寫的能力,即RWW),
512 位元組 EEPROM,1K 位元組 SRAM,32 個通用I/O 口線,32 個通用工作暫存器,三個
具有比較模式的靈活的定時器/ 計數器(T/C), 片內/ 外中斷,可程式串列USART,面向
位元組的兩線串列接口, 10 位6 路 (8 路為TQFP 與MLF 封裝)ADC,具有片內振盪器的
可程式看門狗定時器,一個SPI 串列連線埠,以及五種可以通過軟體進行選擇的省電模式。
工作於空閒模式時CPU 停止工作,而SRAM、T/C、 SPI 連線埠以及中斷系統繼續工作;
掉電模式時晶體振盪器停止振盪,所有功能除了中斷和硬體復位之外都停止工作;在省
電模式下,異步定時器繼續運行,允許用戶保持一個時間基準,而其餘功能模組處於休眠
狀態; ADC 噪聲抑制模式時終止CPU 和除了異步定時器與ADC 以外所有I/O 模組的工
作,以降低ADC 轉換時的開關噪聲; Standby 模式下只有晶體或諧振振盪器運行,其餘
功能模組處於休眠狀態,使得器件只消耗極少的電流,同時具有快速啟動能力。
本晶片是以Atmel 高密度非易失性存儲器技術生產的。片內ISP Flash 允許程式存儲器通
過ISP 串列接口,或者通用編程器進行編程,也可以通過運行於AVR 核心之中的引導程
序進行編程。引導程式可以使用任意接口將應用程式下載到套用Flash存儲區(Application
Flash Memory)。在更新套用Flash存儲區時引導Flash區(Boot Flash Memory)的程式繼續
運行,實現了RWW 操作。 通過將8 位RISC CPU 與系統內可程式的Flash 集成在一個
晶片內,ATmega8 成為一個功能強大的單片機,為許多嵌入式控制套用提供了靈活而低
成本的解決方案。
ATmega8 具有一整套的編程與系統開發工具,包括:C 語言編譯器、宏彙編、 程式調試
器/ 軟體仿真器、仿真器及評估板。
聲明本數據手冊的典型值來源於對器件的仿真,以及其他基於相同產生工藝的 AVR 微控制器
的標定特性。本器件經過特性化之後將給出實際的最大值和最小值。
5
ATmega8(L)
2486N–AVR–07/04
引腳說明
VCC 數字電路的電源。
GND 地。
連線埠B(PB7..PB0)
XTAL1/XTAL2/TOSC1/TOSC2
連線埠B 為8 位雙向I/O 口,具有可程式的內部上拉電阻。其輸出緩衝器具有對稱的驅動特
性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,連線埠被外部電路拉
低時將輸出電流。在復位過程中,即使系統時鐘還未起振,連線埠B 處於高阻狀態。
通過時鐘選擇熔絲位的設定, PB6 可作為反向振盪放大器或時鐘操作電路的輸入端。
通過時鐘選擇熔絲位的設定PB7 可作為反向振盪放大器的輸出端。
若將片內標定RC 振盪器作為晶片時鐘源,且ASSR 暫存器的AS2 位設定,PB7..6 作為
異步 T/C2 的TOSC2..1 輸入端。
連線埠B 的其他功能見P 55“ 連線埠B 的第二功能” 及P 22“ 系統時鐘及時鐘選項” 。
連線埠C(PC5..PC0) 連線埠C 為7 位雙向I/O 口,具有可程式的內部上拉電阻。其輸出緩衝器具有對稱的驅動特
性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,連線埠被外部電路拉
低時將輸出電流。在復位過程中,即使系統時鐘還未起振,連線埠C 處於高阻狀態。
PC6/RESET 若RSTDISBL 熔絲位編程, PC6 作為I/O 引腳使用。注意PC6 的電氣特性與連線埠C 的
其他引腳不同
若RSTDISBL 熔絲位未編程,PC6 作為復位輸入引腳。持續時間超過最小門限時間的低
電平將引起系統復位。門限時間見P 35Table 15 。持續時間小於門限時間的脈衝不能保
證可靠復位。
連線埠C 的其他功能見後。
連線埠D(PD7..PD0) 連線埠D 為8 位雙向I/O 口,具有可程式的內部上拉電阻。其輸出緩衝器具有對稱的驅動特
性,可以輸出和吸收大電流。作為輸入使用時,若內部上拉電阻使能,則連線埠被外部電路
拉低時將輸出電流。在復位過程中,即使系統時鐘還未起振,連線埠D 處於高阻狀態。
連線埠D 的其他功能見後。
RESET 復位輸入引腳。持續時間超過最小門限時間的低電平將引起系統復位。門限時間見 P
35Table 15 。持續時間小於門限時間的脈衝不能保證可靠復位。
30 ATmega8(L)
2486N–AVR–07/04
電源管理及睡眠模式睡眠模式可以使應用程式關閉MCU 中沒有使用的模組,從而降低功耗。AVR 具有不同
的睡眠模式,允許用戶根據自己的套用要求實施剪裁。
進入睡眠模式的條件是置位暫存器MCUCR 的SE,然後執行SLEEP 指令。具體哪一種
模式( 空閒模式、ADC 噪聲抑制模式、掉電模式、省電模式及Standby 模式) 由MCUCR
的SM2、SM1 和SM0 決定,如Table 13 所示。使能的中斷可以將進入睡眠模式的MCU
喚醒。經過啟動時間,外加4 個時鐘周期後, MCU 就可以運行中斷例程了。然後返回到
SLEEP的下一條指令。喚醒時不會改變暫存器檔案和SRAM的內容。如果在睡眠過程中發
生了復位,則MCU 喚醒後從中斷向量開始執行。
注意,由於TOSC 與XTAL 共用同一引腳,對於許多AVR MCU 中有的擴展Standby 模
式在ATmega8 中已刪除。
P 22Figure 10 介紹了ATmega8不同的時鐘系統及其分布。此圖在選擇合適的睡眠模式時
非常有用。
MCU 控制暫存器- MCUCR MCU 控制暫存器包含了電源管理的控制位。
· Bit 7 – SE: 休眠使能
為了使MCU 在執行SLEEP 指令後進入休眠模式, SE 必須置位。為了確保進入休眠模
式是程式設計師的有意行為,建議僅在SLEEP 指令的前一條指令置位SE。MCU 一旦喚醒立
即清除SE。
· Bits 6..4 – SM2..0: 休眠模式選擇位 2、1 和0
如 Table 13 所示,這些位用於選擇具體的休眠模式。
Note: 1. 僅在使用外部晶體或諧振器時Standby 模式才可用。
Bit 7 6 5 4 3 2 1 0
SE SM2 SM1 SM0 ISC11 ISC10 ISC01 ISC00 MCUCR
讀/ 寫R/W R/W R/W R/W R/W R/W R/W R/W
初始值0 0 0 0 0 0 0 0
Table 13. 休眠模式選擇
SM2 SM1 SM0 休眠模式
0 0 0 空閒模式
0 0 1 ADC 噪聲抑制模式
0 1 0 掉電模式
0 1 1 省電模式
1 0 0 保留
1 0 1 保留
1 1 0 Standby(1) 模式