– 130 Powerful Instructions – Most Single-clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 16 MIPS Throughput at 16 MHz
– On-chip 2-cycle Multiplier
• Nonvolatile Program and Data Memories
– 8K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode
– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Three PWM Channels
– 8-channel ADC in TQFP and QFN/MLF package
Eight Channels 10-bit Accuracy
– 6-channel ADC in PDIP package
Eight Channels 10-bit Accuracy
– Byte-oriented Two-wire Serial Interface
– Programmable Serial USART
– Master/Slave SPI Serial Interface
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
• Special Microcontroller Features
– Power-on Reset and Programmable Brown-out Detection
– Internal Calibrated RC Oscillator
– External and Internal Interrupt Sources
– Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and
NOTE:
The large center pad underneath the MLF
packages is made of metal and internally
connected to GND. It should be soldered
or glued to the PCB to ensure good
mechanical stability. If the center pad is
left unconneted, the package might
loosen from the PCB.
2486QS–AVR–10/06
Page 3
ATmega8(L)
OverviewThe ATmega8 is a low-power CMOS 8-bit microcontroller based on the AVR RISC
architecture. By executing powerful instructions in a single clock cycle, the ATmega8
achieves throughputs approaching 1 MIPS per MHz, allowing the system designer to
optimize power consumption versus processing speed.
Block DiagramFigure 1. Block Diagram
XTAL1
RESET
VCC
PC0 - PC6PB0 - PB7
XTAL2
GND
AGND
AREF
PORTC DRIVERS/BUFFERS
PORTC DIGITAL INTERFACE
MUX &
ADC
PROGRAM
COUNTER
PROGRAM
FLASH
INSTRUCTION
REGISTER
INSTRUCTION
DECODER
CONTROL
LINES
AVR CPU
ADC
INTERFACE
STACK
POINTER
SRAM
GENERAL
PURPOSE
REGISTERS
X
Y
Z
ALU
STATUS
REGISTER
PORTB DRIVERS/BUFFERS
PORTB DIGITAL INTERFACE
TWI
TIMERS/
COUNTERS
INTERNAL
OSCILLATOR
WATCHDOG
TIMER
MCU CTRL.
& TIMING
INTERRUPT
UNIT
EEPROM
OSCILLATOR
OSCILLATOR
2486QS–AVR–10/06
PROGRAMMING
LOGIC
+
-
SPI
COMP.
INTERFACE
USART
PORTD DIGITAL INTERFACE
PORTD DRIVERS/BUFFERS
PD0 - PD7
3
Page 4
The AVR core combines a rich instruction set with 32 general purpose working registers.
All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing
two independent registers to be accessed in one single instruction executed in one clock
cycle. The resulting architecture is more code efficient while achieving throughputs up to
ten times faster than conventional CISC microcontrollers.
The ATmega8 provides the following features: 8K bytes of In-System Programmable
Flash with Read-While-Write capabilities, 512 bytes of EEPROM, 1K byte of SRAM, 23
general purpose I/O lines, 32 general purpose working registers, three flexible
Timer/Counters with compare modes, internal and external interrupts, a serial programmable USART, a byte oriented Two-wire Serial Interface, a 6-channel ADC (eight
channels in TQFP and QFN/MLF packages) with 10-bit accuracy, a programmable
Watchdog Timer with Internal Oscillator, an SPI serial port, and five software selectable
power saving modes. The Idle mode stops the CPU while allowing the SRAM,
Timer/Counters, SPI port, and interrupt system to continue functioning. The Powerdown mode saves the register contents but freezes the Oscillator, disabling all other
chip functions until the next Interrupt or Hardware Reset. In Power-save mode, the
asynchronous timer continues to run, allowing the user to maintain a timer base while
the rest of the device is sleeping. The ADC Noise Reduction mode stops the CPU and
all I/O modules except asynchronous timer and ADC, to minimize switching noise during
ADC conversions. In Standby mode, the crystal/resonator Oscillator is running while the
rest of the device is sleeping. This allows very fast start-up combined with low-power
consumption.
The device is manufactured using Atmel’s high density non-volatile memory technology.
The Flash Program memory can be reprogrammed In-System through an SPI serial
interface, by a conventional non-volatile memory programmer, or by an On-chip boot
program running on the AVR core. The boot program can use any interface to download
the application program in the Application Flash memory. Software in the Boot Flash
Section will continue to run while the Application Flash Section is updated, providing
true Read-While-Write operation. By combining an 8-bit RISC CPU with In-System SelfProgrammable Flash on a monolithic chip, the Atmel ATmega8 is a powerful microcontroller that provides a highly-flexible and cost-effective solution to many embedded
control applications.
The ATmega8 AVR is supported with a full suite of program and system development
tools, including C compilers, macro assemblers, program debugger/simulators, In-Circuit Emulators, and evaluation kits.
DisclaimerTypical values contained in this datasheet are based on simulations and characteriza-
tion of other AVR microcontrollers manufactured on the same process technology. Min
and Max values will be available after the device is characterized.
4
ATmega8(L)
2486QS–AVR–10/06
Page 5
Pin Descriptions
VCCDigital supply voltage.
GNDGround.
ATmega8(L)
Port B (PB7..PB0)
XTAL1/XTAL2/TOSC1/TOSC2
Port C (PC5..PC0)Port C is an 7-bit bi-directional I/O port with internal pull-up resistors (selected for each
PC6/RESET
Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each
bit). The Port B output buffers have symmetrical drive characteristics with both high sink
and source capability. As inputs, Port B pins that are externally pulled low will source
current if the pull-up resistors are activated. The Port B pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
Depending on the clock selection fuse settings, PB6 can be used as input to the inverting Oscillator amplifier and input to the internal clock operating circuit.
Depending on the clock selection fuse settings, PB7 can be used as output from the
inverting Oscillator amplifier.
If the Internal Calibrated RC Oscillator is used as chip clock source, PB7..6 is used as
TOSC2..1 input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.
The various special features of Port B are elaborated in “Alternate Functions of Port B”
on page 58 and “System Clock and Clock Options” on page 25.
bit). The Port C output buffers have symmetrical drive characteristics with both high sink
and source capability. As inputs, Port C pins that are externally pulled low will source
current if the pull-up resistors are activated. The Port C pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the electrical characteristics of PC6 differ from those of the other pins of Port C.
If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level on
this pin for longer than the minimum pulse length will generate a Reset, even if the clock
is not running. The minimum pulse length is given in Table 15 on page 38. Shorter
pulses are not guaranteed to generate a Reset.
The various special features of Port C are elaborated on page 61.
Port D (PD7..PD0)Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each
bit). The Port D output buffers have symmetrical drive characteristics with both high sink
and source capability. As inputs, Port D pins that are externally pulled low will source
current if the pull-up resistors are activated. The Port D pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
Port D also serves the functions of various special features of the ATmega8 as listed on
page 63.
RESET
Reset input. A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running. The minimum pulse length is given in Table
15 on page 38. Shorter pulses are not guaranteed to generate a reset.
2486QS–AVR–10/06
5
Page 6
AV
CC
AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), and ADC (7..6). It
should be externally connected to V
it should be connected to V
supply voltage, V
CC
.
through a low-pass filter. Note that Port C (5..4) use digital
CC
, even if the ADC is not used. If the ADC is used,
CC
AREFAREF is the analog reference pin for the A/D Converter.
ADC7..6 (TQFP and QFN/MLF
Package Only)
In the TQFP and QFN/MLF package, ADC7..6 serve as analog inputs to the A/D converter. These pins are powered from the analog supply and serve as 10-bit ADC
channels.
6
ATmega8(L)
2486QS–AVR–10/06
Page 7
ATmega8(L)
ResourcesA comprehensive set of development tools, application notes and datasheets are avail-
0x00 (0x20)TWBRTwo-wire Serial Interface Bit Rate Register171
TWS6TWS5TWS4TWS3
–
Notes:1. Refer to the USART description for details on how to access UBRRH and UCSRC.
2. For compatibility with future devices, reserved bits should be written to zero if accessed. Reserved I/O memory addresses
should never be written.
3. Some of the Status Flags are cleared by writing a logical one to them. Note that the CBI and SBI instructions will operate on
all bits in the I/O Register, writing a one back into any flag read as set, thus clearing the flag. The CBI and SBI instructions
work with registers 0x00 to 0x1F only.
TWPS1TWPS0
173
2486QS–AVR–10/06
9
Page 10
Instruction Set Summary
MnemonicsOperandsDescriptionOperationFlags#Clocks
ARITHMETIC AND LOGIC INSTRUCTIONS
ADDRd, RrAdd two RegistersRd ← Rd + RrZ,C,N,V,H1
ADCRd, RrAdd with Carry two RegistersRd ← Rd + Rr + CZ,C,N,V,H1
ADIWRdl,KAdd Immediate to WordRdh:Rdl ← Rdh:Rdl + KZ,C,N,V,S2
SUBRd, RrSubtract two RegistersRd ← Rd - RrZ,C,N,V,H1
SUBIRd, KSubtract Constant from Register Rd ← Rd - KZ,C,N,V,H1
SBCRd, RrSubtract with Carry two RegistersRd ← Rd - Rr - CZ,C,N,V,H1
SBCIRd, KSubtract with Carry Constant from Reg.Rd ← Rd - K - CZ,C,N,V,H1
SBIWRdl,KSubtract Immediate from WordRdh:Rdl ← Rdh:Rdl - KZ,C,N,V,S2
ANDRd, RrLogical AND RegistersRd ← Rd • RrZ,N,V1
ANDIRd, KLogical AND Register and ConstantRd ← Rd • KZ,N,V1
ORRd, RrLogical OR RegistersRd ← Rd v RrZ,N,V1
ORIRd, KLogical OR Register and ConstantRd ← Rd v KZ,N,V1
EORRd, RrExclusive OR RegistersRd ← Rd ⊕ RrZ,N,V1
COMRdOne’s ComplementRd ← 0xFF − RdZ,C,N,V1
NEGRdTwo’s ComplementRd ← 0x00 − RdZ,C,N,V,H1
SBRRd,KSet Bit(s) in RegisterRd ← Rd v KZ,N,V1
CBRRd,KClear Bit(s) in RegisterRd ← Rd • (0xFF - K)Z,N,V1
INCRdIncrementRd ← Rd + 1Z,N,V1
DECRdDecrementRd ← Rd − 1 Z,N,V1
TSTRdTest for Zero or MinusRd ← Rd • Rd Z,N,V1
CLRRdClear RegisterRd ← Rd ⊕ RdZ,N,V1
SERRdSet RegisterRd ← 0xFFNone1
MULRd, RrMultiply UnsignedR1:R0 ← Rd x RrZ,C2
MULSRd, RrMultiply SignedR1:R0 ← Rd x RrZ,C2
MULSURd, RrMultiply Signed with UnsignedR1:R0 ← Rd x RrZ,C2
FMULRd, RrFractional Multiply UnsignedR1:R0 ← (Rd x Rr) << 1Z,C2
FMULSRd, RrFractional Multiply SignedR1:R0 ← (Rd x Rr) << 1Z,C2
FMULSURd, RrFractional Multiply Signed with UnsignedR1:R0 ← (Rd x Rr) << 1Z,C2
BRANCH INSTRUCTIONS
RJMPkRelative JumpPC ← PC + k + 1None2
IJMPIndirect Jump to (Z)PC ← Z None2
RCALLkRelative Subrout i ne Call PC ← PC + k + 1None3
ICALLIndirect Call to (Z)PC ← ZNone3
RETSubroutine ReturnPC ← STACKNone4
RETIInterrupt ReturnPC ← STACKI4
CPSERd,RrCompare, Skip if Equalif (Rd = Rr) PC ← PC + 2 or 3None1 / 2 / 3
CPRd,RrCompareRd − RrZ, N,V,C,H1
CPCRd,RrCompare with CarryRd − Rr − CZ, N,V,C,H1
CPIRd,KCompare Register with ImmediateRd − KZ, N,V,C,H1
SBRCRr, bSkip if Bit in Register Clearedif (Rr(b)=0) PC ← PC + 2 or 3 None1 / 2 / 3
SBRSRr, bSkip if Bit in Register is Setif (Rr(b)=1) PC ← PC + 2 or 3None1 / 2 / 3
SBICP, bSkip if Bit in I/O Register Clearedif (P(b)=0) PC ← PC + 2 or 3 None1 / 2 / 3
SBISP, bSkip if Bit in I/O Register is Setif (P(b)=1) PC ← PC + 2 or 3None1 / 2 / 3
BRBSs, kBranch if Status Flag Setif (SREG(s) = 1) then PC←PC+k + 1None1 / 2
BRBCs, kBranch if Status Flag Clearedif (SREG(s) = 0) then PC←PC+k + 1None1 / 2
BREQ kBranch if Equal if (Z = 1) then PC ← PC + k + 1None1 / 2
BRNE kBranch if Not Equalif (Z = 0) then PC ← PC + k + 1None1 / 2
BRCS kBranch if Carry Setif (C = 1) then PC ← PC + k + 1None1 / 2
BRCC kBranch if Carry Clearedif (C = 0) then PC ← PC + k + 1None1 / 2
BRSH kBranch if Same or Higher if (C = 0) then PC ← PC + k + 1None1 / 2
BRLO kBranch if Lowerif (C = 1) then PC ← PC + k + 1None1 / 2
BRMI kBranch if Minusif (N = 1) then PC ← PC + k + 1None1 / 2
BRPL kBranch if Plus if (N = 0) then PC ← PC + k + 1None1 / 2
BRGE kBranch if Greater or Equal, Signedif (N ⊕ V= 0) then PC ← PC + k + 1None1 / 2
BRLT kBranch if Less Than Zero, Signedif (N ⊕ V= 1) then PC ← PC + k + 1None1 / 2
BRHS kBranch if Half Carry Flag Setif (H = 1) then PC ← PC + k + 1None1 / 2
BRHC kBranch if Half Carry Flag Clearedif (H = 0) then PC ← PC + k + 1None1 / 2
BRTS kBranch if T Flag Setif (T = 1) then PC ← PC + k + 1None1 / 2
BRTC kBranch if T Flag Clearedif (T = 0) then PC ← PC + k + 1None1 / 2
BRVS kBranch if Overflow Flag is Setif (V = 1) then PC ← PC + k + 1None1 / 2
BRVC kBranch if Overflow Flag is Clearedif (V = 0) then PC ← PC + k + 1None1 / 2
MnemonicsOperandsDescriptionOperationFlags#Clocks
10
ATmega8(L)
2486QS–AVR–10/06
Page 11
ATmega8(L)
Instruction Set Summary (Continued)
BRIE kBranch if Interrupt Enabledif ( I = 1) then PC ← PC + k + 1None1 / 2
BRID kBranch if Interrupt Disabledif ( I = 0) then PC ← PC + k + 1None1 / 2
DATA TRANSFER INSTRUCTIONS
MOVRd, RrMove Between RegistersRd ← RrNone1
MOVWRd, RrCopy Register Word
LDIRd, KLoad ImmediateRd ← KNone1
LDRd, XLoad IndirectRd ← (X)None2
LDRd, X+Load Indirect and Post-Inc.Rd ← (X), X ← X + 1None2
LDRd, - XLoad Indirect and Pre-Dec.X ← X - 1, Rd ← (X)None2
LDRd, YLoad IndirectRd ← (Y)None2
LDRd, Y+Load Indirect and Post-Inc.Rd ← (Y), Y ← Y + 1None2
LDRd, - YLoad Indirect and Pre-Dec.Y ← Y - 1, Rd ← (Y)None2
LDDRd,Y+qLoad Indirect with DisplacementRd ← (Y + q)None2
LDRd, ZLoad Indirect Rd ← (Z)None2
LDRd, Z+Load Indirect and Post-Inc.Rd ← (Z), Z ← Z+1None2
LDRd, -ZLoad Indirect and Pre-Dec.Z ← Z - 1, Rd ← (Z)None2
LDDRd, Z+qLoad Indirect with DisplacementRd ← (Z + q)None2
LDSRd, kLoad Dir ect from SRAMRd ← (k)None2
STX, RrStore Indirect(X) ← RrNone2
STX+, RrStore Indirect and Post-Inc.(X) ← Rr, X ← X + 1None2
ST- X, RrStore Indirect and Pre-Dec.X ← X - 1, (X) ← RrNone2
STY, RrStore Indirect(Y) ← RrNone2
STY+, RrStore Indirect and Post-Inc.(Y) ← Rr, Y ← Y + 1None2
ST- Y, RrStore Indirect and Pre-Dec.Y ← Y - 1, (Y) ← RrNone2
STDY+q,RrStore Indirect with Displacement(Y + q) ← RrNone2
STZ, RrStore Indirect(Z) ← RrNone2
STZ+, RrStore Indirect and Post-Inc.(Z) ← Rr, Z ← Z + 1None2
ST-Z, RrStore Indirect and Pre-Dec.Z ← Z - 1, (Z) ← RrNone2
STDZ+q,RrStore Indirect with Displacement(Z + q) ← RrNone2
STSk, RrStore Direct to SRAM(k) ← RrNone2
LPMLoad Program MemoryR0 ← (Z)None3
LPMRd, ZLoad Program MemoryRd ← (Z)None3
LPMRd, Z+Load Program Memory and Post-IncRd ← (Z), Z ← Z+1None3
SPMStore Program Memory(Z) ← R1:R0NoneINRd, PIn PortRd ← PNone1
OUTP, RrOut PortP ← RrNone1
PUSHRrPush Register on StackSTACK ← RrNone2
POPRdPop Register from StackRd ← STACKNone2
BIT AND BIT-TEST INSTRUCTIONS
SBIP,bSet Bit in I/O RegisterI/O(P,b) ← 1None2
CBIP,bClear Bit in I/O RegisterI/O (P ,b) ← 0None2
LSLRdLogical Shift LeftRd(n+1) ← Rd(n), Rd(0) ← 0Z,C,N,V1
LSRRdLogical Shift RightRd(n) ← Rd(n+1), Rd(7) ← 0Z,C,N,V1
ROLRdRotate Left Through CarryRd(0)←C,Rd(n+1)← Rd(n),C←Rd(7)Z,C,N,V1
RORRdRotate Right Through CarryRd(7)←C,Rd(n)← Rd(n+1),C←Rd(0)Z,C,N,V1
ASRRdArithmetic Shift RightRd(n) ← Rd(n+1), n=0..6Z,C,N,V1
SWAPRdSwap Nibble sRd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0)None1
BSETsFlag SetSREG(s) ← 1SREG(s)1
BCLRsFlag ClearSREG(s) ← 0 SREG(s)1
BSTRr, bBit Store from Register to TT ← Rr(b)T1
BLDRd, bBit load from T to RegisterRd(b) ← TNone1
SECSet CarryC ← 1C1
CLCClear CarryC ← 0 C1
SENSet Negative FlagN ← 1N1
CLNClear Negative FlagN ← 0 N1
SEZSet Zero FlagZ ← 1Z1
CLZClear Zero FlagZ ← 0 Z1
SEIGlobal Interrupt EnableI ← 1I1
CLIGlobal Interrupt DisableI ← 0 I1
SESSet Signed Test FlagS ← 1S1
CLSClear Signed Test FlagS ← 0 S1
SEVSet Twos Complement Overflow.V ← 1V1
CLVClear Twos Complement OverflowV ← 0 V1
SETSet T in SREGT ← 1T1
MnemonicsOperandsDescriptionOperationFlags#Clocks
Rd+1:Rd ← Rr+1:Rr
None1
2486QS–AVR–10/06
11
Page 12
Instruction Set Summary (Continued)
CLTClear T in SREGT ← 0 T1
SEHSet Half Carry Flag in SREGH ← 1H1
CLHClear Half Carry Flag in SREGH ← 0 H1
MCU CONTROL INSTRUCTIONS
NOPNo OperationNone1
SLEEPSleep(see specific descr. for Sleep function)None1
WDRWatchdog Reset(see specific descr. for WDR/timer)None1
12
ATmega8(L)
2486QS–AVR–10/06
Page 13
Ordering Information
Speed (MHz)Power SupplyOrdering CodePackage
ATmega8L-8AC
ATmega8L-8PC
ATmega8L-8MC
82.7 - 5.5
164.5 - 5.5
ATmega8L-8AI
ATmega8L-8AU
ATmega8L-8PI
ATmega8L-8PU
ATmega8L-8MI
ATmega8L-8MU
ATmega8-16AC
ATmega8-16PC
ATmega8-16MC
ATmega8-16AI
ATmega8-16AU
ATmega8-16PI
ATmega8-16PU
ATmega8-16MI
ATmega8-16MU
(2)
(2)
(2)
(2)
(2)
(2)
32A
28P3
32M1-A
32A
32A
28P3
28P3
32M1-A
32M1-A
32A
28P3
32M1-A
32A
32A
28P3
28P3
32M1-A
32M1-A
ATmega8(L)
(1)
Operation Range
Commercial
(0
°C to 70°C)
Industrial
°C to 85°C)
(-40
Commercial
(0°C to 70°C)
Industrial
°C to 85°C)
(-40
Notes:1. This device can also be supplied in wafer form. Please contact your local Atmel sales office for detailed ordering information
and minimum quantities.
2. Pb-free packaging alternative, complies to the European Directive for Restriction of Hazardous Substances (RoHS directive). Also Halide free and fully Green.
32M1-A32-pad, 5 x 5 x 1.0 body, Lead Pitch 0.50 mm Quad Flat No-Lead/Micro Lead Frame Package (QFN/MLF)
2486QS–AVR–10/06
13
Page 14
Packaging Information
32A
PIN 1
B
PIN 1 IDENTIFIER
e
E1E
D1
D
C
0˚~7˚
A1
L
Notes:1. This package conforms to JEDEC reference MS-026, Variation ABA.
2. Dimensions D1 and E1 do not include mold protrusion. Allowable
protrusion is 0.25 mm per side. Dimensions D1 and E1 are maximum
plastic body size dimensions including mold mismatch.
3. Lead coplanarity is 0.10 mm maximum.
A2A
SYMBOL
COMMON DIMENSIONS
(Unit of Measure = mm)
MIN
A––1.20
A10.05–0.15
A2 0.951.001.05
D8.759.009.25
D16.907.007.10Note 2
E8.759.009.25
E16.907.007.10Note 2
B 0.30–0.45
C0.09–0.20
L0.45– 0.75
e0.80 TYP
NOM
MAX
NOTE
14
2325 Orchard Parkway
R
San Jose, CA 95131
ATmega8(L)
TITLE
32A, 32-lead, 7 x 7 mm Body Size, 1.0 mm Body Thickness,
0.8 mm Lead Pitch, Thin Profile Plastic Quad Flat Package (TQFP)
10/5/2001
DRAWING NO.
32A
2486QS–AVR–10/06
REV.
B
Page 15
28P3
PIN
1
E1
A1
B
REF
E
B1
C
L
SEATING PLANE
A
ATmega8(L)
D
e
eB
Note:1. Dimensions D and E1 do not include mold Flash or Protrusion.
Mold Flash or Protrusion shall not exceed 0.25 mm (0.010").
2325 Orchard Parkway
R
San Jose, CA 95131
TITLE
28P3, 28-lead (0.300"/7.62 mm Wide) Plastic Dual
Inline Package (PDIP)
0º ~ 15º
B2
(4 PLACES)
COMMON DIMENSIONS
(Unit of Measure = mm)
SYMBOL
A––4.5724
A10.508––
D34.544– 34.798 Note 1
E7.620– 8.255
E1 7.112– 7.493 Note 1
B0.381–0.533
B11.143–1.397
B20.762–1.143
L3.175–3.429
C0.203–0.356
eB––10.160
e 2.540 TYP
MIN
NOM
MAX
DRAWING NO.
28P3
NOTE
09/28/01
REV.
B
2486QS–AVR–10/06
15
Page 16
32M1-A
D
D1
1
2
3
Pin 1 ID
E1
E
TOP VIEW
A2
K
P
D2
P
Pin #1 Notch
(0.20 R)
1
2
3
E2
A
K
b
e
L
BOTTOM VIEW
Note: JEDEC Standard MO-220, Fig. 2 (Anvil Singulation), VHHD-2.
0
SIDE VIEW
A3
A1
0.08
SYMBOL
A 0.80 0.90 1.00
A1 – 0.02 0.05
A2 – 0.65 1.00
A3 0.20 REF
b 0.180.230.30
D
D1
D2 2.953.103.25
E
E1
E2 2.953.103.25
e 0.50 BSC
L 0.30 0.40 0.50
P – – 0.60
– – 12o
0
K0.20––
COMMON DIMENSIONS
C
(Unit of Measure = mm)
MIN
4.905.005.10
4.704.754.80
4.905.005.10
4.704.754.80
NOM
MAX
NOTE
16
2325 Orchard Parkway
R
San Jose, CA 95131
ATmega8(L)
TITLE
32M1-A, 32-pad, 5 x 5 x 1.0 mm Body, Lead Pitch 0.50 mm,
3.10 mm Exposed Pad, Micro Lead Frame Package (MLF)
DRAWING NO.
32M1-A
2486QS–AVR–10/06
5/25/06
REV.
E
Page 17
ATmega8(L)
ErratasThe revision letter in this section refers to the revision of the ATmega8 device.
ATmega8
Rev. D to I
• First Analog Comparator conversion may be delayed
• Interrupts may be lost when writing the timer registers in the asynchronous timer
• Signature may be Erased in Serial Programming Mode
• CKOPT Does not Enable Internal Capacitors on XTALn/TOSCn Pins when 32 KHz
Oscillator is Used to Clock the Asynchronous Timer/Counter2
1. First Analog Comparator conversion may be delayed
If the device is powered by a slow rising V
sion will take longer than expected on some devices.
Problem Fix/Workaround
When the device has been powered or reset, disable then enable theAnalog Comparator before the first conversion.
2. Interrupts may be lost when writing the timer registers in the asynchronous
timer
If one of the timer registers which is synchronized to the asynchronous timer2 clock
is written in the cycle before a overflow interrupt occurs, the interrupt may be lost.
Problem Fix/Workaround
Always check that the Timer2 Timer/Counter register, TCNT2, does not have the
value 0xFF before writing the Timer2 Control Register, TCCR2, or Output Compare
Register, OCR2
3. Signature may be Erased in Serial Programming Mode
If the signature bytes are read before a chiperase command is completed, the signature may be erased causing the device ID and calibration bytes to disappear. This
is critical, especially, if the part is running on internal RC oscillator.
Problem Fix/Workaround:
Ensure that the chiperase command has exceeded before applying the next
command.
, the first Analog Comparator conver-
CC
2486QS–AVR–10/06
4. CKOPT Does not Enable Internal Capacitors on XTALn/TOSCn Pins when
32 KHz Oscillator is Used to Clock the Asynchronous Timer/Counter2
When the internal RC Oscillator is used as the main clock source, it is possible to
run the Timer/Counter2 asynchronously by connecting a 32 KHz Oscillator between
XTAL1/TOSC1 and XTAL2/TOSC2. But when the internal RC Oscillator is selected
as the main clock source, the CKOPT Fuse does not control the internal capacitors
on XTAL1/TOSC1 and XTAL2/TOSC2. As long as there are no capacitors connected to XTAL1/TOSC1 and XTAL2/TOSC2, safe operation of the Oscillator is not
guaranteed.
Problem fix/Workaround
Use external capacitors in the range of 20 - 36 pF on XTAL1/TOSC1 and
XTAL2/TOSC2. This will be fixed in ATmega8 Rev. G where the CKOPT Fuse will
control internal capacitors also when internal RC Oscillator is selected as main clock
source. For ATmega8 Rev. G, CKOPT = 0 (programmed) will enable the internal
capacitors on XTAL1 and XTAL2. Customers who want compatibility between Rev.
G and older revisions, must ensure that CKOPT is unprogrammed (CKOPT = 1).
17
Page 18
Datasheet Revision
History
Please note that the referring page numbers in this section are referred to this document. The referring revision in this section are referring to the document revision.
Changes from Rev.
2486P- 02/06 to Rev.
2486Q- 10/06
Changes from Rev.
2486O-10/04 to Rev.
2486P- 02/06
1. Updated “Timer/Counter Oscillator” on page 32.
2. Updated “Fast PWM Mode” on page 89.
3. Updated code example in “USART Initialization” on page 138.
4. Updated Table 37 on page 98, Table 39 on page 99, Table 42 on page 117,
Table 44 on page 118, and Table 98 on page 240.
5. Updated “Erratas” on page 17.
1. Added “Resources” on page 7.
2. Updated “External Clock” on page 32.
3. Updated “Serial Peripheral Interface – SPI” on page 124.
4. Updated Code Example in “USART Initialization” on page 138.
5. Updated Note in “Bit Rate Generator Unit” on page 170.
6. Updated Table 98 on page 240.
7. Updated Note inTable 103 on page 248.
Changes from Rev.
2486N-09/04 to Rev.
2486O-10/04
Changes from Rev.
2486M-12/03 to Rev.
2486N-09/04
8. Updated “Erratas” on page 17.
1. Removed to instances of “analog ground”. Replaced by “ground”.
2. Updated Table 7 on page 29, Table 15 on page 38, and Table 100 on page 244.
3. Updated “Calibrated Internal RC Oscillator” on page 30 with the 1 MHz default
value.
4. Table 89 on page 225 and Table 90 on page 225 moved to new section “Page
Size” on page 225.
5. Updated descripton for bit 4 in “Store Program Memory Control Register –
SPMCR” on page 213.
6. Updated “Ordering Information” on page 13.
1. Added note to MLF package in “Pin Configurations” on page 2.
2. Updated “Internal Voltage Reference Characteristics” on page 42.
3. Updated “DC Characteristics” on page 242.
18
ATmega8(L)
2486QS–AVR–10/06
Page 19
ATmega8(L)
4. ADC4 and ADC5 support 10-bit accuracy. Document updated to reflect this.
Updated features in “Analog-to-Digital Converter” on page 196.
Updated “ADC Characteristics” on page 248.
5. Removed reference to “External RC Oscillator application note” from “External RC Oscillator” on page 29.
Changes from Rev.
2486L-10/03 to Rev.
2486M-12/03
Changes from Rev.
2486K-08/03 to Rev.
2486L-10/03
1. Updated “Calibrated Internal RC Oscillator” on page 30.
1. Removed “Preliminary” and TBDs from the datasheet.
2. Renamed ICP to ICP1 in the datasheet.
3. Removed instructions CALL and JMP from the datasheet.
4. Updated t
page 244 and Table 102 on page 246.
5. Replaced text “XTAL1 and XTAL2 should be left unconnected (NC)” after
Table 9 in “Calibrated Internal RC Oscillator” on page 30. Added text regarding XTAL1/XTAL2 and CKOPT Fuse in “Timer/Counter Oscillator” on page 32.
6. Updated Watchdog Timer code examples in “Timed Sequences for Changing
the Configuration of the Watchdog Timer” on page 45.
7. Removed bit 4, ADHSM, from “Special Function IO Register – SFIOR” on page
58.
8. Added note 2 to Figure 103 on page 215.
in Table 15 on page 38, VBG in Table 16 on page 42, Table 100 on
RST
Changes from Rev.
2486J-02/03 to Rev.
2486K-08/03
Changes from Rev.
2486I-12/02 to Rev.
2486J-02/03
2486QS–AVR–10/06
9. Updated item 4 in the “Serial Programming Algorithm” on page 238.
10. Added t
Byte 3, in Table 98 on page 240.
11. Updated Absolute Maximum Ratings* and DC Characteristics in “Electrical
Characteristics” on page 242.
1. Updated V
2. Updated “ADC Characteristics” on page 248.
3. Updated “ATmega8 Typical Characteristics” on page 249.
4. Updated “Erratas” on page 17.
1. Improved the description of “Asynchronous Timer Clock – clk
2. Removed reference to the “Multipurpose Oscillator” application note and the
“32 kHz Crystal Oscillator” application note, which do not exist.
WD_FUSE
to Table 97 on page 239 and updated Read Calibration Byte,
values in Table 15 on page 38.
BOT
” on page 26.
ASY
19
Page 20
3. Corrected OCn waveforms in Figure 38 on page 90.
4. Various minor Timer 1 corrections.
5. Various minor TWI corrections.
6. Added note under “Filling the Temporary Buffer (Page Loading)” on page 216
about writing to the EEPROM during an SPM Page load.
7. Removed ADHSM completely.
8. Added section “EEPROM Write during Power-down Sleep Mode” on page 23.
9. Removed XTAL1 and XTAL2 description on page 5 because they were already
described as part of “Port B (PB7..PB0) XTAL1/XTAL2/TOSC1/TOSC2” on
page 5.
10. Improved the table under “SPI Timing Characteristics” on page 246 and
removed the table under “SPI Serial Programming Characteristics” on page
241.
11. Corrected PC6 in “Alternate Functions of Port C” on page 61.
12. Corrected PB6 and PB7 in “Alternate Functions of Port B” on page 58.
Changes from Rev.
2486H-09/02 to Rev.
2486I-12/02
Changes from Rev.
2486G-09/02 to Rev.
2486H-09/02
Changes from Rev.
2486F-07/02 to Rev.
2486G-09/02
13. Corrected 230.4 Mbps to 230.4 kbps under “Examples of Baud Rate Setting”
on page 159.
14. Added information about PWM symmetry for Timer 2 in “Phase Correct PWM
Mode” on page 113.
15. Added thick lines around accessible registers in Figure 76 on page 169.
16. Changed “will be ignored” to “must be written to zero” for unused Z-pointer
bits under “Performing a Page Write” on page 216.
17. Added note for RSTDISBL Fuse in Table 87 on page 223.
18.Updated drawings in “Packaging Information” on page 14.
1.Added errata for Rev D, E, and F on page 17.
1.Changed the Endurance on the Flash to 10,000 Write/Erase Cycles.
1 Updated Table 103, “ADC Characteristics,” on page 248.
20
ATmega8(L)
2486QS–AVR–10/06
Page 21
ATmega8(L)
Changes from Rev.
2486E-06/02 to Rev.
2486F-07/02
Changes from Rev.
2486D-03/02 to Rev.
2486E-06/02
1Changes in “Digital Input Enable and Sleep Modes” on page 55.
2Addition of OCS2 in “MOSI/OC2 – Port B, Bit 3” on page 59.
3The following tables has been updated:
Table 51, “CPOL and CPHA Functionality,” on page 132, Table 59, “UCPOL Bit Settings,” on page 158, Table 72, “Analog Comparator Multiplexed Input
page 195, Table 73, “ADC Conversion Time,” on page 200, Table 75, “Input Channel Selections,” on page 206, and Table 84, “Explanation of Different Variables
used in Figure 103 and the Mapping to the Z-pointer,” on page 221.
5Changes in “Reading the Calibration Byte” on page 234.
6 Corrected Errors in Cross References.
1Updated Some Preliminary Test Limits and Characterization Data
The following tables have been updated:
Table 15, “Reset Characteristics,” on page 38, Table 16, “Internal Voltage Refer-
ence Characteristics,” on page 42, DC Characteristics on page 242, Table , “ADC
Characteristics,” on page 248.
2Changes in External Clock Frequency
Added the description at the end of “External Clock” on page 32.
Added period changing data in Table 99, “External Clock Drive,” on page 244.
(1)
,” on
Changes from Rev.
2486C-03/02 to Rev.
2486D-03/02
Changes from Rev.
2486B-12/01 to Rev.
2486C-03/02
3Updated TWI Chapter
More details regarding use of the TWI bit rate prescaler and a Table 65, “TWI Bit
Rate Prescaler,” on page 173.
1Updated Typical Start-up Times.
The following tables has been updated:
Table 5, “Start-up Times for the Crystal Oscillator Clock Selection,” on page 28,
Table 6, “Start-up Times for the Low-frequency Crystal Oscillator Clock Selection,”
on page 28, Table 8, “Start-up Times for the External RC Oscillator Clock Selection,” on page 29, and Table 12, “Start-up Times for the External Clock Selection,”
on page 32.
2 Added “ATmega8 Typical Characteristics” on page 249.
1Updated TWI Chapter.
More details regarding use of the TWI Power-down operation and using the TWI as
Master with low TWBRR values are added into the datasheet.
Added the note at the end of the “Bit Rate Generator Unit” on page 170.
Added the description at the end of “Address Match Unit” on page 170.
2Updated Description of OSCCAL Calibration Byte.
In the datasheet, it was not explained how to take advantage of the calibration bytes
for 2, 4, and 8 MHz Oscillator selections. This is now added in the following
sections:
2486QS–AVR–10/06
21
Page 22
Improved description of “Oscillator Calibration Register – OSCCAL” on page 31 and
“Calibration Byte” on page 225.
3Added Some Preliminary Test Limits and Characterization Data.
Removed some of the TBD’s in the following tables and pages:
Table 3 on page 26, Table 15 on page 38, Table 16 on page 42, Table 17 on page
44, “T
= -40°C to 85°C, VCC = 2.7V to 5.5V (unless otherwise noted)” on page 242,
A
Table 99 on page 244, and Table 102 on page 246.
4Updated Programming Figures.
Figure 104 on page 226 and Figure 112 on page 237 are updated to also reflect that
AV
must be connected during Programming mode.
CC
5Added a Description on how to Enter Parallel Programming Mode if RESET
Pin is Disabled or if External Oscillators are Selected.
Added a note in section “Enter Programming Mode” on page 228.
22
ATmega8(L)
2486QS–AVR–10/06
Page 23
Atmel CorporationAtmel Operations
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Regional Headquarters
Europe
Atmel Sarl
Route des Arsenaux 41
Case Postale 80
CH-1705 Fribourg
Switzerland
Tel: (41) 26-426-5555
Fax: (41) 26-426-5500
Asia
Room 1219
Chinachem Golden Plaza
77 Mody Road Tsimshatsui
East Kowloon
Hong Kong
Tel: (852) 2721-9778
Fax: (852) 2722-1369
Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Memory
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
Microcontrollers
2325 Orchard Parkway
San Jose, CA 95131, USA
Tel: 1(408) 441-0311
Fax: 1(408) 436-4314
La Chantrerie
BP 70602
44306 Nantes Cedex 3, France
Tel: (33) 2-40-18-18-18
Fax: (33) 2-40-18-19-60
ASIC/ASSP/Smart Cards
Zone Industrielle
13106 Rousset Cedex, France
Tel: (33) 4-42-53-60-00
Fax: (33) 4-42-53-60-01
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906, USA
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Scottish Enterprise Technology Park
Maxwell Building
East Kilbride G75 0QR, Scotland
Tel: (44) 1355-803-000
Fax: (44) 1355-242-743
1150 East Cheyenne Mtn. Blvd.
Colorado Springs, CO 80906, USA
Tel: 1(719) 576-3300
Fax: 1(719) 540-1759
Biometrics/Imaging/Hi-Rel MPU/
High Speed Converters/RF Datacom
Avenue de Rochepleine
BP 123
38521 Saint-Egreve Cedex, France
Tel: (33) 4-76-58-30-00
Fax: (33) 4-76-58-34-80
Literature Requests
www.atmel.com/literature
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDI-
TIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY
WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT
OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no
representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications
and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Atmel’s products are not
intended, authorized, or warranted for use as components in applications intended to support or sustain life.