naf-st.ru naf-st.ru naf-st.ru naf-st.ru
 
Поиск по сайту
 

Память данных в РПЗУ (EEPROM) PIC16F8X


Модуль таймера и регистр таймера PIC16F8X К содержанию Организация прерываний PIC16F8X
Page copy protected against web site content infringement by Copyscape

Микроконтроллеры подгруппы PIC6F8X имеют энергонезависимую память данных 64x8 EEPROM бит, которая допускает запись и чтение во время нормальной работы (во всем диапазоне питающих напряжений). Эта память не принадлежит области регистровой памяти ОЗУ. Доступ к ней осуществляется посредством косвенной адресации через регистры специальных функций: EEDATA<08h>, который содержит 8-битовые данные для чтения/записи и EEADR <09h>, включающий адрес ячейки, к которой идет обращение. Для управления процессом чтения/записи используются два регистра: EECON1 <88h> и EECON2 <89h>.

При записи байта автоматически стирается предыдущее значение, и записываются новые данные (стирание перед записью). Все эти операции производит встроенный автомат записи EEPROM. Содержимое ячеек этой памяти при выключении питания сохраняется.

Регистр EEADR может адресовать до 256 байт данных EEPROM. В МК подгруппы PIC6F8X используются только первые 64 байта, адресуемые шестью младшими битами EEADR<5:0>. Однако старшие два бита также декодируются. Поэтому эти два бита должны быть установлены в "0", чтобы адрес попал в доступные 64 бита адресного пространства.

Назначение бит регистра EECON1 приведено в табл. 1

Таблица 1
n n n R/W-0 R/W-x R/W-0 R/S-0 R/S-x
- - - EEIF WRERR WREN WR RD
Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
Биты 7:5 не используются (читаются как "0")
Бит 4: EEIF: бит запроса прерывания по записи в EEPROM
0=операция записи не завершена или не начиналась
1=операция записи завершена (должен быть сброшен программно)
Бит 3: WRERR: бит признака ошибки записи в EEPROM
0=операция записи завершена
1=операция записи прервана преждевременно (сбросом по /MCLR или сбросом от WDT)
Бит 2: WREN: бит разрешения записи в EEPROM
0=запрещена запись в EEPROM
1=разрешены циклы записи
Бит 1: WR: бит управления записью
0=цикл записи данных в EEPROM завершен
1=инициирует цикл записи (сбрасывается аппаратно по завершении записи). Бит WR может быть только установлен (но не сброшен) программно
Бит 0: RD: бит управления чтением
0=чтение данных EEPROM не инициировано
1=инициирует чтение данных EEPROM (чтение занимает один цикл). Бит RD сбрасывается аппаратно. Бит RD может быть только установлен (но не сброшен) программно

Регистр EECON2 не является физическим регистром. Он используется исключительно при организации записи данных в EEPROM. Чтение регистра EECON2 дает нули.

При считывании данных из памяти EEPROM необходимо записать нужный адрес в EEADR регистр и затем установить бит RD EECON1<0> в единицу. Данные появятся в следующем командном цикле в регистре EEDATA и могут быть прочитаны. Данные в регистре EEDATA фиксируются.

При записи в память EEPROM необходимо сначала записать адрес в EEADR-регистр и данные в EEDATA-регистр. Затем следует выполнить специальную последовательность команд, производящую непосредственную запись:
movlw
55h movwf EECON2
movlw AAh
movwf EECON2
bsf EECON1.

WR установить WR бит, начать запись

Во время выполнения этого участка программы все прерывания должны быть запрещены, для точного выполнения временной диаграммы. Время записи - примерно 10 мс. Фактическое время записи может изменяться в зависимости от напряжения, температуры и индивидуальных свойств кристалла. В конце записи бит WR автоматически обнуляется, а флаг завершения записи EEIF, он же запрос на прерывание, устанавливается.

Для предотвращения случайных записей в память данных предусмотрен специальный бит WREN в регистре EECON1. Рекомендуется держать бит WREN выключенным, кроме тех случаев, когда нужно обновить память данных. Более того, кодовые сегменты, которые устанавливают бит WREN, и те, которые выполняют запись, следует хранить на различных адресах, чтобы избежать случайного выполнения их обоих при сбое программы.

Page copy protected against web site content infringement by Copyscape
Модуль таймера и регистр таймера PIC16F8X К содержанию Организация прерываний PIC16F8X
Новости:




 

copyright © 2003-2018 naf-st.ru, info@naf-st.ru
При полном, либо частичном цитировании материалов сайта naf-st.ru ссылка (для интернет изданий гиперссылка) обязательна!!! Будьте взаимовежливы!
Карта сайта
Поиск по сайту
Помощь
Новости
Обратная связь
Карта сайта
Поиск по сайту
Помощь
Новости
Обратная связь