Изучение принципов программирования платы расширения содержащей параллельный периферийный адаптер с использованием интегрированной среды разработки языка программирования С++ Builder 5, страница 3

В режиме 2  обеспечивается возможность обмена информацией с периферийными устройствами через двунаправленный 8-разрядный канал А по сигналам квитирования. Для передачи и приема сигналов управления обменом используется пять линий канала С. Выбор соответствующего канала и направление передачи информации через канал определяются сигналами А0, А1 (обычно соединяются с младшими разрядами канала адреса системы) и сигналами  RD,  WR, CS. При этом канал В также может работать но только в режиме 0 или 1.

Режим работы каждого из каналов А, В, С определяется содержимым регистра управляющего слова (РУС) согласно рисунку 7. Произведя запись управляющего слова в РУС, можно перевести микросхему ППА в один из трех режимов работы: режим 0 – асинхронный ввод/вывод; режим 1 – стробируемый ввод/вывод; режим 2 – двунаправленный канал.

Рисунок 7

При подаче сигнала SR РУС устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Режим работы каналов можно изменять как в начале, так и в процессе выполнения программы, что позволяет обслуживать различные периферийные устройства в определенном программой порядке одной микросхемой ППА. При изменении режима работы любого канала все входные и выходные регистры каналов и триггеры состояния сбрасываются.

В дополнение к основным режимам работы микросхема ППА обеспечивает возможность программной независимой установки в “1” и сброса в “0” любого из разрядов регистра канала С. Формат управляющего слова установки/сброса разрядов регистра канала С показан на рисунке 8. В зависимости от кода записанного в разрядах D3 – D1, выбирается разряд канала С, значение которого будет изменено при записи управляющего слова. Если необходимо изменить состояние нескольких разрядов канала С, то загружается последовательно несколько управляющих слов. Значение разрядов D6 – D4 произвольное. Разряд D7 содержит признак управления: если он равен единице, то передается управляющее слово, а если нулю, то выдается слово установки разрядов канала С.

                                

Рисунок 8

          В лабораторной работе «Пауза» в форме на экране компьютера формировалась временная задержка при появлении значения «0» и «1». Такой сигнал невозможно использовать для передачи на объекты управления.

           При использовании плат расширения можно обеспечить вывод управляющих сигналов на внешний разъем для управления объектами (например лампочками, светодиодами или реле). В лабораторной работе «ПаузаППА» осуществляется вывод сигнала логический «0» и логическая «1» в нулевой разряд порта С ППА. Порт С выбран для вывода информационного сигнала т.к. в лабораторном макете есть возможность контролировать его появление визуально с помощью светодиодов. Порт А лабораторного макета настраивается обычно на ввод информации т.к. к нему подключен четырёхразрядный двоичный счётчик, работающий в режиме сложения.

          Таким образом в лабораторной работе «ПаузаППА» необходимо настроить каналы ППА следующим образом: канал А – ввод, канал В – ввод, канал С – вывод. Для этого необходимо в двоичном коде записать следующее управляющее слово ППА:

          D7  D6  D5  D4  D3  D2  D1  D0

            1    0     0     1    0      0     1     0

Где значения разрядов означают:

D0 = 0 – разряды 0 – 3 канала С ППА настроены на вывод информации;

D1 = 1 – канал В ППА настроен на ввод информации;

D2 = 0 – разряды 0 – 3 канала С и канал В ППА настроены для работы в режиме О;

D3 = 0 – разряды 4 – 7 канала С ППА настроены на вывод информации;

D4 = 1 – канал А ППА настроен на ввод информации;

  D5 = 0; D6 = 0  – разряды 4 – 7 канала С и канал А ППА настроены для работы в режиме О.

4  Программирование плат расширения

Рассмотрим работу с ППА платы расширения 5600 на примере создания программы «PausePPA».