Аппаратное обеспечение IBM PC


         

С помощью этой команды вы


С помощью этой команды вы можете выполнять операции чтения состояния каналов либо запоминание регистра счетчика CE каналов. Можно выполнять эти операции как для отдельных каналов, так и для всех каналов одновременно, если установить соответствующие биты (1, 2, 3) в 1.

Формат слова состояния канала напоминает формат регистра управляющего слова, за исключением двух старших разрядов 7 и 6:

7 6 5 4 3 2 1 0 T-T-T-T-T-T-T-¬ ¦ ¦ ¦ ¦ ¦ ¦ LT+T+T+T+T+-+T+T- ¦ ¦ LT- L=T=- L= BCD: 0 - двоичный счет; ¦ ¦ ¦ ¦ 1 - двоично-десятичный счет. ¦ ¦ ¦ ¦ ¦ ¦ ¦ L===== M: 000 - режим 0; ¦ ¦ ¦ 001 - режим 1; ¦ ¦ ¦ X10 - режим 2; ¦ ¦ ¦ X11 - режим 3; ¦ ¦ ¦ 100 - режим 4; ¦ ¦ ¦ 101 - режим 5. ¦ ¦ ¦ ¦ ¦ L========== RW: 00 - код команды CLC (запомнить CE); ¦ ¦ 01 - чтение/запись старшего байта; ¦ ¦ 10 - чтение/запись младшего байта; ¦ ¦ 11 - чтение/запись младшего, затем ¦ ¦ старшего байта. ¦ ¦ ¦ L============= FN: флаг перезагрузки констант; L=============== OUT: состояние выхода OUT.

Разряд FN используется, в основном, в режимах 1 и 5 для определения, произошла ли загрузка константы из регистра CR в регистр счетчика CE.

Разряд OUT позволяет определить состояние выходной линии канала OUT в момент выполнения команды RBC.

Для программирования канала таймера необходимо выполнить следующую последовательность действий:

  • вывести в порт управляющего регистра с адресом 43h управляющее слово;


  • требуемое значение счетчика посылается в порт канала (адреса 40h...42h), причем вначале выводится младший, а затем старший байты значения счетчика.


  • Сразу после этого канал таймера начнет выполнять требуемую функцию.

    Для чтения текущего содержимого счетчика CE необходимо выполнить следующее:

  • вывести в порт управляющего регистра код команды CLC (команда запоминания содержимого регистра CE);


  • вывести в порт управляющего регистра код команды запроса на чтение/запись в регистры канала (поле RW должно содержать 11);


  • двумя последовательными командами ввода из порта нужного канала ввести младший и старший байты текущего сосотояния счетчика CE.



  • Содержание  Назад  Вперед