Дипломная работа: Разработка музыкального звонка с двумя режимами работы: автономным и от сети

300 мкА при частоте 1 МГц и напряжении питания 1.8 В

20 мкА при частоте 32 кГц и напряжении питания 1.8 В

Режим пониженного потребления

0.5 мкА при напряжении питания 1.8 В

Блок- схема ATtiny2313 представлена на рисунке 2.2.

Рисунок 2.2 - Блок-схема микроконтроллера ATtiny2313


Расположение выводов МК ATtiny2313 приведено на рисунке 2.3.

Рисунок 2.3 - Расположение выводов микроконтроллера ATtiny2313

2.4 Разработка функциональной схемы устройства

В проектируемом устройстве можно выделить следующие функциональные блоки: микроконтроллер ATtiny 2313, кнопка запускаэлектромузыкального звонка, кнопки выбора мелодии, кварцевый резонатор, электронный ключ, звуковой излучатель, источник питания. Функциональная схема электромузыкального звонка приведена на рисунке 2.4.

При нажатии на кнопку S8 (дверная кнопка) и любой выбранной кнопке S1-S7 (кнопки выбора мелодии) производится запуск работы устройства, собранного на МК ATtiny 2313. Кварцевый резонатор служит для стабилизации частоты кварцевого генератора. Электронный ключ служит для развязки выхода микроконтроллера с низкоомным входом громкоговорителя. Источник питания служит для электропитания всего устройства. Источник питания работает в двух режимах: от сети (схема бестрансформаторного питания) и автономно (от элементов постоянного тока).

Кнопки

Выбора

мелодии

Кварцевый

резонатор

Эл. ключ

20

Источник питания

Рисунок 2.4 - Функциональная схема электромузыкального звонка

2.5 Разработка алгоритма работы устройства

Для начала нам нужно придумать, как мы будем хранить мелодии в памяти. Для того, чтобы в памяти можно было что-либо хранить, нужно сначала это что-то каким-либо способом закодировать. Любая мелодия состоит из нот. Каждая нота имеет свой тон (частоту) и длительность звучания. Для того, чтобы закодировать тон ноты, можно просто все ноты пронумеровать по порядку. Удобнее нумеровать, начиная с самого низкого тона.

Известно, что весь музыкальный ряд делится на октавы.В современном музыкальном ряду каждая октава делится на 12 нот. Семь основных нот и пять дополнительных.

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

Для нас же важно то, что коды всем этим нотам мы должны присваивать в порядке возрастания частоты. Начнем мы с ноты «До» первой октавы. Для электромузыкального звонка более низкие ноты не нужны. В таблице 2.1показаны коды для всей первой октавы. Следующая, вторая октава продолжает первую и по кодировке, и по набору частот. Так нота «До» второй октавы будет иметь код 13, а частоту f 12 = fo 2 . А нота «Ре» второй октавы будет иметь код 14 и частоту f 13 =f 1 2 . И так далее.

Музыкальная длительность тоже легко кодируется. В музыке применяют не произвольную длительность, а длительность, выраженную долями от целой (см. таблицу 2.2).В зависимости от темпа реальная длительность целой ноты меняется. Для сохранения мелодии необходимо соблюдать лишь соотношения между длительностями. Поэтому нам необходимо закодировать лишь семь вариантов длительности. Присвоим им коды от 0 до 6. Например так, как это показано в графе «Код» таблицы 2.2.Назначение графы «Коэффициент деления» мы пока опустим.

Таблица 2.1-Кодировка нот первой октавы

Код Нота Частота Код Нота Частота
1 До fo 7 Фа# f 6 = f 5 / K
2 До# f 1 = fo / K 8 Соль f 7 = f 6 / K
3 Ре f 2 = f 1 / K 9 Соль* f 8 = f 7 / K
4 Ре# f 3 =f2 /K 10 Ля f9 =f8 /K
5 Ми f4 =f3 /K 11 Ля# f10 =f9 /K
6 Фа f5 =f4 /K 12 Си f11 =f10 /K

Для справки:

Таблица 2.2 - Кодирование музыкальных длительностей

Код Длительность Коэффициент деления
0 1 (целая) 64
1 1/2(половинная) 128
2 1/4 (четверть) 256
3 1/8 (восьмая) 512
4 1/16 (шестнадцатая) 1024
5 1/32 (тридцать вторая) 2048
6 1/64 (шестьдесят четвертая) 4096

Кроме нот, любая мелодия обязательно содержит музыкальные паузы.

Определение. Паузы— это промежутки времени, когда ни один звук не звучит. Длительность музыкальных пауз принимает точно такие же значения, как и длительность нот.

В связи с этим удобно представить паузу как еще одну ноту. Ноту без звука. Такой ноте логично присвоить нулевой код.

Кодируем мелодии.

Для экономии памяти удобнее каждую нотукодировать одним байтом. Договоримся, что три старших бита мы будем использовать для кодирования длительности ноты, а оставшиеся пять битов — для кодирования ее тона. Пятью битами можно закодировать до 32 разных нот, что вполне хватит для электромузыкального звонка.

Итак, если использовать приведенный выше способ кодирования, то код ноты ля первой октавы длительностью 1/4 в двоичном виде будет равен:

Теперь мы можем приступать к кодированию мелодий.Для того, чтобы закодировать мелодию, нам нужна ее нотная запись.Используя нотную запись, мы должны присвоить каждой ноте и каждой музыкальной паузе свой код.

Цепочка таких кодов и будет представлять собой закодированную мелодию. По условиям задачи наш электромузыкальный звонок должен уметь воспроизводить семь разных мелодий. Коды всех семи мелодий мы разместим в программной памяти микроконтроллера.

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

К-во Просмотров: 304
Бесплатно скачать Дипломная работа: Разработка музыкального звонка с двумя режимами работы: автономным и от сети