"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автора

PCjr, поэтому его лучше не трогать. Выходная линия этого канала
связана с микросхемой прямого доступа к памяти [5.4.2] и ее им-
пульс заставляет микросхему DMA обновить всю память. На PCjr
канал 1 служит для преобразования входных данных с клавиатуры из
последовательной в параллельную форму. PCjr не использует микрос-
хему прямого доступа к памяти, поэтому когда он вместо этого
прогоняет данные через процессор, то прерывание от таймера забло-
кировано. Канал 1 используется для подсчета заблокированных им-
пульсов часов времени суток, с тем чтобы можно было обновить
значение счетчика после завершения дисковых операций.

Канал 2 связан с громкоговорителем компьютера и он производит
простые прямоугольные импульсы для генерации звука. Программисты
имеют больший контроль над вторым каналом, чем над остальными.
Простые звуки могут генерироваться одновременно с другими прог-
раммными операциями, а более сложные звуковые эффекты могут быть
достигнуты за счет использования процессора. Канал 2 может быть
отсоединен от громкоговорителя и использоваться для синхрониза-
ции. Наконец, выходная линия канала 2 связана с динамиком компью-
тера. Однако динамик не будет генерировать звук до тех пор пока
не сделаны определенные установки микросхемы интерфейса с перифе-
рией 8255.
Две входные линии для каждого канала состоят из линии часов,
которая передает сигнал от микросхемы системных часов и линии,
называемой воротами (gate), которая включает и выключает сигнал
от часов. Ворота всегда открыты для сигналов часов по каналам 0 и
1. Но они могут быть закрытыми для канала 2, что позволяет неко-
торые специальные манипуляции со звуком. Ворота закрываются уста-
новкой младшего бита порта с адресом 61H, который является ре-
гистром микросхемы 8255; сброс этого бита снова открывает ворота.
Эта микросхема обсуждается в [1.1.1]. Отметим что - как и выход
канала 2 - бит 1 порта 61H связан с динамиком и также может ис-
поьзоваться для генерации звука. На рис. 2-2 приведена диаграмма
микросхемы таймера 8253.
Микросхема таймера может использоваться непосредственно для
временных операций, но это редко бывает удобным. Ввод с часов
производится 1.19318 миллионов раз в секунду (даже на AT, где
системные часы идут быстрее, микросхема таймера получает сигнал с
частотой 1.19 Мгц). Поскольку максимальное число, которое может
храниться в 16 битах, равно 65535 и поскольку это число делится
на частоту импульсов от часов, равную 18.2, то максимальный воз-
можный интервал между импульсами равен приблизительно 1/12 секун-
ды. Поэтому большинство временных операций используют счетчик
времени суток BIOS. Для подсчета времени читается значение време-
ни суток и сравнивается с некоторым ранее запомненным значением
для определения числа импульсов, прошедших с того момента. Спе-
циальный способ, описанный в [2.1.7], позволяет испоьзовать счет-
чик времени суток для операций в реальном времени.
8253 предоставляет разработчикам оборудования 6 режимов работы
для каждого канала. Программисты обычно ограничиваются третьим