C: Загрузка байта данных

  1. Установить биты XA1 и XA0 в состояние 0 и 1, соответственно. Эта установка разрешает загрузку данных.
  2. Установить в битах PB(7 - 0) младший байт данных ($00 - $FF).
  3. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается байт данных.

D: Фиксация младшего байта данных

  1. Установить бит BS1 в состояние 0. Эта установка выбирает младший байт данных.
  2. Подать на вывод PAGEL положительный импульс. Этим импульсом загружается байт данных.

E: Загрузка байта данных

  1. Установить биты XA1 и XA0 в состояние 0 и 1, соответственно. Эта установка разрешает загрузку данных.
  2. Установить в битах PB(7 - 0) старший байт данных ($00 - $FF).
  3. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается байт данных.

F: Фиксация старшего байта данных

  1. Установить бит BS1 в состояние 1. Эта установка выбирает старший байт данных.
  2. Подать на вывод PAGEL положительный импульс. Этим импульсом загружается байт данных.

G: Пункты с B по F повторяются 128 раз до полного заполнения буфера страницы.

H: Загрузка старшего байта адреса

  1. Установить биты XA1 и XA0 в состояние 0 и 0, соответственно. Эта установка разрешает загрузку адреса.
  2. Установить бит BS1 в состояние 1. Эта установка выбирает старший байт адреса.
  3. Установить в битах PB(7 - 0) старший байт адреса (для Atmega603: $7F, для Atmega103: $FF).
  4. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается старший байт адреса.

I: Программирование страницы

  1. Подать на вывод WR отрицательный импульс. Этим импульсом запускается программирование страницы данных. Вывод переходит RDY/BSY на низкий уровень.
  2. Ожидать перехода вывода RDY/BSY на высокий уровень.

J: Завершение программирования страницы.

  1. Установить биты XA1 и XA0 в состояние 1 и 0. Эта установка разрешает загрузку команды.
  2. Установить биты PB(7 - 0) в состояние 0000 0000. Это команда «Нет операции».
  3. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается команда и сбрасываются все внутренние сигналы записи.

K: Пункты с A по J повторяются 256/512 раз, или до тех пор, пока все данные не будут запрограммированы.

Программирование EEPROM

Алгоритм программирования EEPROM памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти).

  1. Загрузить команду 0001 0001.
  2. Загрузить младший адрес EEPROM ($00 - $FF).
  3. Загрузить старший адрес EEPROM (для ATmega603: $07, для ATmega103: $0F).
  4. Загрузить младший байт данных EEPROM ($00 - $FF).
  5. Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень.

Команда загружается только перед программированием первого байта.