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



         

Микросхемы таймера 8253/8254


Таймеры 8253 и 8254 состоят из трех независимых каналов, или счетчиков. Каждый канал содержит регистры:

  • состояния канала RS (8 разрядов);
  • управляющего слова RSW (8 разрядов);
  • буферный регистр OL (16 разрядов);
  • регистр счетчика CE (16 разрядов);
  • регистр констант пересчета CR (16 разрядов).
  • Каналы таймера подключаются к внешним устройствам при помощи трех линий:

  • GATE - управляющий вход;
  • CLOCK - вход тактовой частоты;
  • OUT - выход таймера.
  • Регистр счетчика CE работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLOCK при условии, что на вход GATE установлен уровень логической 1.

    В зависимости от режима работы таймера при достижении счетчиком CE нуля тем или иным образом изменяется выходной сигнал OUT.

    Буферный регистр OL предназначен для запоминания текущего содержимого регистра счетчика CE без остановки процесса счета. После запоминания буферный регистр доступен программе для чтения.

    Регистр констант пересчета CR может загружаться в регистр счетчика, если это требуется в текущем режиме работы таймера.

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

    Упрощенная схема взаимодействия регистров канала приведена на рисунке:

    -----¬ -----¬ ----------------¬ ¦ CR +-->--+ CE +->-+ +-<--- GATE L----- L-T--- ¦ Управляющая ¦ ¦ ¦ логика канала +-<--- CLOCK ¦ ¦ ¦ --+--¬ ¦ +->--- OUT ¦ OL ¦ ¦ ¦ L----- L----------------

    Возможны шесть режимов работы таймера. Они разделяются на три типа:

  • Режимы 0, 4 - однократное выполнение функций.
  • Режимы 1, 5 - работа с перезапуском.
  • Режимы 2, 3 - работа с автозагрузкой.
  • В режиме однократного выполнения функций перед началом счета содержимое регистра констант пересчета CR переписывается в регистр счетчика CE по сигналу CLOCK, если сигнал GATE установлен в 1. В дальнейшем содержимое регистра CE уменьшается по мере прихода импульсов CLOCK. Процесс счета можно приостановить, если подать на вход GATE уровень логического 0. Если затем на вход GATE подать 1, счет будет продолжен дальше. Для повторения выполнения функции необходима новая загрузка регистра CR, т.е. повторное программирование таймера.




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