Микроконтроллер ATmega328P имеет постоянное запоминающее устройство -
память EEPROM, имеющая емкость 1024 Байта. При отключении питания и
сбросе микроконтроллера все данные, хранящиеся в EEPROM остаются без
изменений.
Регистры EEPROM:
Регистры EEPROM:
Регистр EEARH:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
-
|
-
|
-
|
-
|
-
|
-
|
EEAR9
|
EEAR8
|
Регистр EEARL:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
EEAR7
|
EEAR6
|
EEAR5
|
EEAR4
|
EEAR3
|
EEAR2
|
EEAR1
|
EEAR0
|
Для управления прерываниями, а также чтением и записью в EEPROM используется регистр EECR:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
-
|
-
|
EEPM1
|
EEPM0
|
EERIE
|
EEMPE
|
EEPE
|
EERE
|
Биты EEPM1 (5) и EEPM0 (4) регистра EECR управляют режимами обновления EEPROM:
- 00 - стирание старого значения и запись нового (3.4 мс)
- 01 - только стирание старого значения (1.8 мс)
- 10 - только запись нового значения (1.8 мс)
- 11 - резерв
Бит EERIE (3) регистра EECR разрешает прерывания по завершению записи в EEPROM при записи в него 1.
Бит EEMPE (2) регистра EECR разрешает запись в EEPROM если в него записать 1 (сбрасывается в 0 через 4 машинных цикла).
Бит EEPE (1) регистра EECR управляет записью в EEPROM (если записать в него 1, то будет произведена запись данных из регистра EEDR в EEPROM по адресу EEAR).
Бит EERE (0) регистра EECR управляет чтением в EEPROM (если записать в него 1, то будет произведено чтение данных из EEPROM по адресу EEAR в регистр EEDR ).