к лаболаторной работе №4
“Работа с EEPROM в микроконтроллерах семейства PIC16CХХ”
Цель работы: ознакомление с EEPROM микроконтроллеров семейства PIC16CХХ и методами работы с ним.
Краткие сведения из теории:
Flash-ПЗУ данных доступно для чтения и записи во время нормальной работы. Эта память не отображается непосредственно в адресное пространство памяти данных, а доступна через регистры специального назначения(PCH). Для доступа к Flash-ПЗУ данных используються 4 РСН:
- EECON1
- EECON2
- EEDATA
- EEADR
Регистр EEDATA хранит данные чтения/записи, EEADR содержит адрес ячейки, к которой производиться доступ. PIC16C8X имеет Flash-ПЗУ данных объемом 64 байт по адресам от 00h до 3Fh.
Flash-ПЗУ данных позволяет осуществлять чтение и запись байта данных. При записи происходит автоматическое стирание ячейки и запись новых данных. Flash-ПЗУ рассчитано на очень большое число циклов стирания/записи. Запись управляется встроенным таймером. Время записи варьируется в зависимости от напряжения питания, температуры и имеет технологический разброс.
При установлении защиты кода ЦПУ по-прежнему имеет доступ на чтение/запись к Flash-ПЗУ данных, но программатор не имеет возможности читать и записывать в него.
Регистр EEADR может адресовать до 256 байт Flash-ПЗУ данных из которых реализованны только 64 байта. Старшие два бита участвуют в формировании адреса, поэтому для обращения к 64-х байтному пространству их необходимо устанавливать в 0.
Регистр EECON1 содержт пять управлющих битов, три старших бита не реализованы. Управляюще биты RD и WR инициируют соответственно чтение и запись. Программно эти биты могут быть установлены только в 1. В 0 они устанавливаются аппаратно только по завершению чтения или записи. Невозможность программного установления этих битов в 0 позволяет предотвратить преждевременное завершение операции записи.
Если бит WREN установлен в 1, то запись во Flash-ПЗУ данных разрешена. После РОR этот бит установлен в 1. Бит WRERR устанавливается в 1, если операция записи прерывается сбросом по –MCLR или по WDT во время нормальной работы. В этой ситуации после сброса регистры EEDATA и EEADR остануться без изменения, и пользователь может проверить состояние бита WRERR и повторить запись.
При завершении записи флаг EEIF устанавливается в 1. После проверки его можно программно установить в 0.
Регистр EECON2 не реализован физически, его чтение возвращает 00h. Регистр EECON2 используется исключительно в цикле записи Flash-ПЗУ данных.
Более подробная информация по таймеру микроконтролера PIC16С84 приведена в методичке по микроконтролерам PIC и документации производителя.
Задания для домашней подготовки:
1) Ознакомиться с работой EEPROM микроконтролера PIC16С84
2) Ознакомиться с программированием EEPROM микроконтролера PIC16С84
3) Набрать тестовую программу и исследовать ее работу.
4) Написать программу по работе с EEPROM. Требования к программе получить у преподавателя.
Задание 1: Создать новый проект в системе MPLAB.
Задание 2: Наберите текст программы по работе с EEPROM.
Порядок выполнения задания: В любом текстовом редакторе набираете нижеприведенный текст программы, затем сохраняете его в файле simple.asm .
Tекст программы:
;--Register Definitions-W EQU 0x00
F EQU 0x01
RTCC EQU 01h
OPTION_R EQU 81h
PCL EQU 02h
STATUS EQU 03h
FSR EQU 04h
PORTA EQU 05h
PORTB EQU 06h
EEDATA EQU 08h
EEADR EQU 09h
EECON1 EQU 08h
EECON2 EQU 09h
TRISA EQU 05h
TRISB EQU 06h
PCLATH EQU 0Ah
INTCON EQU 0Bh
;-----------------------------------------;Переменные
FLAGS1 EQU 10h ;
TEMP1 EQU 12h
TEMP2 EQU 13h
LASTBYTE EQU 2Fh ;
;Биты регистров
;STATUS
IRP EQU 7
RP1 EQU 6
RP0 EQU 5
TO EQU 4
PD EQU 3
Z EQU 2
DC EQU 1
C EQU 0
;--------------------------------------------------------;EECON1
EEIF EQU 4
WRERR EQU 3
WREN EQU 2
WR EQU 1
RD EQU 0
;--------------------------------------------------------;INTCON
GIE EQU 7
EEIE EQU 6
RTIE EQU 5
INTE EQU 4
RBIE EQU 3
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.