Assembler для начинающих



         

Динамик - часть 7


    На самом деле, вы услышите основную частоту 1190 Гц плюс обертоны,
    вызванные прямоугольной формой сигнала таймера.
 
      Заметим, что число 1000 - 16-битовое, в то время как порт 42H -
    8-битовый. Команда установки режима работы, которую мы послали в
    порт 43H, сообщила микросхеме 8253, что в нее будет выводиться
    16-битовое число в виде двух 8-битовых. Сначала посылается младший
    значащий байт, а за ним следует старший. Такая двухшаговая
    процедура загружает в канальный регистр требуемое значение.
 
      Далее программа должна дать управляющему порту 61H такую
    установку, чтобы он пропускал сигнал на динамик. Для этого
    программа устанавливает равными 1 биты 0 и 1 управляющего порта.
    Заметим, что программа в начале сохраняет первоначальное значение
    кода из управляющего порта и восстанавливает его в конце. Это
    отключает динамик по окончании звука. Если этот способ
    недостаточен, - например, если программа генерирует звук тогда,
    когда не совсем ясно, был ли выключен динамик - можно выключить
    его, сбросив в нуль бит 1 порта 61H.
 
      Эти два метода управления динамиком наиболее прямолинейны. Эти
    методы можно пытаться комбинировать в поисках интересных эффектов.
    После установки на вывод звука при помощи микросхемы 8253 можно
    модулировать выходной сигнал посредством битов 1, 0 или обоих,
    порта 61H, а также менять число в канальном счетчике при включенном
    динамике. Программу на Фиг. 8.1 можно изменить так, чтобы она
    выводила значение регистра CX при каждой итерации цикла. Это
    приведет к тому, что частота сигнала из динамика будет расти от
    очень низкого к очень высокому тону. Работая с этими тремя
    управляющими значениями, вы сможете создать множество интересных
    эффектов.



Содержание  Назад  Вперед