Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_з_1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

Тема 6. Программирование таймера 8254 и генерация звука

Цель работы: состоит в получении навыков программирования (на примере синтеза музыкальных фраз) и возможностей использования таймера 8254 в вычислительных системах.

Задание: 1. Ознакомиться с теоретической частью работы №6.

2. Изучить режимы работы БИС 8254 [5,14,23].

3. Подготовить ответы на контрольные вопросы.

4. В соответствии с вариантом задания, составить программу на языке ассемблера, генерирующую мелодию, предусмотрев возможность повторения фразы ''m'' раз. Варианты заданий приведены в таблице 9.3.

9.5. Системный таймер и часы реального времени в IBM PC

Современные компьютеры оснащаются двумя подсистемами таймеров, параллельно отсчитывающими текущее время. Один таймер расположен в микросхеме с низким потреблением энергии (КМОП-микросхеме), которая при выключении питания компьютера продолжает работать, получая энергию от встроенного в компьютер аккумулятора. Этот таймер, обычно, называют часами реального времени. Другой таймер (его часто называют системным) работает, как и все остальные узлы компьютера, только когда компьютер включён. В качестве системного таймера компьютера используется микросхема трехканального 16-разрядного таймера i8254 (программируемый интервальный таймер -PIT) или ее аналог.

Таймер предназначен для получения программно управляемых временных задержек и генерации сигналов заданной частоты, он позволяет повысить эффективность программирования процессов управления и синхронизации внешних устройств, особенно в реальном времени. Микросхема таймера содержит три независимых канала (0, 1 и 2), каждый из которых может быть запрограммирован на работу в одном из шести режимов счета. С каждого канала можно получать сигнал с частотой, равной входной частоте, деленной на произвольное 16-разрядное число. В компьютере на все тактовые входы PIT поступают синхросигналы частотой 1,193 МГц. Все каналы таймера в компьютере имеют специальное назначение, поэтому особой свободы в выборе режима работы или переназначении функций у пользователя нет.

Выход канала 0 связан с сигналом запроса прерывания IRQ0 и обеспечивает прерывание для счетчика реального времени (используется режим работы 3). Пользователю не рекомендуется перепрограммировать этот канал. При старте компьютера канал программируется так, чтобы выдавать импульсы примерно 18,2 раза в секунду. По этому прерыванию программно увеличивается состояние счетчика реального времени. Пользователь может читать состояние данного счетчика из специально выделенной ячейки памяти и применять его для задержек в своих программах.

Выход канала 1 генерирует сигнал запроса регенерации динамической памяти (режим работы 2). Использование этого канала не по назначению может привести к потере содержимого оперативной памяти.

Выход канала 2 генерирует тональный сигнал для встроенного динамика компьютера (режим работы 3). Однако разрешение этого тонального сигнала производится установкой выделенных разрядов (0 и 1) программно доступного параллельного порта контроллера периферийных устройств. Один разряд (0) разрешает работу канала, другой разряд (1) пропускает выходной сигнал на динамик (см. рис. 9.3).

Подсистема часов реального времени в первых компьютерах выполнялась на микросхеме контроллера MC146818 фирмы Motorola. Этот контроллер содержит 64 байта СMOS-памяти, из которых первые 14 байт используются для часов реального времени, а остальные 50 байт хранят информацию о конфигурации системы.