Порты микроконтроллера

Порты Р0-Р3 могут работать как независимые порты ввода/вывода. Непосредственно к линиям портов могут подключаться периферийные устройства (регистры, некоторые элементы индикации и т.п.). Каждая линия может быть использована как для ввода, так и для вывода информации под управлением программного обеспечения. При подключении следует учитывать нагрузочную способность линий, т.е. величину тока, который может обеспечить микросхема в нагрузке. Для рассматриваемой микросхемы выходной ток линий составляет единицы миллиампер. Поэтому подключение более мощных потребителей необходимо производить через буферные схемы (например, микросхемы 1102АП5,6 обеспечивают выходной ток до 300 мА, регистр 580ВА86 – до 32 мА и т.д.).

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

Кроме того, все порты имеют целый ряд дополнительных функций.

Порт Р0 (Р0.0-Р0.7):

· при работе с внешней памятью программ или данных в начале цикла обращения через Р0 выводятся младшие разряды адреса, затем по этим линиям передается байт данных;

· при программировании микросхемы (записи программы во внутреннюю память программ) и проверке через линии порта Р0 производится чтение/запись данных.

Порт Р1 (Р1.0-Р1.7):

· используется для передачи младших разрядов адреса при программировании и проверке микросхемы.

Порт Р2 (Р2.0-Р2.7):

· используется для передачи старших разрядов адреса при работе с внешней памятью программ и внешней памятью данных;

· при программировании микросхемы (записи программы во внутреннюю память программ) и проверке через линии порта Р2 производится передача старших разрядов адреса и управляющих сигналов.

Порт Р3 (Р3.0-Р3.7). Линии порта Р3 могут быть использованы для передачи сигналов управления:

· RxD (линия Р3.0) - передача информации в последовательном коде;

· TxD (линия Р3.1) - прием информации в последовательном коде;

· INT0 (линия Р3.2) - вход внешнего сигнала прерывания 0;

· INT1 (линия Р3.3) - вход внешнего сигнала прерывания 1;

· Т0 (линия Р3.4) – вход таймера/счетчика 0;

· Т1 (линия Р3.5) вход таймера/счетчика 1;

· WR (линия Р3.6) – сигнал ЗАПИСЬ. Формируется при передаче байта информации через порт Р0 во внешнюю память данных;

· RD (линия Р3.7) – сигнал ЧТЕНИЕ. Формируется при считывании байта через порт Р0 из внешней памяти данных.

Структура разряда порта представлена на рис.5. Здесь видно, что выходные каскады порта (образованы транзисторами Т1 и Т2) через мультиплексор МХ могут подключаться либо к выходу защелок, либо к внутренним шинам Адрес/данные.

Рис.5. Структура разряда порта P0  

При обращении к внешней памяти по линии Управление поступает 1, ключ мультиплексора замыкается вверх, вывод Р0.Х определяется состоянием линии Адрес/данные (при 1 открывается транзистор Т1, при 0 – транзистор Т2).

В режиме ввода/вывода общего назначения по линии Управление поступает 0, ключ мультиплексора МХ замкнут вниз, управление Т1 недоступно.

В режиме ввода через буфер В1 или В2 можно прочитать состояние защелки или внешнего вывода. Устройство чтения определяется типом используемой команды.

В режиме вывода при выдаче в защелку состояния 0, открывается транзистор Т2 и на выводе Р0.Х состояние 0.

Для формирования на выводе состояния 1, необходимо использовать внешний подтягивающий резистор R1, тогда при закрытии транзистора Т2 вывод Р0.Х примет состояние 1.




double arrow
Сейчас читают про: