| ||
|
|||||||||
Cайт и форум для электриков HARDW.net |
Пианино на PIC16F876С помощью данного синтезатора можно имитировать игру пианина в пределах одной октавы. 7 кнопок играют роль клавиш, каждая из которых соответствует своей ноте. Если нажаты сразу несколько кнопок, то частота звучания будет соответствовать среднеарифметической частоте нажатых клавиш. Во время игры мелодия записывается в EEPROM, и при нажатии специальной кнопки можно ее прослушать. Принципиальная электрическая схемаПроект основывается на микроконтроллере PIC16F876. В качестве генератора частоты используется режим широтно-импульсной модуляции модуля CCP. Отсчет времени звучания ведется с помощью таймера TMR0. Во время работы постоянно сканируется состояние порта В, и если оно изменилось (какая-либо кнопка нажата или отпущена), то в соответствии с новой комбинации клавиш меняется и частота звучания. Также состояние порта В все время выводится на светодиоды, которые подключены к порту А. Пока есть свободной место для записи в EEPROM, включен светодиод VD8. При нажатии кнопки К8, устройство переходит в режим воспроизведения и проигрывает записанную мелодию. Во время воспроизведения также включен светодиод VD8. В качестве динамика можно использовать 0.25ГД-19 8 Ом. Блок-схема программыРассмотрим алгоритм работы синтезатора: после конфигурации портов и регистров устройство ожидает нажатия какой-либо клавиши. После нажатия сохраняется значение таймера. Оно не играет роли, если это нажатие было первым. Затем сохраняется значение порта В. Если была нажата кнопка воспроизведения, то начнется проигрывание ранее записанной мелодии. В данном архиве (piano.zip) находятся: piano.hex - файл-прошивка для микроконтроллера; piano.asm - файл программы MpLab с подробнейшеми комментариями; piano.sch и piano.pcb - соответственно принципиальная схема и печатная плата в формате ACCEL EDA. Иcточник: picro.narod.ru Пианино на PIC16F876 Просмотров сегодня: 6556, всего: 6556 |
|
|||||||||
| |||||||||
|