ЛАБОРАТОРНАЯ РАБОТА №6 Работа с ЕЕPROM памятью данных 6.1 Цель работы:

advertisement
ЛАБОРАТОРНАЯ РАБОТА №6
Работа с ЕЕPROM памятью данных
6.1 Цель работы: Изучение методов работы с EEPROM памятью данных.
6.2 Технические средства:
Оборудование: УЛС “P-Student”, внутрисхемный программатор PICkit 2,
ПЭВМ.
Программное обеспечение: MPLAB IDE.
6.3 Краткие теоретические сведения
EEPROM память данных является энергонезависимой памятью, поэтому
очень широко используется для хранения констант, калибровочной
информации, серийных номеров, данных о разработчике и т.д.
Модуль EEPROM памяти данных позволяет выполнить чтение и запись
байта. При записи байта происходит автоматическое стирание ячейки и запись
новых данных (стирание перед записью). EEPROM память данных рассчитана
на большое количество циклов стирание/запись (более 1000). Время записи
управляется интегрированным таймером и зависит от напряжения питания,
температуры и технологического разброса параметров кристалла.
EEPROM память не отображается на адресное пространство памяти
данных, а доступна через регистры специального назначения. Для доступа к
EEPROM памяти данных используются 4 регистра специального назначения:
EECON1,
EECON2 (не физический регистр),
EEDATA,
EEADR.
В регистре EEDATA сохраняются 8-разрядные данные записи/чтения, а
регистр EEADR содержит адрес ячейки EEPROM памяти данных. С помощью
8-разрядного регистра EEADR можно адресовать 256 байт EEPROM памяти
данных. МК PIC16F84A имеет объём EEPROM в 64 байта. Т.к. в МК
реализован не весь объем адресуемой памяти, биты <7-6> EEADR должны быть
равны нулю.
Регистр EECON1 содержит биты управления чтением/записью EEPROM
памяти данных (рис. 6.1). Регистр EECON2 предназначен для защиты от
случайной записи в EEPROM память данных.
В операции чтения используется только один дополнительный бит RD,
инициализирующий операцию чтения из указанной памяти. Установив бит RD
в '1', значение ячейки памяти будет доступно в регистре данных. Бит RD не
может быть сброшен программно в '0', он сбрасывается автоматически по
окончании операции чтения. При чтении из EEPROM памяти данные будут
доступны в регистре EEDATA в следующем машинном цикле, после установки
бита RD.
В операции записи используется два служебных бита WR, WREN и два
бита статуса WRERR и EEIF. Бит WREN применяется для разрешения или
запрещения операции записи (WREN=0 – операция записи запрещена). Перед
выполнением записи бит WREN необходимо установить в '1'. Бит WR
предназначен для инициализации записи, бит WR аппаратно сбрасывается в '0'
по завершении операции записи. Флаг прерывания EEIF устанавливается в '1'
по завершении записи. Этот флаг должен быть сброшен программно в '0' перед
установкой бита WR.
Рисунок 6.1 – Назначение битов регистра EECON1
Последовательность действий при чтении из EEPROM памяти данных:
1. Необходимо проверить, что не происходит запись (WR = 0).
2. Записать адрес в регистр EEADR.
3. Инициализировать чтение данных установкой бита RD. Данные будут
доступны в регистре EEDATA в следующем машинном цикле.
4. Прочитать данные из регистра EEDATA.
Последовательность действий при записи в EEPROM память данных:
1. Необходимо проверить, что не происходит запись (WR = 0).
2. Записать адрес в регистр EEADR.
3. Записать данные в регистр EEDATA.
4. Установить бит WREN, разрешив запись в EEPROM память.
5. Запретить прерывания, если они разрешены.
6. Выполнить обязательную последовательность:
1 - запись значения 55h в регистр EECON2
2 - запись значения AAh в регистр EECON2
7. Сбросить бит WREN.
8. Разрешить прерывания (если необходимо).
После завершения цикла записи сбрасывается в '0' бит WR, устанавливается в '1'
флаг прерывания EEIF (сбрасывается программно). Если шаг 1 не выполняется,
то необходимо дождаться сброса бита WR.
6.4 Ход работы
1. Создать подпрограммы записи и чтения EEPROM памяти для МК
PIC16F84A.
2. Проверить работу подпрограмм с помощью программного отладчика
MPLAB SIM.
3. Выполнить задания в соответствии с вариантом (таблица 6.1).
Таблица 6.1 – Варианты заданий
№
варианта
1.
2.
3.
4.
5.
Условие для выполнения задания:
Вводить адрес EEPROM с помощью комбинаций кнопок S1 – S4, S7 – ввод.
Считать и вывести значение на дисплей.
Выводить на дисплей записанный, при программировании в EEPROM,
произвольный текст.
Считывать числа с клавиатуры (S8 – ввод). Если в ОЗУ накопится не менее
20 введённых символов, то записать их в EEPROM память.
Вводить данные с помощью комбинаций кнопок S1 – S4, S7 – ввод,
выводить на дисплей и записать в EEPROM. После включения
восстанавливать введенную комбинацию, с продолжением работы
программы.
Вводить данные с помощью комбинаций кнопок S1 – S4, S7 – ввод и
записать в EEPROM. Нажатием на кнопку S8 воспроизводить записанные
символы на светодиодной линейке с интервалом в 0,5 с.
4. Проверить работу программы с помощью программного отладчика
MPLAB SIM.
5. Запрограммировать МК и проверить работу программы на реальном
устройстве (тип генератора: на выбор).
6. Результаты работы записать в отчёт и сделать вывод по проделанной
работе.
6.5 Контрольные вопросы
1. Модуль EEPROM памяти данных в МК PIC16F84.
2. Назначение битов регистра EECON1 МК PIC16F84.
3. Порядок чтения из EEPROM памяти данных.
4. Порядок записи в EEPROM память данных.
Download