Page 42 - 4875
P. 42
Тобто запрограмовані звуки будуть однаково відтворюватись на
платформах 80-86 по Pentium IV.
Найпростіший спосіб генерації звуку полягає в програмуванні
каналу 2 таймеру так, щоб він видавав прямокутний імпульс, заданої
частоти в звуковому діапазоні (20Гц – 20кГц). Для цього слід
використовувати режим таймеру 3 з початковими значеннями
лічильника. Якщо потім встановити біти “0” і “1” порту РВ, то імпульс
почне поступати на вхід звукогенератору. Для скидання звуку слід
скинути біти “0” і “1” в РВ. Перевага даного методу полягає в тому, що
при генерації звуку ЦП може виконувати інші операції. Значення
лічильника 2-го каналу обчислюється по формулі:
1193181 1234 DDh
n ,
f f
де 1193181 – тактова частота генератора в Гц;
f – необхідна частота звуку:
До – 261,7 Гц
До # – 261,7 Гц
Ре – 293,7 Гц
Ре # – 311,1 Гц
Мі – 329,6 Гц
Фа – 349,2 Гц
Фа # – 370,7 Гц
Соль – 392,0 Гц
Соль # – 415,3 Гц
Ля – 440,0 Гц
Ля # – 466,2 Гц
Сі – 493,2 Гц
Для переходу з октави в октаву необхідно вказані значення
помножувати на 2 (підвищення тону), або ділити на 2 (пониження
тону).
Інший спосіб генерації звуку полягає в тому, щоб генерувати
звукові імпульси не виходом таймера, а встановленням і скиданням
першого біту в регістрі РВ. Програмування таким методом основане на
наступних формулах:
41