|
Использование канала звука
Несмотря на
кажущуюся сложность, для программиста, знающего схемотехнику компьютера, использование
портов для управления звучанием динамика не представляет особой проблемы. Ранее
даже встречались программы, которые необычайно чисто воспроизводили на встроенном
в компьютер динамике речь и музыку, правда, таких примеров было не так много,
поскольку от программиста требовалось подать на динамик аналоговый сигнал, преобразованный
в широтно-импульсную модуляцию (ШИМ). В этом случае динамик выполнял не только
роль излучателя, но и работал как интегрирующая цепь (фильтр низких частот).
Обычно программисты
и пользователи ограничивались простейшим управлением динамиком, например, с
помощью оператора SOUND из языка программирования Basic. Ниже приведен фрагмент
программы, которая создает звуковой сигнал частотой 587 Гц и длительностью 1
с:
SOUND ON SOUND
587,1 SOUND OFF
Для создания
нехитрой мелодии можно воспользоваться значениями частот нот первой октавы,
которые приведены в табл.
Управляя непосредственно
портами таймера и интерфейса с периферией, возможно добиться хорошего звука
даже на той "пищалке", мощностью 0,1 Вт, которая установлена в системном
блоке.
Частоты первой октавы
Простой звуковой
сигнал можно вызвать при использовании функции BIOS или MS-DOS, посылая код
ASCII 7 на стандартное устройство вывода (терминал). Этот код интерпретируется
как управляющий символ "звонок" и не выводится на экран монитора.
Ниже приведен программный код на языке Ассемблера:
MOV АН,2 ;
функция вывода на экран
MOV DL,7 ;
код ASCII 7
INT 21h ;
вызов прерывания
Примечание
Очень часто
канал звука применяется для управления прерываниями, чтобы синхронизировать
в реальном времени работу внешних устройств. При этом запрещается прохождение
выходных сигналов от таймера к динамику.
|
|