Инструкции

Справочный раздел

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

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

В сети

Пользователей: 54
Из них просматривают:
Аналоги: 30. Даташиты: 12. Инструкции: 3. Новости: 3. Остальное: 4. Советы: 1. Форум: 1.
Участников: 2
Гостей: 52

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
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

При замене электролитических конденсаторов, кроме соблюдения полярности, не следует значительно превышать допустимое рабочее напряжение.
Например, если конденсатор рассчитан на рабочее напряжение 16 В, то при установке нового той же емкости, но рассчитанного на напряжение 300 В после непродолжительной эксплуатации произойдет его расформовка, и емкость его значительно уменьшится.

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