Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Запись

1. Поместить адрес в EEADR.

2. Поместить данные в EEDATA.

3. Установить бит WREN (2-й бит регистра EECON1) в 1 для переключения в режим записи.

4. Записать число h’55’ в EECON2.

5. Записать число h’AA’ в EECON2.

6. Начать цикл записи установкой бита WR (1-й бит регистра EECON1) в 1. Операция записи, которая, как правило, является достаточно редким событием, специально сделана такой запутанной, чтобы исключить случайное изменение EEPROM. На самом деле регистра EECON2 не существует, однако последовательная запись по его адресу значений Ь’55’и h’AA’ необходима для разблокирования EEPROM. Прерывания могут нарушить эту последовательность, поэтому, если они используются, их следует запретить. Длительность операции записи составляет около 50 мс, после ее завершения устанавливается 4-й бит регистра EECON1 (флаг EEIF), который может использоваться для прерывания работы процессора. Флаг WRERR (3-й бит регистра EECON1) устанавливается, если цикл записи был прерван, скажем, в результате внешнего сброса.

К EEPROM-памяти данных относятся следующие регистры (адреса указаны для модели PIC16F84):

∙ EEDATA (h’08’)

Этот регистр содержит данные адресованной ячейки EEPROM после операции чтения или же данные, которые будут записаны в EEPROM во время операции записи.

∙ EEADR (h’09’)

Этот регистр содержит адрес байта, к которому производится обращение, загружаемый перед началом операции чтения или записи.

∙ EECON1 (h’88’)

Этот регистр содержит следующие биты управления и состояния:

• Бит запуска операции чтения EEPROM.

• Бит разрешения операции записи.

• Бит запуска операции записи в EEPROM.

• Бит признака преждевременного завершения цикла записи.

• Бит признака нормального завершения цикла записи.

Более полную информацию можно получить из Рис. 15.2, приведенного на стр. 545.

∙ EECON2 (h’89’)

Этот управляющий регистр физически не существует, и при его чтении всегда возвращается нулевое значение. Указанный адрес используется для загрузки последовательности, разрешающей цикл записи. Последовательность состоит из двух чисел h’55’ и h’AA’, записываемых друг за другом.

Прерывания

Регистр управления прерываниями INTCON, расположенный по адресу h’0B’[79], содержит биты маски и статуса, управляющие реакцией микроконтроллера на прерывания. Использование этого регистра описывается в главе 7. Большинство периферийных устройств имеют собственные биты, относящиеся к прерываниям и расположенные в других управляющих регистрах (см., например, Рис. 7.5 на стр. 223).

Примеры

Пример 4.1

Объясните, каким образом внедрение в схему блока выборки команд конвейера увеличивает производительность микроконтроллеров PIC. Предвидите ли вы какие-либо проблемы, связанные с поддержкой команд перехода (таких как goto), относительно структуры конвейера?

Решение

Наличие конвейера является обязательным условием для организации параллельной работы блока выборки и исполнительного блока. То есть для того, чтобы иметь возможность исполнять команду и одновременно с выборкой из памяти программ команды n + 1, требуется внутренний элемент с памятью, который передавал бы код команды в дешифратор команд. Поскольку все команды имеют одинаковый размер (14 бит), структуру регистров конвейера и управление ими можно значительно упростить. Большинство традиционных CISC-процессоров имеют команды, длина которых может быть различной. К примеру, размер команд микроконтроллера 68НС11 колеблется от 1 до 4 байт, т. е. длительность фазы выборки составляет от 1 до 4 транзакций на шине. Некоторые более развитые процессоры имеют многоступенчатый конвейер, каждый этап которого связан с определенной частью исполнительного блока. За счет этого можно реализовать несколько одновременных потоков исполняемых команд.

Проблема, связанная с конвейером, вытекает из предположения, что команды программы будут исполняться последовательно, т. е. так, как они расположены в памяти программ. При этом команды, не удовлетворяющие этому условию и изменяющие содержимое счетчика команд, требуют очистки конвейера, с тем чтобы код адресованной команды оказался на вершине конвейера. Например, если командой к является команда goto n, то к тому моменту, когда процессор узнает, что в действительности на следующем шаге необходимо будет выполнить команду n, команда k + 1 будет уже загружена в конвейер. Поэтому необходимо выполнить холостой цикл, во время которого код команды n будет напрямую загружен в конвейер (разумеется, команда k + 1, код которой находится на вершине конвейера, не выполняется). Иногда эту операцию называют очисткой конвейера. Соответственно, такие команды, как goto, выполняются за два машинных цикла. Команды условного пропуска (см. главу 5) выполняются за два цикла в случае пропуска и за один цикл в противном случае. Все остальные команды выполняются за один машинный цикл.

Пример 4.2

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника