Разделы инструкций

В сети

Пользователей: 115
Из них просматривают:
Аналоги: 44. Видео: 2. Даташиты: 25. Инструкции: 6. Новости: 7. Обзор: 1. Остальное: 6. Ошибки: 1. Программы: 2. Производители: 1. Профиль пользователя: 2. Торрент: 5. Форум: 12. Чат: 1.
Участников: 3
Гостей: 112

alex01981 , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Функции для звука

Среда MikroC предоставляет звуковую библиотеку, которая позволяет организовать звуковую сигнализацию в разрабатываемом устройстве. Для этого потребуется только пьезоэлектрический излучатель и назначенный порт.

 
Библиотека включает в свой состав функцию инициализации Sound_Init и функцию формирования звука Sound_Play. Описание этих функций приведено в таблицах 39 и 40 соответственно.

 

 Таблица 39. Описание функции Sound_Init

Прототипvoid Sound_Init(unsigned short *port, unsigned short pin)
Возвращаемое значениеНет
ОписаниеНастраивает для микроконтроллера вывод pin порта port на выход
ТребованияНомер вывода должен быть в диапазоне 0 – 7
ПримерSound_Init(&PORTB, 2); // Инициализирует генерацию звука на RB2                                                 

 

 Таблица 40. Описание функции Sound_Play

Прототипvoid Sound_Play(unsigned short period_div_10, unsigned num_of_periods)
Возвращаемое значениеНет
ОписаниеВоспроизводит звук на заданном порту и выводе, заданном с помощью функции Sound_Init. Аргумент period_div_10 – период звуковой частоты в циклах микроконтроллера, поделенный на 10. Генерация звука продолжается в течение заданного аргументом (num_of_periods) числа периодов
ТребованияЧтобы звук воспроизводился, необходимо подключение пьезоэлектрического излучателя (или другого звукового излучателя) на заданном выводе порта. Кроме того, перед выводом следует вызвать функцию Sound_Init, чтобы подготовить аппаратуру к генерации звука
ПримерТребуется воспроизвести звук частотой 1 кГц, период которого составляет T = 1/f = 1 мс или 1000 циклов для частоты 4 МГц. Отсюда можно определить первый аргумент: period_div_10=1000/10 = 100. Тогда проиграть num_of_periods=150 периодов можно вызовом функции:
Sound_Play(100, 150)                                               

 

 
Следующий пример демонстрирует использование функций звуковой библиотеки для генерации тонового сигнала с помощью пьезоэлектрического излучателя. Данный программный код может быть использован на любом микроконтроллере, который имеет PORTB и АЦП на порту PORTA. Частота звука задаётся входным напряжением АЦП (младший байт кода этого напряжения используется как период сигнала T= 1/ƒ).

 

 

unsigned adc_value;
void main() {
PORTB = 0; // Очистка PORTB
TRISB = 0; // PORTB – выход
INTCON = 0; // Запрет всех прерываний
ADCON1 = 0x82; // Конфигурирование VDD как опорного напряжения,
// и выбор канала АЦП
TRISA = 0xFF; // PORTA – вход
Sound_Init(&PORTB, 2); // Инициализация выдачи звука на RB2
do { // Цикл проигрывания звука:
adc_value = Adc_Read(2); // Получить младший байт АЦП
Sound_Play(adc_value, 200); // Проиграть его
} while (1);
}// end
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Если на шприц отсоса припоя надеть отрезок силиконовой трубки.

Интересно

Чтобы защитить стержень от обгорания, его нужно обмазать тонким слоем смеси силикатного клея и сухой минеральной краски (окись железа, цинка и магния).

Похожие инструкции