Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Микроконтроллер PIC16F84A: организация памяти программ и данных, портов ввода/вывода.




 

Память программ. В PIC16F84A команды имеют 14 разрядов и хранятся во флэш-памяти. Ячейки памяти также имеют 14 разрядов и образуют слово. Объем памяти составляет 1 К (1024) слов.

При сбросе МК сигналом низкого уровня на выводе MCLR (Master Clear) происходит сброс в нуль счетчика команд PC, и после окончания сигнала MCLR дальнейшее выполнение команд программы производится с адреса 000h. Так как программа находится в энергонезависимой памяти, при отключении питания ее стирание не происходит.

Память данных. Память данных (ПД) PIC16F84A представляет собой 8-разрядные ячейки ОЗУ, которые по терминологии фирмы Microchip называются регистрами. ПД по выполняемым функциям состоит из двух областей. Первые 12 адресов – это область регистров специальных функций (РСФ), а вторая – область регистров общего назначения (РОН). При выключении питания данные, находящиеся в регистрах ПД, уничтожаются.

В PIC16F84A все регистры распределены по двум банкам, которые имеют нумерацию 0 и 1. В каждый момент времени программе доступен только один регистровый банк. Переключение между банками осуществляется при помощи 5-го бита с именем RP0 из регистра состояния STATUS. При сбросе этого бита в 0 доступен банк 0, при установке бита в 1 – банк 1. Наиболее часто используемые РСФ находятся в банке 0. Некоторые из РСФ присутствуют в обоих банках. Регистры РОН, а их всего 68, продублированы в обоих банках. После сброса МК автоматически выбирается регистровый банк 0.

Наиболее часто в программах используются следующие регистры специального назначения:

· регистр статуса STATUS содержит флаги АЛУ, состояния контроллера при сбросе и биты выбора банков ПД;

· регистр конфигурации OPTION_REG содержит управляющие биты для конфигурации предварительного делителя (предделителя), внешних прерываний, таймера, а также подтягивающих резисторов (pull-up) на выводах порта В;

· регистр управления прерываниями INTCON содержит управляющие биты для всех источников прерываний.

 

Порты ввода/вывода. МК PIC16F84A имеет 13 выводов (линий), каждый из которых может быть сконфигурирован (программно настроен) на ввод или вывод данных. На рисунке 1 приведена упрощенная функциональная схема одной линии порта. В каждой линии имеется триггер данных, входящий в регистр данных порта PORT; триггер направления передачи данных, входящий в регистр направления TRIS; выходной буфер OBF; буфер чтения вывода порта IBF. Буферы OBF и IBF имеют выходы с тремя состояниями. Управление состоянием выходов выполняется с помощью сигналов на входах EN. При EN = 1 выходы буферов находятся в активном режиме и передают логические “1” или “0” со входов. При EN = 0 выходы находятся в отключенном Z-состоянии. Управление буфером OBF выполняется от триггера TRIS. Когда в триггере записан “0”, высокий уровень с инверсного выхода триггера поступает на управляющий вывод EN буфера OBF и переводит его выход в активный режим. Информация, записанная в триггере данных PORT (“0” или “1”), поступает на выход линии порта. Когда в триггере TRIS записана “1”, на выводе EN будет “0”, и выход буфера OBF переходит в Z-состояние, т.е. отключается от вывода порта. Логическое состояние на выводе порта в этом случае может быть прочитано с помощью буфера IBF, который открывается командой чтения выводов порта. Буфер IBF открывается кратковременно только на момент чтения выводов порта. В остальное время выход IBF находится в Z-состоянии и не влияет на шину данных МК. Таким образом, для настройки линии порта на вывод в соответствующий разряд регистра TRIS надо записать 0, а для настройки линии на ввод – записать 1.

Выводы распределены между двумя портами МК: пять выводов порта А (RA0-RA4) и восемь выводов порта В (RB0-RB7). Выбор состояния вывода (вход или выход) определяется регистрами TRISA и TRISB. После сброса МК автоматически все линии портов настроены на ввод. Для изменения настройки необходимо в регистры направления загрузить соответствующую информацию. Пример настройки линий порта В: линии RB0-RB3 – на вывод, линии RB4-RB7 – на ввод:

movlw b’11110000’; загрузить в регистр W двоичное число 11110000

movwf TRISB; переслать содержимое W в регистр TRISB

Некоторые выводы портов обладают специальными функциями. Так, будучи настроенными на ввод линии RB0 и RB4-RB7 могут активизировать прерывания. Вывод RA4 порта А может служить входом подключения внешнего генератора для подсчета числа импульсов с помощью TMR0. Особенностью линий порта В является возможность программного подключения к его выводам, настроенным на ввод, внутренних “подтягивающих” резисторов сопротивлением приблизительно 50 кОм. Возможность такого подключения упрощает взаимодействие с клавиатурой и исключает необходимость в использовании внешнего резистора.

Рисунок 1. Функциональная схема линии порта МК

 





Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 722 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2339 - | 2144 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.