![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для обращения к EEPROM (ее объем составляет 64 байта) используются три регистра ввода/вывода: регистр адреса EEAR, регистр данных EEDR и регистр управления EECR (табл. 4.15 и 4.16).
Таблица 4.15 – Формат регистра EECR
– | – | – | – | EERIE | EEMWE | EEWE | EERE |
Таблица 4.16 – Разряды регистра EECR
Разряд | Название | Описание |
7…4 | – | Не используются, читаются как 0 |
EERIE | Разрешение прерывания от EEPROM. Данный разряд управляет генерацией прерывания, возникающего при завершении цикла записи в EEPROM. Если этот разряд установлен в 1, прерывания разрешены (если флаг I регистра SREG также установлен в 1). При сброшенном разряде EEMWE прерывание генерируется постоянно | |
EEMWE | Управление разрешением записи в EEPROM. После программной установки этот разряд сбрасывается аппаратно через 4 такта | |
EEWE | Разрешение записи в EEPROM. При установке этого разряда в 1 происходит запись данных в EEPROM, если EEMWE=1 | |
EERE | Разрешение чтения из EEPROM. По окончании чтения сбрасывается аппаратно |
Для записи одного байта в EEPROM необходимо:
· дождаться готовности EEPROM к записи (ждать пока не сбросится флаг EEWE);
· загрузить байт данных в регистр EEDR, а требуемый адрес – в регистр EEAR;
· установить в 1 флаг EEMWE;
· в течение 4-х машинных циклов после установки EEMWE записать 1 в разряд EEWE.
Рекомендуется запрещать все прерывания при выполнении пунктов 2…4 описанной последовательности. Длительность процесса записи составляет 4…8 мс. Процедура чтения из EEPROM гораздо проще. После загрузки требуемого адреса в регистр EEAR программа должна установить в 1 разряд EERE. Когда запрошенные данные будут находиться в регистре данных EEDR, произойдет аппаратный сброс этого разряда.
Дата публикования: 2014-11-04; Прочитано: 450 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!