Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНА РОБОТА2.docx
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
211.09 Кб
Скачать

1. Управління динаміком з використанням таймера.

Одне з найбільш розповсюджених застосувань таймера - генерація звукових сигналів і відтворення музики. Таймер дозволяє відтворювати музику в фоновому режимі, тобто під час роботи програми може звучати музика.

Як вже зазначалося вище, канал 2 мікросхеми 8254 зв'язаний з динаміком. Однак динамік не просто з'єднаний з виходом OUT каналу 2. Порт 61h також використовується для управління динаміком.

Молодший біт цього порту при встановленні в 1 дозволяє роботу каналу, тобто генерацію імпульсів для динаміка. Додатково для управління динаміком використовується біт 1 порту 61h. Якщо цей біт встановлений в 1, імпульси від каналу 2 таймера зможуть проходити на динамік. Таким чином для включення звука треба виконати наступні дії:

– запрограмувати канал 2 таймера на потрібну частоту (тобто завантажити в регістр лічильника каналу значення, рівне відношенню частоти СГІ і необхідної частоти звука);

– встановити в 1 два молодших розряду порту 61h. Оскільки інші розряди порту 61h використовуються в машині для інших цілей, вони повинні бути залишені без зміни.

– після цього в порт 43h записати командне слово, наприклад В6 або В7. Хоча цей крок є необов’язковим для включення динаміка, він покращує звучання звуків, що будуть програватися.

Для виключення звука треба скинути два молодших розряду порту 61h (не змінюючи знов-таки стани інших розрядів).

2. Управління динаміком без таймера.

Для генерації звука без таймера треба скинути молодший біт порту 61H (заборонивши завдяки цьому роботу каналу 2 таймера) і, управляючи бітом 1 цього порту, тобто встановлюючи цей біт то в 1, то в 0, формувати імпульси для динаміка. Висота звука, що генерується, буде відповідати періоду імпульсів. Відзначимо, що цим засобом можна генерувати імпульси будь-який скважності, що дасть більше можливостей для створення різноманітних звукових ефектів.

3. Відтворення музики.

Мелодія, як відомо, складається з нот, поділених або не поділених паузами. При програванні мелодії необхідно для кожної ноти програмувати відповідним образом канал 2 таймера і включати динамік (з допомогою порту 61h) на певний час, рівний тривалості ноти. Після цього програма повинна вимкнути динамік і витримати паузу, якщо буде потрібно, перед програванням наступної ноти. В табл. 2.1 наведені частоти для нот 1-ої октави. Для інших октав при пониженні або підвищенні тону треба значення частот ділити або умножати на два.

Плавні переходи тонів виробляються за рахунок безперервної зміни частоти. Такий звуковий ефект можна зробити більш виразним, якщо трохи зменшити тривалість кожного тону при підвищенні звука або злегка збільшувати тривалість при пониженні.

Таблиця 2.1 – Значення частот нот 1-ої октави

Нота

Частота, Гц

До

267,7

До-діез

277,2

Ре

293,7

Ре-діез

311,1

Мі

329,6

Фа

349,2

Фа-діез

370,0

Соль

392,0

Соль-діез

415,3

Ля

440,0

Ля-діез

466,2

Сі

493,9