Курсовая работа: Разработка и описание работы устройства на PIC-контроллере
1 = запись завершена (должен быть сброшен программно)
0 = запись не завершена или не начиналась
bit 3 WRERR - флаг ошибки записи в EEPROM
1 = запись преждевременно прервана
0 = запись прошла успешно
bit 2 WREN - разрешение записи в EEPROM
1 = разрешен цикл записи
0 = запрещена запись
bit1 WR - бит управления записью
1 = начать цикл записи. Программная установка бита является командой начать цикл записи. Сбрасывается этот бит только аппаратно, когда цикл записи окончен.
0 = цикл записи данных завершен
bit1 RD - бит управления чтением
1 = начать чтение данных из EEPROM. Чтение занимает один командный цикл. Программная установка бита является командой начать чтение. Бит сбрасывается только аппаратно.
0 = чтение не начато
Невозможность программно сбросить бит WR предохраняет от случайного преждевременного прерывания цикла записи, поскольку этот цикл занимает несколько машинных тактов.
Бит WREN при включении питания сброшен, что предохраняет от случайной записи. Бит WRERR устанавливается, когда операция записи прервана сбросом по входу MCLR или сбросом по переполнению сторожевого таймера. В этом случае, при повторном старте, пользователь может проверить бит WRERR и, при необходимости, повторить запись. Данные и адрес в регистрах EEDATA и EEADR при сбросе не теряются.
Регистр EECON2 не является физическим регистром и используется исключительно в качестве служебного регистра при записи. Чтение этого регистра всегда возвращает значение "0".
Чтение данных из EEPROM
Для чтения данных необходимо записать адрес в регистр EEADR и установить бит RD регистра EECON1. В следующем цикле данные уже доступны для чтения из регистра EEDATA. Прочитанные данные хранятся в этом регистре, пока не будут прочитаны новые данные или пока в него не будут занесены данные для записи.
Запись данных в EEPROM
Для записи данных в EEPROM необходимо сначала записать адрес в регистр EEADR и данные для записи в регистр EEDATA, а затем выполнить обязательную последовательность команд, рекомендованных изготовителем:
MOVLW 55h
MOVWF EECON2 ;записываем 55h
MOVLW AAh
MOVWF EECON2 ;записываем AAh
BSF EECON1, WR ;старт записи данных
Процесс записи не будет инициирован, если не будет выполнена поочередная запись 55h и AAh в регистр EECОN2. перед тем, как установить бит WR. Изготовитель настоятельно рекомендует запрещать все прерывания на момент исполнения этого фрагмента программы. Если прерывания в работе устройства вообще не используются, то нет надобности в запрете и последующем разрешении прерываний, так как по включению питания все прерывания запрещены.
Бит WREN не сбрасывается аппаратно, поэтому его необходимо сбросить программно после окончания записи всех данных. Этот бит предохраняет от записи случайных данных в EEPROM, например, при сбое программы. Необходимо тщательно следить, чтобы этот бит был сброшен всегда, когда не производится запись данных. Сброс бита WREN во время начатого цикла записи не повлияет на его успешное завершение.
Слово конфигурации CPU