Объединенный порт ввода/вывода, показанный на рис. 14.17, можно собрать на специальной макетной плате, рассчитанной на вставление в свободный слот расширения на материнской плате персонального компьютера. Тогда питание и все сигналы — адрес, данные, сигналы чтения, записи и прерываний — берутся из системной шины. Подходящие для этого платы выпускаются фирмой Maplin Electronics.
Необходимо принять меры предосторожности, чтобы гарантировать надежную изоляцию между электроникой персонального компьютера и внешними напряжениями, потому что в противном случае в компьютере могут произойти дорогостоящие поломки.
К портам ввода и вывода легко обращаться из программ, написанных для работы в среде GWBASIC или QBASIC, вставляя соответствующие строки. Ключевыми являются команды INP и OUT соответственно для чтения и для вывода шестнадцатеричного числа по указанному адресу. Типичные строки в программе могли бы иметь следующий вид.
Чтобы перевести все линии вывода на уровень логической 1:
10 OUT &Н0300, &FF
Чтобы прочитать число на линиях ввода:
10 N = INP (&Н0301) 20 PRINT N
Чтобы прочитать число на линиях ввода и послать его на линии вывода:
10 N = INP (&Н0301) 20 OUT &Н0300, N 30 GOTO 10
В системах на основе персональных компьютеров в качестве гибкого устройства ввода/вывода широко применяется программируемый параллельный интерфейс 8255 фирмы Intel (аналог 580ВВ55. — Примеч. перев.). Он может быть запрограммирован таким образом, чтобы любой из его трех
Рис. 14.17. Объединенный порт ввода и вывода. При использовании дешифратора, представленного на рис. 14.13, адрес порта вывода равен &Н0300, а адрес порта ввода — &Н0301.
8-разрядных портов мог выполнять либо функцию порта ввода, либо функцию порта вывода. Интерфейс применяется вместе с дешифратором адреса; программирование интерфейса можно осуществить, используя главный процессор; в результате программирования каждый из портов может стать либо простым буфером, либо регистром-защелкой либо действовать как двунаправленная шина. Полезную дальнейшую информацию можно почерпнуть из справочных данных об ИС 8255.
Литература: М.Х.Джонс, Электроника — практический курс Москва: Техносфера, 2006. – 512с. ISBN 5-94836-086-5