Каждый вывод портов Р0-Р3 может
независимо от других использоваться как вход или как выход. Для использования вывода в качестве
входа необходимо, чтобы его защелка содержала "1". Запись "1" может быть выполнена с помощью
команды выдачи данных. Порты Р1-Р3 иногда называют "квазидвунаправленными". Порт Р0 является в
чистом виде двунаправленным портом. Если он используется в качестве порта ввода-вывода общего
назначения, каждый из его выводов может независимо от других работать как вход или как выход.
Все разряды фиксаторов защелок портов Р0-Р3 по сигналу системного
сброса устанавливаются в "1".
При выполнении команды записи в порт новое значение записывается в
защелку и в начале следующего машинного цикла выводится непосредственно на выходной контакт.
Данные, записанные в защелку, статически фиксируются и не изменяются до перезаписи.
Команды чтения портов микроЭВм делятся на две категории: команды,
считывающие информацию с выходов защелок, и команды, считывающие информацию непосредственно с
внешних контактов выводов порта. Команды, считывающие информацию с выходов защелок, реализуют
так называемый режим "Чтение-Модификация-Запись", заключающийся в том. что команда считывает
состояние защелки, при необходимости модифицирует полученное значение и записывает результат
обратно в защелку. Во всех случаях, когда операндом и регистром назначения результата является
порт или бит порта, команды считывают информацию с выходов защелок, а не с внешних контактов
выводов порта.
Состояние любой линии ввода-вывода можно проверить с помощью команд
условного перехода.
Помимо работы в качестве обычных портов ввода-вывода линии портов
Р0-Р3 могут выполнять ряд дополнительных функций. |
|
|