Организация ввода-вывода

Для обмена информацией между микроконтроллером и внешними устройствами предусмотрены возможности параллельного обмена через порты Р1.Р4 и дополнительный порт EPORT и последовательного обмена через специальный блок БПО с использованием двух выводов порта Р2 в режиме выполнения специальных функций.

Параллельный ввод-вывод осуществляется с помощью 8-разрядных двунаправленных портов PI, Р2, РЗ, Р4 (в порте Р4 к внешним выводам Р4.0,1,2,3 подключены только четыре младших разряда) и 4-разрядного порта EPORT, который можно использовать при работе микроконтроллера в режиме 64К. Схема подключения портов к выводам микроконтроллера показана на  1.13.

Каждый порт PI, 2, 3, 4 содержит четыре 8-разрядных регистра: два управляющих регистра Pi DIR, Pi MODE и два регистра данных Pi REG, Pi PIN, где i = 1, 2, 3 или 4 — номер соответствующего порта. Содержимое этих регистров имеет одинаковый формат ( 1.14): каждый разряд определяет режим функционирования или бит передаваемой информации для соответствующего вывода порта.

Управляющий регистр Pi MODE задает режим использования каждого вывода i-ro порта. Если установлено значение «О» в j-ом разряде регистра, то соответствующий вывод Pi.j используется портом Pi для параллельного ввода-вывода, если установлена «1», то этот вывод служит для выполнения специальных функций, перечисленных в разделе 1.1. Подробнее эти функции описаны ниже. Если данный вывод запрограммирован для параллельного обмена, то сответствующий разряд регистра Pi DIR задает направление передачи информации ( 1.15).

Если установлено значение «О» данного разряда, то на вывод Pi.j будет выдаваться значение j-ro разряда регистра данных Pi REG. При этом транзисторы Тп, Тр работают как двухфазный выходной каскад, обеспечивая быструю установку «О» или «1» на выходе микроконтроллера. При установке «1» в соответствующем разряде Pi DIR транзистор Тр запирается, а транзистор Тп запирается или отпирается в зависимости от значения j-ro разряда регистра Pi REG. В этом случае возможен как ввод, так и вывод информации. При выводе информации транзистор Тп работает с «открытым стоком» —ОС (транзистор Тр закрыт), поэтому для установки «1» (высокого потенциала) на выходе требуется подключение резистора между соответствующим выводом и шиной питания Vn. Если соединить выходы нескольких устройств, имеющих выходные каскады с «открытым стоком», то осуществляется поразрядное логическое сложение (операция ИЛИ) выводимых данных: (Pi.j) OR (Pi.j). При вводе информации поступающее значение (Pi.j) логически умножается (операция И) на соответствующий разряд регистра Pi REG, и полученное значение заносится в регистр Pi PIN: (Pi.j) AND (Pi REG)j = (Pi PIN)j. Таким образом, при вводе содержимое регистра Pi REG маскирует разряды поступающих на входы Pi данных. Для реализации немаскируемого ввода необходимо предварительно ввести в регистр Pi REG число 0FFH, то есть установить значение «1» во всех разрядах этого регистра. Для повышения помехозащищенности ввод данных в регистр Pi PIN производится через схему с гистерезисом на передаточной характеристике (триггер Шмитта, ТШ). На входе ТШ включена также цепь защиты от электростатического пробоя.

Comments are closed.