beautypg.com

Atmega4hvd/8hvd – Rainbow Electronics ATmega8HVD User Manual

Page 20

background image

20

8052B–AVR–09/08

ATmega4HVD/8HVD

Assembly Code Example

EEPROM_write:

; Wait for completion of previous write

sbic

EECR,EEWE

rjmp

EEPROM_write

; Set up address (r17) in address register

out

EEARL, r17

; Write data (r16) to data register

out

EEDR,r16

; Write logical one to EEMWE

sbi

EECR,EEMWE

; Start eeprom write by setting EEWE

sbi

EECR,EEWE

ret

C Code Example

void

EEPROM_write(unsigned int uiAddress, unsigned char ucData)

{

/* Wait for completion of previous write */

while(EECR & (1<

;

/* Set up address and data registers */

EEARL = uiAddress;

EEDR = ucData;

/* Write logical one to EEMWE */

EECR |= (1<

/* Start eeprom write by setting EEWE */

EECR |= (1<

}