Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-06-29 | 380 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Информация взята из официальной документации. Согласно разным источникам, на одну модель МК, почему-то приводились примеры, которые друг с другом не совпадают. Программная реализация, представленная ниже, наиболее полным образом соответствует требованиям правил записи данных в EEPROM память.
Следует учесть несколько нюансов, перед началом. Бит WR, WREN не могут устанавливаться одной командой в 1. WREN должен быть сброшен, после инициализации записи, т.к. на процесс он не влияет.
; операция записи в EEPROM память
BANKSEL EECON1; перейти в банк, где находиться управляющий
; регистр EECON1
BANKSEL EEADR; перейти в банк, где находиться управляющий
; регистр EEADR
; указание адреса
movlw ADDR; загрузка адреса ячейки памяти в W
movwf EEADR; загрузка адреса в регистр EEADR
; указание данных
BANKSEL EEDATA; перейти в банк, где находиться управляющий
; регистр EEDATA
movfw value; загрузка данных в W
movwf EEDATA; запись данных в EEDATA
BANKSEL EECON1; перейти в банк, где находиться управляющий
; регистр EECON1
bcf EECON1, EEPGD; выбрать EEPROM память данных
bsf EECON1, WREN; разрешить запись в EEPROM память данных
bcf INTCON, GIE; запретить прерывания
; обязательные требования
movlw 0x55; записать 55h в регистр EECON2
movwf EECON2;
movlw 0xAA; записать AAh в регистр EECON2
movwf EECON2;
bsf EECON1, WR; инициализировать запись
bsf INTCON, GIE; разрешить прерывания
bcf EECON1, WREN; запретить запись в EEPROM память данных
btfsc EECON1, WR; проверить завершение
goto $-1; операции записи
Попытайтесь записать необходимые вам данные, воспользовавшись соответствующим кодом. Для того, чтобы контролировать процесс записи, активируйте окно EEPROM из пункта меню View. На рис.6.2. представлено изображение EEPROM памяти, после заполнения массивом.
|
Рис.6.2 – расположение массива в EEPROM памяти
Процесс записи занимает достаточно много машинных циклов, поэтому лучше воспользоваться преимуществами отладчика. Для этого нужно установить «точки остановок» (breakpoints) программы. Можно воспользоваться пунктом меню Debuggers, подпунктом Breakpoints, и прибегнуть к услугам меню. Также нажать клавишу <F2>. Но это долго, сложно, и не сразу понятно. Намного эффективнее следующий вариант:
1. Навести курсор мыши на начало участка кода, который должен попасть в область особой видимости;
2. Кликнуть два раза, вследствие чего напротив команды, на сером фоне, должна появиться буква ‘B’, замкнутая в красном круге;
3. Найти команду, которая бы свидетельствовала завершением участка кода особой видимости, и проделать действие, описанное в шаге 2.
В качестве примера, представлен рис.6.3, на котором в зону особой видимости кода, попала функция Load_Data из предыдущей лабораторной работы.
Рис.6.3 – установка точек остановки отладчика
Когда вы попадёте на начало выполнения первой команды, входящей в область особой видимости, то если вас не интересуют промежуточные результаты остальных команд, а только конечный. Нажмите клавишу <F9>, и программа выполниться в автоматическом режиме от точки до точки. Процесс выполнения команд может занять длительное время, о чём будет свидетельствовать бегущая полоса зелёного цвета, с надписью Running в нижней части левого угла экрана (рис.6.4.)
Рис.6.4 – выполнение программы в автоматическом режиме
Следует установить максимальное время таймер сброса WDT. Зайдите в пункт меню Debuggers, подпункт Settings, и в появившемся окне, найдите вкладку Break Options. Установите в последнем поле по имени WDT Period значение 2147, оно является максимальным. Запись в EEPROM память занимает достаточно долгое время. Таймер сброса может «посчитать», что программа зависла, и следует произвести сброс МК, и тогда процесс записи будет прерван. Чтобы этого не произошло, мы выставили максимально доступное значение, тем самым «уведомив» МК, что сбрасывать необходимо, но не так быстро. На рис.6.5. представлены опции таймер WDT.
|
Рис.6.5 – меню таймера WDT
|
|
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!