Для решения указанных проблем все датчики выполняются так, что с точки зрения электрической схемы представляют собой контакты, работающие на замыкание. Поэтому схемы подключения датчика и кнопки не различаются. Со стороны микропроцессорного устройства надо преобразовать замыкание/размыкание контактов в логические уровни, необходимые для правильной работы микропроцессорного устройства. Эту функцию выполняет схема, приведенная на рис. 5.12.
Рис. 5.12.
Иногда требуется вводить информацию с большого количества кнопок. В этом случае для уменьшения количества линий ввода-вывода используется клавиатура, представляющая собой двухмерную матрицу кнопок, организованных в ряды и колонки. Для подключения клавиатуры используется два порта: ввода и вывода. Схема подключения клавиатуры приведена на рис. 5.13.
Рис. 5.13.
Подключение клавиатуры отличается от схемы подключения одиночной кнопки тем, что потенциал общего провода на опрашиваемые кнопки подается не непосредственно, а через порт вывода. В каждый момент времени сигнал логического 0 подается только на один столбец кнопок.
Двоичные сигналы, присутствующие при этом на строках клавиатуры, считываются через порт ввода микропроцессорной системы. Временная диаграмма напряжений, присутствующих на порте вывода при выполнении программы опроса клавиатуры, приведена на рис. 5.14.
Рис. 5.14.
Параллельные порты предназначены для обмена многоразрядными двоичными данными между микропроцессором и внешними устройствами. В качестве внешнего устройства может служить любой объект управления или источник информации (различные кнопки, датчики, микросхемы приемников, синтезаторов частот, дополнительной памяти, исполнительные механизмы, двигатели, реле и т. д.). Иногда в качестве внешнего устройства может выступать другой компьютер или микропроцессор.
Параллельные порты позволяют согласовывать низкую скорость работы внешнего устройства и высокую скорость работы системной шины микропроцессора. С точки зрения внешнего устройства порт представляет собой обычный источник или приемник информации со стандартными цифровыми логическими уровнями (обычно ТТЛ), а с точки зрения микропроцессора — это ячейка памяти, куда можно записывать данные или где сама собой появляется информация. В зависимости от направления передачи данных параллельные порты называются портами ввода, портами вывода или портами ввода-вывода информации.
В качестве простейшего порта вывода может быть использован параллельный регистр, т. к. он позволяет запоминать данные, выводимые микропроцессором, и хранить их до тех пор, пока подается питание. Все это время сигналы с выходов этого параллельного регистра поступают на внешнее устройство. В порт вывода возможна только запись. Структурная схема порта вывода с использованием параллельного регистра приведена на рис. 5.15. Данные с системной шины микропроцессора записываются в параллельный регистр по сигналу «WR». Выходы «Q» регистра могут быть использованы как источники логических уровней для управления внешними устройствами. Этот регистр называется регистром данных порта вывода.
Рис. 5.15.
Для отображения регистра параллельного порта вывода информации только в одну ячейку памяти адресного пространства микропроцессорного устройства совместно с портом вывода всегда используется дешифратор адреса. Разработка дешифратора адреса и вопросы выбора конкретного адреса для параллельного порта обсуждались ранее при рассмотрении распределения адресного пространства микропроцессорного устройства.
В качестве порта ввода может быть использована схема с открытым коллектором или с третьим (Z) состоянием. В настоящее время обычно используются схемы с третьим состоянием. Микросхема, объединяющая несколько таких элементов, называется шинным формирователем. Из порта ввода возможно только чтение информации. Структурная схема порта ввода приведена на рис. 5.16. Для построения порта ввода выход шинного формирователя подключается к внутренней шине данных, а на его вход подключаются сигналы, которые нужно ввести в микропроцессорную систему. Значение сигнала с внешнего вывода порта передается на шину данных (считывается) по управляющему сигналу «RD».
Рис. 5.16.
Для отображения шинного формирователя порта ввода только в один адрес в пространстве адресов микропроцессорного устройства совместно с портом ввода используют дешифратор адреса. Выделяемый им адрес шинного формирователя порта ввода называют адресом регистра данных порта ввода.