Рисунок 4.1 — Подсистема таймера компьютера IBM PC AT
Канал 1 (Out1) используется для регенерации динамической памяти компьютера. Сигнал с выхода канала инициирует запрос к каналу ПДП, который выполняет обновление содержимого памяти. Использовать этот канал не рекомендуется, т.к. его перепрограммирование может привести к нарушениям в работе основной оперативной памяти компьютера.
Канал 2 связан с динамиком и вырабатывает сигналы прямоугольной формы заданной частоты для генерации различных звуков или музыки либо как генератор случайных чисел. Управление динамиком осуществляется программным путем через системный порт 61h битами 0 и 1. Если бит 0 установлен в 1, то таймер задает частоту звучания динамика, а нулевое значение бита 0 блокирует работу таймера при генерации звука. Если бит 1 равен 1, то динамик начинает издавать звук и продолжает звучать до тех пор, пока бит 1 не станет равным 0.
Таймеру соответствуют четыре порта ввода-вывода, которые имеют адреса и назначение, показанные в таблице 4.1. Следует помнить, что по адресам 40h-42h возможны операции чтения и записи, а порту 43h разрешена только операция записи.
Таблица 4.1 – Регистры таймера
Порт |
Назначение |
40h |
Счетчик 0 — системные часы (генерация сигнала IRQ0 каждые 54,936 мс). Режим 011, LSB/MSB, Binary, константа счетчика = 0 (соответствует коэффициенту деления 65536) |
41h |
Счетчик 1 — регенерация памяти (DRQ0 для XT, логика регенерации — для AT). Режим 010, LSB, Binary, константа счетчика =12h (18) |
42h |
Счетчик 2 — генератор звука. Вход GATE от бита 0 порта В 8255 (061h). Режим 011, LSB/MSB, Binary, значение счетчика определяет высоту тона |
43h |
Управляющий регистр Биты 7,6 — выбор счетчика 0, 1, 2. Биты 5,4 — режим обращения: 00 — защелка текущего значения; 01 — LSB — только младший байт; 10 — MSB — только старший байт; 11 — LSB/MSB — сначала младший, затем старший байт. Биты 3-1 — режим счетчика: 000 — прерывание по счетчику; 001 — ждущий мультивибратор (одновибратор, у 8254 несколько отличается от 8253); x10— генератор коротких импульсов заданной частоты; x11 — генератор меандра; 100 — счетчик событий с разрешением; 101 — счетчик событий с перезапуском. Бит 0 — 0 = Bin (двоичный счет), 1 = BCD (двоично-десятичный счет) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.