Контрольная работа: Организация интерфейса в микро ЭВМ

Программирование адаптера заключается в загрузке кода (приказа) в регистр управляющего слова (РУС). Формат приказа определения режима, идентифицируемого условием D7 = 1, приведен на рис. 2.

Отметим, что 8-битные порты А и В не разделены, а линии порта С разделены на две 4-битные группы, представляющие собой два независимых порта. Например, приказ конфигурации порта А на ввод в режиме 0, порта В на вывод в режиме 1, бита 3 порта С на ввод и бита 7 порта С на вывод имеет код 10010101. Этот код загружается в аккумулятор командой MVI и выводится в регистр управления адаптера командой OUT.

Управляющее слово с нулевым старшим битом D7 = 0 используется для установки или сброса любого бита порта С. Биты D4 ¸ 6 не используются и обычно содержат нули; биты D1 ¸ 3 содержат двоичный номер (адрес) модифицируемого бита порта С, а бит D0 задает установку (D0 = 1) или сброс (D0 = 0) адресуемого бита. Например, приказ сброса бита 2 порта С имеет код 00000100. Приказы данного формата используются для формирования сигналов квитирования в режимах 1 или 2. Формирование положительного импульса на выходе бита 3 порта С реализуется следующими командами:

MVIA,00000111B;Установка бита 3

OUTРУС;Вывод в порт РУС

MVIA,00000110B;Сброс бита 3

OUTРУС;Вывод в порт РУС

Здесь РУС – символический адрес регистра управления, который определяется интерфейсом адаптера с системной шиной. Например, им может быть РУС = 0FBH.

Отметим, что в приведенном фрагменте можно сэкономить один байт, заменив вторую команду MVI на команду DCR A.

Аналогичная функция установки и сброса отдельных бит портов А и В реализуется в три этапа: содержимое порта вводится в аккумулятор, командами ORI и ANI с соответствующими операндами-масками модифицируется нужный бит, а затем измененный результат выводится в тот же порт.

Как видно из приказа определения режима, адаптер имеет три режима работы.

Режим 0 – программно-управляемый ввод-вывод данных в синхронном режиме по трем 8-разрядным каналам А, В и С. Каждый канал может быть использован только для ввода или вывода информации, а канал С дополнительно может быть разделен на два 4-разрядных канала, что обеспечивает 16 возможных конфигураций адаптера.

Выводимые данные фиксируются в регистрах-защелках, входящих в состав всех портов, а вводимые данные не запоминаются, т. е. в операции считывания входного порта в аккумулятор передается текущее состояние входных линий. Режим 0 применяется в программно-управляемом вводе-выводе медленно меняющихся данных или постоянных значений.

Режим 1 – обмен данными с ВУ по каналам А и В в асинхронном режиме и режиме прерывания программы. Шесть линий порта С используются для управления обменом.

Данный режим предоставляет пользователю следующие возможности: запрограммировать один или два параллельных порта с линиями квитирования и прерывания, каждая из которых может работать на ввод или вывод; при использовании только одного порта остальные 13 линий запрограммировать в режиме 0; при определении двух портов в режим 1 оставшиеся 2 линии использовать для ввода или вывода.

Режим 2 – двунаправленный обмен данными с ВУ по каналу А в режиме прерывания программы. Пять разрядов порта С используется как управляющие для порта А.

Только группа А ППА может быть настроена на этот режим.

Пример 1. Необходимо настроить ППА на режим 0, причем порт А должен выполнять ввод; порт В – ввод; порт С (4-7й разряды) – вывод; порт С (0-3й разряды) – ввод (рис. 3).


а) управляющее слово; б) заданный режим

Рисунок 3 – Управляющее слово для программирования ППА

Положим, что регистр управления требуемого ППА имеет адрес 0FBH. Для задания требуемого режима необходимо загрузить в аккумулятор МП управляющее слово (рис. 3) и по команде OUT записать его в регистр управления ППА.

Пример 2. Необходимо настроить ППА на режим 1, причем порт А и В должен обеспечивать стробируемый ввод.

На рис. 4 изображены управляющие слова для настройки портов А и В.

а) порт А – ввод; б) порт В – ввод

Рисунок 4 – Управляющие слова для настройки ППА

Для реализации этого режима триггер разрядов PC.4 для порта А и PC.2 для порта В должны быть предварительно установлены в "1", если программист разрешает прерывание.

Настройка триггеров «разрешение прерывания» осуществляется посредством загрузки управляющего слова с нулем в старшем разряде с помощью команды OUT в регистр управляющего слова:

К-во Просмотров: 140
Бесплатно скачать Контрольная работа: Организация интерфейса в микро ЭВМ