Reading the eeprom, Programming the fuse low bits, Programming the fuse high bits – Rainbow Electronics ATmega32L User Manual

Page 264: Atmega32(l)

Advertising
background image

264

ATmega32(L)

2503C–AVR–10/02

5.

Set BS1 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 260 for details on Command and Address loading):

1.

A: Load Command “0000 0011”.

2.

G: Load Address High Byte ($00 - $FF)

3.

B: Load Address Low Byte ($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 260 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.

3.

Set BS1 to “0” and BS2 to “0”.

4.

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 260 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.

3.

Set BS1 to “1” and BS2 to “0”. 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.

Figure 131. Programming the Fuses

RDY/BSY

WR

OE

RESET +12V

PAGEL

$40

DATA

DATA

XX

XA1

XA0

BS1

XTAL1

A

C

$40

DATA

XX

A

C

Write Fuse Low byte

Write Fuse high byte

BS2

Advertising