"Архитектура ввода-вывода персональных ЭВМ IBM PC" - читать интересную книгу автора (Лукач Ю.С.)

| +——————————————> 4-5: вид загрузки счетчика: а & 30h
| 00 - "защелкивание"
| (биты 0-3 безразличны)
| 01 - только младший байт
| 10 - только старший байт
| 00 - младший байт, затем старший
+————————————————————> 6-7: номер канала: a & C0h
00 - канал 0
01 - канал 1
10 - канал 2
11 - запрещенная комбинация

Существует два способа чтения текущего значения счетчика
канала.

1. Чтение с остановом счетчика. Для обеспечения стабильных
показаний необходимо приостановить работу канала либо подачей
сигнала низкого уровня на вход GATE (кроме режима 1), либо
блокированием тактовых импульсов.

2. Чтение "на лету". Для считывания счетчика без остановки
процесса счета используется посылка в порт 43h управляющего
слова в режиме "защелкивания" (см. выше). Это управляющее слово
фиксирует текущее значение счетчика и Вы можете считать его
младший байт, а затем старший байт.


4.2. Таймер на системной плате IBM PC

В IBM PC каналы таймера имеют следующее назначение.

Канал Назначение Режим
————————————————————————————————————————————————————————————————
0 системные часы (IRQ0) 3, счетчик=0 (65536)
1 запрос для канала 0 ПДП
(регенерация памяти) 2, счетчик=18
2 генератор звука ——
————————————————————————————————————————————————————————————————

Тактовая частота каждого канала равна 1,19318 МГц, т. е.
каждый такт имеет длительность 0,84 мсек. Вход GATE каналов 0 и
1 всегда имеют высокий уровень, поэтому счет на этих каналах
разрешен всегда. Вход GATE канала 2 управляется битом 0 порта PB
интерфейса 8255 (см. гл. 5), связанного с портом 61h.

При начальной загрузке BIOS инициализирует канал 0 для
работы в режиме 3 со счетчиком 0 (т. е. 65536 декрементов на
цикл счета). Поэтому частота системных часов равна
1,19 МГц/65536 = 18.2 Гц
и прерывание IRQ0, связанное с вектором Int 8, происходит 18,2