Latching of Fuses
The fuse values are latched when the device enters programming mode and changes of
the fuse values will have no effect until the part leaves Programming mode. This does
not apply to the EESAVE Fuse which will take effect once it is programmed. The fuses
are also latched on Power-up in Normal mode.
Signature Bytes
All Atmel microcontrollers have a three-byte signature code which identifies the device.
This code can be read in both serial and parallel mode, also when the device is locked.
The three bytes reside in a separate address space.
ATmega640 Signature Bytes:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x96 (indicates 64K bytes Flash memory).
3. 0x002: 0x07 (indicates ATmega640 device when 0x001 is 0x96).
ATmega1280 Signature Bytes:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x97 (indicates 128K bytes Flash memory).
3. 0x002: 0x03 (indicates ATmega1280 device when 0x001 is 0x97).
ATmega1281 Signature Bytes:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x97 (indicates 128K bytes Flash memory).
3. 0x002: 0x04 (indicates ATmega1281 device when 0x001 is 0x97).
ATmega2560 Signature Bytes:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x98 (indicates 256K bytes Flash memory).
3. 0x002: 0x01 (indicates ATmega2560 device when 0x001 is 0x98).
ATmega2561 Signature Bytes:
1. 0x000: 0x1E (indicates manufactured by Atmel).
2. 0x001: 0x98 (indicates 256K bytes Flash memory).
3. 0x002: 0x02 (indicates ATmega2561 device when 0x001 is 0x98).
Calibration Byte
The ATmega640/1280/1281/2560/2561 has a byte calibration value for the internal RC
Oscillator. This byte resides in the high byte of address 0x000 in the signature address
space. During reset, this byte is automatically written into the OSCCAL Register to
ensure correct frequency of the calibrated RC Oscillator.
Parallel Programming
Parameters, Pin
Mapping, and
This section describes how to parallel program and verify Flash Program memory,
EEPROM Data memory, Memory Lock bits, and Fuse bits in the
ATmega640/1280/1281/2560/2561. Pulses are assumed to be at least 250 ns unless
otherwise noted.
Commands
Signal Names
In this section, some pins of the ATmega640/1280/1281/2560/2561 are referenced by
signal names describing their functionality during parallel programming, see Figure 139
and Table 153. Pins not described in the following table are referenced by pin names.
The XA1/XA0 pins determine the action executed when the XTAL1 pin is given a posi-
tive pulse. The bit coding is shown in Table 156.
338
ATmega640/1280/1281/2560/2561
2549A–AVR–03/05