Справочник программиста на персональном компьютере фирмы IBM. Таймеры и звук


Все IBM PC используют микросхему таймера 8253 (или 8254)  длясогласования импульсов от микросхемы системных часов.  Число циклов  системных часов преобразуется в один  импульс, а  последова тельность этих импульсов  подсчитывается для определения времени, или  они  могут быть посланы на громкоговоритель  компьютера  для генерации звука определенной частоты.   Микросхема 8253 имеет три идентичных независимых канала, каждый из которых может программироваться.       Раздел 1. Установка и чтение таймера.
        Программирование микросхемы таймера 8253/8254.
        Установка/чтение времени.
        Установка/чтение даты.
        Установка/чтение часов реального времени.
        Задержка программных операций.
        Операции запрограммированные во времени.
        Управление работой в реальном времени.
        Генерация случайных чисел с помощью микросхемы таймера.
      Раздел 2. Создание звука.
        Программирование генератора звука 76496 (только PCjr).
        Генерация тона.
        Генерация звука одновременно с другими действиями.
        Гудок динамика.
        Генерация набора тонов.
        Генерация строки тонов, одновременно с другими операциями.
        Создание плавного перехода тонов.
        Создание звуковых эффектов.
        Одновременная генерация разных звуков.

Глава 2. Таймеры и звук.

     Раздел 1. Установка и чтение таймера.


   Микросхема 8253 работает  независимо  от процессора. Процессор
программирует микросхему и затем обращается к другим делам. Таким
образом 8253 действует как часы  реального  времени - она считает
свои  импульсы независимо от того, что  происходит в  компьютере.
Однако, максимальный  программируемый интервал составляет прибли-
зительно 1/12 секунды.  Для подсчета интервалов времени в часы  и
минуты нужны какие-то другие  средства.   Именно  по этой причине
импульсы  от нулевого канала микросхемы таймера  накапливаются  в
переменной, находящейся в области данных BIOS. Этот процесс пока-
зан на рис.  2-1. Это накопление обычно называется подсчетом вре-
мени суток.  18.2 раза  в  секунду  выход канала 0 обрабатывается
аппаратным  прерыванием (прерыванием таймера), которое  ненадолго
останавливает  процессор  и  увеличивает  счетчик  времени суток.
Число  0  соответствует  полночи 12:00; когда  счетчик  достигает
значения эквивалентного 24 часам, он сбрасывается на ноль. Другое
время  в  течение суток легко  определяется  делением  показателя
счетчика на 18.2 для каждой  секунды.   Счетчик времени суток ис-
пользуется в большинстве операций, связанных со временем.

 
« Предыдущая статья   Следующая статья »