Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
моя.docx
Скачиваний:
39
Добавлен:
15.04.2015
Размер:
111.23 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Российский государственный гидрометеорологический университет

Курсовой проект

По дисциплине “Микропроцессоры в ТКС”

Разработка программного кода для микроконтроллера AVR ATtiny2313

Музыкальная шкатулка

Выполнила: ст. гр. ИБ-434

Чистякова О.С.

Проверил: ПереспеловА.В.

Санкт-Петербург

2014 Техническое задание

на курсовой проект по дисциплине Микропроцессоры в ТКС Студентке гр. ИБ-434 Чистяковой О.С.

----------------------------------------------------------------------------------------

1.Тема проектирования “Разработка программного кода для микроконтроллера AVR ATinity2313 Музыкальая шкатулка”

2. Требования к содержанию Пояснительной записки:

2.1. Техническое задание на проектирование.

3. Система автоматического проектирования AVR Studio.

3.1.Создание программного кода средствами AVR Studio.

3.2 Отладка программного кода средствами AVR Studio.

4.Выводы по результатам курсового проектирования.

5. Перечень литературы, использованной при проектировании.

Представление документации в электронной форме обязательно.

Дата выдачи задания: « 10 » февраля 2014 г.

Задание получила / О.С. Чистякова/

Преподаватель / А.В. Переспелов /

Содержание.

Введение………………………………………………………………...….……..4

1.Описание проекта…………………………………………….…...……………5

2. Алгоритм работы музыкальной шкатулки……………...……………………8

3.Прошивка микроконтроллера………………………………………………...14

Заключение……………………………………………………………………….24

Список литературы………………………………………………………………25

Введение.

В данном курсовом проекте будет реализована идея создания музыкальной шкатулки. Будет создано музыкальное устройство, автоматически воспроизводящее разные мелодии. Причем эти ме­лодии должны быть жестко записаны в память микроконтроллера.

Сформулировать задачу можно следующим образом: «Разработать устройство, предназначенное для воспроизведения про­стых одноголосых мелодий, записанных в память программ на этапе программирования. Устройство должно иметь семь управляющих кнопок. Каждой из кнопок должна соответствовать своя мелодия. Мелодия воспроизводится при нажатии и удержании кнопки. При отпускании всех кнопок воспроизведение мелодий прекращается».

В курсовой работе будут приведены схемы, прошивка микросхем и описание составляющих схемы, а так же принцип действия бинарных часов.

Цели курсового проекта.

1. Создать программный код музыкальной шкатулки средствами AVR Studio

2. Отладить программный код музыкальной шкатулки средствами AVR Studio.

3. Прошить микроконтроллер ATinity2313.

1. Описание проекта.

Данный проект был создан в программе AVR Studio.

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

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

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

Для нас же важно то, что коды всем этим нотам мы должны присваи­вать в порядке возрастания частоты. И начнем мы с ноты «До» первой октавы. Для музыкальной шкатулки более низкие ноты не нужны. В табл. 1.3 показаны коды для всей первой октавы. Следующая, вторая октава продолжает первую и по кодировке, и по набору частот. Так нота «До» второй октавы будет иметь код 13, а частоту f12 = fo x 2. А нота «Ре» второй октавы будет иметь код 14 и частоту f13 = f1 x 2. И так далее.

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

Код

Нота

Частота

Код

Нота

Частота

1

до

F0

7

фа#

F6 = F5/K

2

до#

F1 = F0/K

8

соль

F7 = F6/K

3

ре

F2 = F1/K

9

соль#

F8 = F7/K

4

ре#

F3= F2/K

10

ля

F9 = F8/K

5

ми

F4 = F3/K

11

ля#

F10 = F9/K

6

фа

F5 = F4/K

12

си

F11 = F10/K

Для справки :

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

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

Код

Длительность

Коэффициент деления

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

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

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

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