Справочное пособие по цифровой электронике | страница 36






Рис. 7.1.Средства ввода-вывода в простом домашнем компьютере.


Однако, в микропроцессорной системе управления некоторым промышленным процессом не требуются клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контролирует главный микрокомпьютер (с использованием последовательной линии RS-232C). Контроллер должен иметь до 24 отдельных линий ввода и вывода для управления реле, двигателями и лампами (рис. 7.2).



Рис. 7.2.Средства ввода-вывода в промышленной системе управления.


7.2. Способы организации ввода-вывода

Существуют два основных способа организации ввода-вывода. С одной стороны, устройства (микросхемы) ввода-вывода считаются адресами памяти, а с другой — каждому устройству (микросхеме) назначается адрес конкретного порта. В любом случае данные выводятся простой записью их по соответствующему адресу памяти или порта, а вводятся считыванием по аналогичному адресу. В случае ввода-вывода, отображенного на память, ЦП реализует операции ввода-вывода точно так же, как операции памяти. Часть пространства памяти резервируется для ввода-вывода: ее, конечно, нельзя одновременно назначать ЗУПВ или ПЗУ. При организации ввода-вывода через порты выделяется набор адресов портов, которые совершенно не зависят от обычного пространства памяти. Адреса портов отделяются от адресов памяти с помощью сигналов, действующих на шине управления.

Например, в микропроцессоре Z80 для этого используются сигналы:

— линия запроса памяти, на которой формируется сигнал низкого уровня, когда ЦП выполняет операцию считывания или записи с памятью;

 — линия запроса ввода-вывода, на которой формируется сигнал низкого уровня, когда ЦП выполняет операцию ввода-вывода.

Для ввода и вывода в микропроцессоре Z80 существуют специальные команды, например:

OUT(FFH), А — записывает содержимое аккумулятора (8-битное значение) в порт с 16-ричным адресом FF;

IN (A) FFH — считывает содержимое порта с 16-ричным адресом FF и помещает результат в аккумулятор.


7.3. Параллельный и последовательный ввод-вывод

Необходимо различать также параллельный и последовательный ввод-вывод. В первом случае одновременно передается байт данных (следовательно, здесь требуется 8-битный буфер или защелка), а во втором данные передаются отдельными битами. Параллельный ввод-вывод реализуется довольно просто (рис. 7.3). Здесь для вывода применяется стандартная 8-битная защелка, а для ввода — 8-битный тристабильный буфер. Однако такая простая схема оказывается недостаточно гибкой, и лучше воспользоваться программируемой микросхемой параллельного ввода-вывода.