Datasheet
188
ATmega323(L)
1457E–11/01
5. Set BS to “1”. The Flash word high byte can now be read at DATA.
6. Set OE to “1”.
Reading the EEPROM The algorithm for reading the EEPROM memory is as follows (refer to “Programming the
Flash” on page 185 for details on Command and Address loading):
1. A: Load Command “0000 0011”.
2. H: Load Address High Byte ($00 - $03)
3. B: Load Address ($00 - $FF)
4. Set OE
to “0”, and BS1 to “0”. The EEPROM Data byte can now be read at
DATA.
5. Set OE
to “1”.
Programming the Fuse Low
Bits
The algorithm for programming the Fuse Low bits is as follows (refer to “Programming
the Flash” on page 185 for details on Command and Data loading):
1. A: Load Command “0100 0000”.
2. C: Load Data Low Byte. Bit n = “0” programs and bit n = “1” erases the Fuse bit.
Bit 7 = BODLEVEL Fuse bit
Bit 6 = BODEN Fuse bit
Bit 3..0 = CKSEL3..0 Fuse bits
Bit 5,4 = “1”. This bit is reserved and should be left unprogrammed (“1”).
3. Give WR
a negative pulse and wait for RDY/BSY to go high.
Programming the Fuse High
Bits
The algorithm for programming the Fuse high bits is as follows (refer to “Programming
the Flash” on page 185 for details on Command and Data loading):
1. A: Load Command “0100 0000”.
2. C: Load Data Low Byte. Bit n = “0” programs and bit n = “1” erases the Fuse bit.
Bit 7 = OCDEN Fuse bit
Bit 6 = JTAGEN Fuse bit
Bit 5 = SPIEN Fuse bit
Bit 3 = EESAVE Fuse bit
Bit 2..1 = BOOTSZ1..0 Fuse bits
Bit 0 = BOOTRST Fuse bit
Bit 7,6,4 = “1”. These bits are reserved and should be left unprogrammed (“1”).
3. Set BS1 to “1”. This selects high data byte.
4. Give WR
a negative pulse and wait for RDY/BSY to go high.
5. Set BS1 to “0”. This selects low data byte.
Programming the Lock Bits The algorithm for programming the Lock bits is as follows (refer to “Programming the
Flash” on page 185 for details on Command and Data loading):
1. A: Load Command “0010 0000”.
2. C: Load Data Low Byte. Bit n = “0” programs the Lock bit.
Bit 5 = Boot Lock Bit12
Bit 4 = Boot Lock Bit11
Bit 3 = Boot Lock Bit02
Bit 2 = Boot Lock Bit01
Bit 1 = Lock Bit2
Bit 0 = Lock Bit1
Bit 7..6 = “1”. These bits are reserved and should be left unprogrammed (“1”).
3. L: Write Data Low Byte.