ВУЗ:
Составители:
90
данных контроллера (порт вывода А1) в регистр состояния и управле-
ния записывается логическая единица. Тем самым формируется управ-
ляющий сигнал "Выходные данные готовы" в шине связи с ВУ.
Внешнее устройство, приняв байт данных, управляющим сигна-
лом "Данные приняты" обнуляет регистр состояния контроллера. При
этом формируются управляющий сигнал системного интерфейса "Го-
товность ВУ" и признак готовности ВУ к обмену, передаваемый в про-
цессор по одной из линий шины данных системного интерфейса по-
средством стандартной операции ввода при реализации программы
асинхронного обмена.
Логика управления контроллера обеспечивает селекцию адресов
регистров контроллера, прием управляющих сигналов системного ин-
терфейса и формирование на их основе внутренних управляющих сиг-
налов контроллера, формирование управляющего сигнала системного
интерфейса "Готовность ВУ". Для сопряжения регистров контроллера
с шинами адреса и данных системного интерфейса в контроллере ис-
пользуются соответственно приемники шины адреса и приемопередат-
чики шины данных.
Рассмотрим на примере, каким образом контроллер ВУ обеспечи-
вает параллельную передачу данных в ВУ под управлением программы
асинхронного обмена. Алгоритм асинхронного обмена в данном случае
передачи прост.
1. Процессор микроЭВМ проверяет готовность ВУ к приему дан-
ных.
2. Если ВУ готово к приему данных (в данном случае это логиче-
ский 0 в нулевом разряде регистра А2), то данные передаются с шины
данных системного интерфейса в регистр данных А1 контроллера и
далее в ВУ. Иначе повторяется п. 1.
Пример 1. Фрагмент программы передачи байта данных в асин-
хронном режиме с использованием параллельного контроллера ВУ
(рис. 32). Для написания программы асинхронной передачи воспользу-
емся командами процессора 8086.
MOV DX, A2; номер порта A2 помещаем в DX
m1: IN AL, DX; чтение байта из порта A2
TEST AL, 1; проверка нулевого состояния регистра A2
JNS ml; переход на метку ml если разряд не нулевой
MOV AL, 64; выводимый байт данных помещается в AL
MOV DX, A1; номер порта A1 записываем в DX
OUT DX, AL; содержимое регистра AX передаем в порт A1
Страницы
- « первая
- ‹ предыдущая
- …
- 88
- 89
- 90
- 91
- 92
- …
- следующая ›
- последняя »
