Формат регистра управляющего байта (CBR)

Карта программно доступных регистров ПИТ

  Регистр Разрядность Тип доступа Относительный адрес
Канал 0 Канал 1 Канал 2
Входной регистр счетчика CR   запись      
Выходной регистр счетчика OL   чтение      
Выходной регистр состояния SL   чтение      
Регистр управляющего байта CBR   запись      

7.2 Состав и назначение регистров каналов.

Управление:

CBR (Control Byte Register) – регистр управляющего байта. 8 разрядов, относительный адрес – 3 для любого канала, номер канала должен задаваться в формате управляющего байта.

Статус/состояние:

SR (Status Register) – внутренний регистр состояния, процессору не доступен, хранит режим работы канала (состояние выхода OUT, состояние счетчика).

SL (Status Latch) – выходной регистр состояния. Предназначен для чтения состояния таймера и имеется только в Intel 8254. Информация из SR может записываться в SL по команде процессора.

Для счета:

CR (Count Register) – входной регистр счетчика. Предназначен для хранения начального значения счетчика канала, т.е. константы пересчета. 16 – разрядный, доступен ЦП для записи. Содержимое CR может записываться в счетный элемент CE, если это необходимо в текущем режиме работы.

CE (Counter Element) – содержимое уменьшается с каждым импульсом на входе CLK, если GATE = 1. ЦП не доступен. В зависимости от режима работы таймера, тем или иным способом изменяется OUT.

OL (Output Latch) – выходной регистр счетчика, всегда доступен ЦП для чтения. Может использоваться для запоминания содержимого CE без остановки счета.

7.3 Формат регистров таймера.

CBR – определяет формат счета, режим работы канала, порядок загрузки констант во входной регистр счетчика и порядок чтения содержимого CE из OL.

               
SC RW MODE BCD

BCD – определяет формат счета: если BCD =1, то двоично-десятичный формат; если BCD =0, то двоичный формат. В двоичном формате константа задается в диапазоне 0-65535, в двоично-десятичном константа задается в диапазоне 0-9999. Значения константы N =0: в двоичном формате: 65536 (216), в двоично-десятичном формате: 1000 (104).

MODE – определяет режим работы сигнала:

  Режим 0 - прерывания по концу счета.
  Режим 1 - аппаратно-перезапускаемый одновибратор.
X 10 Режим 2 – импульсный генератор.
X 11 Режим 3 – генератор меандра.
  Режим 4 – программно-запускаемый одновибратор.
  Режим 5 – аппаратно-запускаемый одновибратор.

RW – порядок загрузки констант во входной регистр счетчика и порядок чтения счетного элемента из OL (выходного регистра счетчика).

  Команда фиксации счетного элемента в выходном регистре счетчика.
  Константа задана только младшим байтом (запись/чтение только младшего байта).
  Константа задана только старшим байтом (запись/чтение только старшего байта).
  Запись/чтение сначала младшего, затем старшего байта.

SC – определяет номер канала или команду чтения состояния таймера.

  Канал 0
  Канал 1
  Канал 2
  Чтение состояния таймера

Команда фиксации содержимого счетного элемента в выходном регистре.

               
SC 0 0 (RW) X X X X

Фиксация содержимого счетного элемента в выходном регистре счетчика.

Команда чтения состояния таймера:

               
1 1 Count Status CNT 2 CNT 1 CNT 0  

Команда может быть выполнена только в Intel 8254. Команда позволяет выполнить для одного, нескольких или всех каналов следующие действия:

1. Фиксация содержимого счетчика.

2. Фиксация статусного состояния.

Count – защелкивать или нет выходные регистры счетчика (0 – да, 1 – нет).

Status - защелкивать или нет статусные регистры счетчика (0 – да, 1 – нет).

CNT 2, CNT 1, CNT 0 – определяет номера каналов, в которых необходимо выполнить данную операцию.

Например: 11001110 – защелкивание выходного регистра счетчика и статусного регистра по всем каналам.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: