русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Порты ввода/вывода


Дата добавления: 2014-04-18; просмотров: 807; Нарушение авторских прав


Контроллеры подгруппы РIС16F8Х имеют два порта: РОRТА (5 бит) и РОRТВ (8 бит) с побитовой индивидуальной настройкой на ввод или на вывод.

 

 

Порт А (РОRТА) представляет собой 5-битовый фиксатор, соответствую­щий выводам контроллера RА<4:0>. Линия RА4 имеет вход триггера Шмитта и выход с открытым стоком. Все остальные линии порта имеют ТТЛ вход­ные уровни и КМОП выходные буферы. Адрес регистра порта А – 05h.

Каждой линии порта поставлен в соответствие бит направления пере­дачи данных, который хранится в управляющем регистре ТRISА, распо­ложенном по адресу 85h. Если бит управляющего ТRISА регистра имеет значение 1, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержи­мое соответствующего регистра-фиксатора порта. При включении пита­ния все линии порта по умолчанию настроены на ввод.

Операция чтения порта А считывает состояние выводов порта, в то вре­мя как запись в него изменяет состояние триггеров порта. Все операции с портом являются операциями типа «чтение-модификация-запись». По­этому запись в порт предполагает, что состояние выводов порта вначале считывается, затем модифицируется и записывается в триггер-фиксатор.

Вывод RА4 мультиплексирован с тактовым входом таймера ТMR0.

 

 

 

 

 

 

Порт В (РОRТВ) - это двунаправленный 8-битовый порт, соответству­ющий выводам RB<7:0> контроллера и расположенный по адресу 06h. Относящийся к порту В управляющий регистр ТRISВ расположен на первой странице регистров по адресу 86h. Если бит управляющего ТRISВ регист­ра имеет значение 1, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки. При включении питания все линии порта по умолчанию настроены на ввод.



У каждой ножки порта В имеется небольшая активная нагрузка на линию питания (pull-up). Она автоматически отключается, если эта ножка запрограммирована как вывод. Более того, управляющий бит / RBPU регистра ОРТION<7> может отключить) все нагруз­ки. Сброс при включении питания также отключает все нагрузки.

Четыре линии порта В (RВ<7:4>) могут вызвать прерывание при изме­нении значения сигнала на любой из них. Если эти линии настроены на ввод, то они опрашиваются и защелкиваются в цикле чтения Q1. Новая величина входного сигнала сравнивается со старой в каждом командном цикле. При несовпадении значения сигнала на ножке и в фиксаторе гене­рируется высокий уровень. Выходы детекторов «несовпадений» R.В4, RВ5, RВ6, RВ7 объединяются по ИЛИ и генерируют прерывание RBIF (запо­минаемое в регистре INTCON<0>). Любая линия, настроенная как вывод, ,в этом сравнении не участвует. Прерывание может вывести кристалл из режима SLЕЕР. В подпрограмме обработки прерывания следует сбросить запрос прерывания одним из следующих способов:

• прочитать (или записать в) порт В. Это завершит состояние сравнения;

• обнулить бит RBIF регистра INTCON<0>.

При этом необходимо иметь в виду, что условие «несовпадения» будет продолжать устанавливать признак RBIF. Только чтение порта В может устранить «несовпадение» и позволит обнулить бит RBIF.

Прерывание по несовпадению и программно устанавливаемые внут­ренние активные нагрузки на этих четырех линиях могут обеспечить про­стой интерфейс, например, с клавиатурой, с выходом из режима SLЕЕР по нажатию клавиш.

 

 

Занятие 49(53)



<== предыдущая лекция | следующая лекция ==>
Косвенная адресация | Модуль таймера и регистр таймера.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.226 сек.