Atmega8
Atmega8
ATmega8 是ATMEL公司在2002年第一季度推出的一款新型AVR高檔單片機。是一種非常特殊的單片機,採用了小引腳封裝。
ATmega8 有2個具有比較模式的帶預分頻器( Separate Prescale)的 8位定時/計數器。1個帶預分頻器(SeParat Prescale),具有比較和捕獲模式的 16位定時/計數器。
在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倍。
內部特點:
·高性能、低功耗的8位AVR微處理器。
·先進的RISC 結構。
·130 條指令—— 大多數指令執行時間為單個時鐘周期。
·32個8 位通用工作寄存器。
·全靜態工作。
·工作於16 MHz 時性能高達16 MIPS。
·只需兩個時鐘周期的硬體乘法器。
·非易失性程序和數據存儲器。
·8K 位元組的系統內可編程Flash。
·擦寫壽命:10,000 次。
·具有獨立鎖定位的可選Boot代碼區。
·通過片上Boot 程序實現系統內編程。
·真正的同時讀寫操作。
·512位元組的EEPROM。
·1K位元組的片內SRAM。
·可以對鎖定位進行編程以實現用戶程序的加密。
外設特點:
·1個具有獨立振蕩器的非同步實時時鐘(RTC)。
·3個PWM通道,可實現任意<16位、相位和頻率可調的PWM脈寬調製輸出。
·8通道 A/D轉換(TQFP、MLF封裝),6路10位 A/D+2路8位A/D。
·6通道 A/D轉換(PDIP封裝),4路10位A/D+2路8位A/D。
·1個I2C的串列介面,支持主/從、收/發四種工作方式,支持自動匯流排仲裁。
·1個可編程的串列USART介面,支持同步、非同步以及多機通信自動地址識別。
·1個支持主/從(Master/Slave)、收/發的SPI同步串列介面。
·帶片內RC振蕩器的可編程看門狗定時器。
·片內模擬比較器。
特殊的處理器特點
·上電複位以及可編程的欠電壓檢測電路。
·內部集成了可選擇頻率(l/2/4/8MHZ)、可校準的RC振蕩器。
·外部和內部的中斷源18個。
·5種睡眠模式: 五種睡眠模式:空閑模式(Idle)、ADC雜訊抑制模式(ADC Noise Reduction)、省電模式(Power-save)、掉電模式(Power-down)、待命模式(Standby)。
I/O 和封裝
·28腳PDIP封裝,32腳TQFP封裝和 32腳MLF封裝。
· 工作電壓
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
· 速度等級
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
· 4 Mhz 時功耗, 3V, 25°C
– 工作模式: 3.6 mA
– 空閑模式: 1.0 mA
– 掉電模式: 0.5 μA
特別注意:
ATMEGA8是不帶任何的模擬介面的,所以要對mega8模擬是需要接入模擬頭,或者採用mega88來做前期的開發,批量生產時可將程序移植到mega8,程序中的寄存器名稱需做修改。
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) 模式