русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Генерация звука.


Дата добавления: 2014-11-27; просмотров: 1655; Нарушение авторских прав


Для генерации звука необходимо использовать пор­ты микросхемы программируемого переферийного интерфейса (ППИ) 8255. ППИ имеет несколько пор­тов, через которые внешние устройства могут под­ключаться к ЦП. Через ППИ компьютер принимает скан-коды от клавиатуры, считывает состояние DIP-переключателей на системной плате, управляет ря­дом переферийных устройств, включая микросхему таймера 8253. IBM PC/AT не использует микросхему 8255. Вместо нее установлен клавиатурный процессор 8042, однако, IBM PC/AT использует те же адреса портов, что и 8255 для работы с клавиатурой и управ­ления таймером. Управление динамиком осуществля­ется с помощью двух бит порта 61h ППИ. Бит 0 этого порта подключен ко входу GATE2. Занесение 1 в этот бит разрешает счет канала 2 таймера. Бит 1 разреша­ет или запрещает прохождение импульса на динамик.

На вход динамика поступает логическое «И» двух сигналов: выхода OUT2 таймера и содержимого бита 1 порта 61h. Необходимо отметить, что при запреще­нии счета канала 2, когда GATE2=0, на выходе OUT2 устанавливается 1. При совпадении двух сигналов на динамик подается прямоугольный импульс, который слышится как щелчок. Так как динамик управляется двумя сигналами, то и генерация звука может быть произведена двояко:

- запретить работу канала 2 (бит 0 сброшен, OUT2=1), переключать бит 1, каждое переключение вызывает щелчок; скорость переключения бита 1 определяет частоту звучания;

- разрешить работу канала 2 (бит 0 установлен), включить динамик (бит 1 установлен), скорость пере­ключения и OUT2 определяет частоту звучания.

Учитывая, что остальные биты порта 61h исполь­зуются для работы с другими устройствами и не должны изменяться, установку битов 0 и 1 следует проводить командами OR и AND. Для программиро­вания канала 2 таймера так, чтобы он выдавал им­пульсы с частотой, лежащей в звуковом диапазоне (20-20 000 Гц), следует использовать режим таймера 3 и установить (CR) == 1193180/f, где f - требуемая частота звука.



Пример:

; подпрограмма генерации звука

; Вход: (АХ)= частота звука в Гц

Sound proc near

mov bx,ax ;частота

mov ax, free

mov dx,frec+2 ;(dx:ax)=l 193180

div bx ;ax=(dx:ax)/bx

mov bx,a ;сохранить счетчик таймера

in al,61h ;разрешить счет канала 2

or al,3 ;и разрешить работу динамика

out 61h,a1

mov al,10110110b ;управляющее слово таймера: канал 2,

; режим 3, двоичное слово

out 43h,al ;вывод в регистр режима

mov а1,bl

out 42h,al ;младший байт счетчика

mov al,bh

out 42h,al ;старший байт счетчика

ret

freq dd 1193180

Sound endp

;Подпрограмма выключения звука

;

No_Sound proc near

push ax

in al,61h ;порт PB

and al,0fdh ;сброс битов 0,1

out 61h,al

pop ax ret

No_Sound endp

*Приложение.



<== предыдущая лекция | следующая лекция ==>
Использование каналов в IBM PC. | Частоты нот для второй октавы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.316 сек.