Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC18 + ШИМ + WAV
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
torik
Здорова, люди.

В память программ ПИКа загоняем примерно 1 с звука (типа восклицания в винде). Получается 8 кБайт при частоте дискретизации 8 кГц, глубине звука 8 бит.
Вопрос - как этот звук с помощью ШИМа в контроллере воспроизвести на пьезопищалке хотябы? Я слышал ктото делал такое. Качество особо пофиг. Подскажите кто как воспроизводит мелодии вообще.
0psv0
Решение проблемы зависит от исходной частоты подаваемой на счетчик которая д.б. >= 8000 (твоя частота дискетизации звука) * 2^8 (256 твоя глубина звука) = 2,048 МГц (чем больше тем лудше). На выходе шима ставится фильтр резюк-кондюк(номиналы подбираются опытным путем в зависимости от той самой исходной частоты), а в регистр скважности шима записываешь по тамеру через каждые 1/8000 сек. свои нарубленые байты. Для точности ответа: остальные более высокие частоты нужно увеличивать в 2^N раз, где N - целое число.

Успехов! smile.gif
Andy_MS
Делал для эксперимента такое на 18F452. За основу брал приложенный пример. Если надо - завтра могу скинуть свой проектик (сорцы дома).
IgorKossak
В добавок к сказанному 0psv0.
Из WAV файла нужно убрать заголовок, чтобы не воспроизводить то, что не является звуком.
Чтобы не вдаваться в детали можно тупо выкинуть первые 32 (или около того) байта.
torik
Andy_MS, закинь, пожалуйчта пример проги на мыло (желательно с кратенькими пояснениями и на СИ), а я могу если надо кинуть прогу, которая делает из wav файлов - константу для СИ.
Andy_MS
2torik
Цитата
могу если надо кинуть прогу, которая делает из wav файлов - константу для СИ.

У меня есть утилитка, которая из любого файла делает С-массив
torik
мое мыло:

torizin-liteha@yandex.ru
Andy_MS
2torik
Исходы скинул на мыло. С коментариями, правда, там не густо...
torik
Спасибо, интересный проект. Разберусь и без коментариев.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.