Программирование параллельного порта - Разработка программно-аппаратного комплекса для мониторинга рентгеновского симулятора SLS-9

Программирование подключенной к параллельному порту аппаратуры заключается в установке определенных битов в регистрах данных и управления и чтении определенных битов из регистра состояния. При этом если с регистром данных проблем не возникает (это обычный байтовый регистр), то два других регистра имеют некоторые особенности Во-первых, некоторые биты являются инверсными. При записи в регистр управления нуля в этих битах устанавливаются единицы, а если на входах регистра состояния установлены нули, то их этих битов считываются единицы. Во-вторых, если четыре бита регистра управления расположены в младших битах байта (биты 0 - 3), то пять битов регистра состояния - в старших (биты 3 - 7). Полная информация об отображении сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера приведена в табл. 3.2.

Табл. 3.2.

Отображение сигналов шин управления и состояния интерфейса Centronics на регистры параллельного порта компьютера.

Ш И Н А

С И Г Н А Л

Б И Т

И Н В Е Р С И Я

Управление

- STROBE

0

Инверсный

- AUTO FD

1

Инверсный

- INIT

2

Прямой

- SLCT IN

3

Инверсный

Состояние

- ERROR

3

Прямой

SLCT

4

Прямой

PE

5

Прямой

- ASK

6

Прямой

- BUSY

7

Инверсный

Программное прерывание 17h предоставляет некоторые возможности по работе с параллельным портом принтера. Однако этих возможностей недостаточно для полноценного программирования подключенных к этому порту внешних устройств. Кроме того использование прерывания существенно замедляет работу программы, поэтому рекомендуется непосредственно считывать данные по соответствующему адресу. Действительно полезной оказывается функция N1 - инициализация порта(вход: AH=1,DX-номер порта(0,1 или 2); выход: AH-статус порта). Дело в том, что эту процедуру необходимо выполнять после окончания работы с принтером. Поэтому рекомендуется вызывать функцию N1 прерывания 17h при выходе из программы.

Следует отметить, что, начиная с BIOS для IBM PC/AT, выпущенного в марте 1986 года, считывание значения из регистра состояния параллельного порта производится дважды, что связано с тем, что изменение состояния BUSY имеет растянутый фронт.

Двунаправленный порт обычно используется в режиме совместимости - именно этот режим устанавливается изначально при выполнении программы POST. Однако, программист может использовать расширенный режим работы порта для подключения нестандартной аппаратуры. В этом случае на компьютерах PS/2 выбор расширенного режима работы параллельного порта производится при конфигурации аппаратуры компьютера путем записи нулевого значения в бит 7 порта 0102h.

В других компьютерах двунаправленный режим контроллера параллельного порта может выть выбран при выполнении программы начальной конфигурации BIOS.

Все сигналы интерфейса Centronics передаются в уровнях ТТЛ и рассчитаны на подключение одного стандартного входа ТТЛ.

Похожие статьи




Программирование параллельного порта - Разработка программно-аппаратного комплекса для мониторинга рентгеновского симулятора SLS-9

Предыдущая | Следующая