Дипломная работа: Разработка музыкального звонка с двумя режимами работы: автономным и от сети
Файл программы
прерываний
Chip
type Altiny2313
Clock
fregency 4.000000 MHz
……………………………………………/
1
#incluid <tine2313 h>
2
#incluid <delay h>
//Объявление
инициализация массивов
//Таблица
задержек
3 flash
unsidned int tabkd[]={16.32.64.128.256.512.1024}
//Массив
коэффициента деления
4
flash unsidned int tabkd[]={0.4748.4480.4228.3992.3768.3556.3358.3168.2990.2822
5 2664.2514.
2374.2240.2114.1996.1884.1778.1678.1584.1495.1411.1332.1257
6 1187.1120/1057.998.942.889.839.792
//Таблица
мелодий
//В траве
сидел кузнечик
7 flash
unsidned int tabkd[]={ 109.104.109.104.109.108.108.96.108.104.
108.104.108.
8 109.109.96.109.104.109.104.109.108.108.96.108.104.
109.104.109.104.109.
9 111.79.79.111.111.112.80.80.112.112.80.112.112.112.111.108.109.109.
10 96.109.104.109.108.108.96.108.141.128.96.255
}
//Песенка
крокодила Гены
11 flash
unsidned int tabkd[]={
109.110.141.102.104.105.102.109.110.141.104.105.107
12 111.79.79.111.111.112.80.80.108.96.108.108.96.108.141.104.105.102.109.114
13 110.141.79.111.112.80.96.108.104.109.146.105.109.105.105.134.128.128.105
14 79.111.111.112.80.96.110.176.112.108.109.105.109.105.136.107.105.134.105.
15 105.136.107.142.134.134.128.128.102.141.105.134.134.128.128.142.141.105.
16 144.
105.134. 134.128.128.141.105.109.139.126.173.146.128.96.255 }
//В лесу
родилась елочка
17 flash
unsidned int tabkd[]={ 132.141.141.139.141.137.132.132.132.141.141.142.139.
18 176.128.144.146.146.154.154.153.151.149.153.153.151.153.181.128.96.255}
//Happy
births day to you
19 flash
unsidned int tabkd[]={107.107.141.139.144.143.128.107.107.141.139.146.144.
20 143.128.107.107.141.128.111.149.117.117.148.144.146.144.128.255}
//С чего начинается
родина
21 flash
unsidned int
tabkd[]={99.175.109.107.106.102.99.144.111.175.96.99.107.107.
22 107.107.102.104.170.96.99.109.109.107.106.143.109.141.99.109.109.109.109.
23 104.106.171.96.99.111.109.107.106.102.99.144.111.143.104.114.114.114.114.
24 109.111.176.96.104.116.112.109.107.106.64.73.143.107.131.99.144.80.80.112.
25 111.64.75.173.128.255}
//Из кинофильма
«Веселые ребята»
26 flash
unsidned int
tabkd[]={105.109.112.149.116.64.80.148.114.64.78.146.112.96.105.
27 105.109.144.111.64.80.145.112.64.81.178.96.117.117.117.
149.116.64.82.146.112.
28 64.79.146.144.
96.105.105.107.141.108.109.112.110.102.
104.137.128.96.105.105.
29 105.137.102.64.73.142.105.107.109.64.75.137.96.105.105.105.137.102.105.142.
30 64.82.180.96.116.116.116.148.114.112.142.109.64.78.146.144.96.105.105.107.141.
31 108.109.112.110.102.104.169.96.96.255}
//Улыбка
32 flash
unsidned int
tabkd[]={107.104.141.139.102.105.104.102.164.128.
104.107.109.109.
33 109.111.114.112.111.109.144.139.128.109.144.96.111.109.104.107.105.173.128.
34 111.109.112.107.111.109.109.107.102.104.134.132.128.100.103.107.107.107.139.
35 112.100.103.102.102.102.134.102.103.107.105.107.108.108.108.108.107.105.108.
36 144.142.128.112.107.110.
140.112.105.108.107.107.107.105.140.139.
139.112.103.
37 103.105.108.107.105.103.
128.112.107.110.108.108.108.108.140.112.105.107.107.
38 139.112.103.102.103.105.
103.105.139.132.128.96.96.
96.255}
//Воспроизведение
мелодии
39 nota=tamb[count]. //Установить
указатель на первую ноту
40 if(PIND==0x78)goto
m2 //Если
ни одна кнопка не нажата. закончить
41 if(dnota==0xFF)goto
m3 //Проверка
на конец мелодии
43 fnota=(dnota)$0x1F //Определение
кода тона
44 dnota=((dnota)>>5)$0x07 //Определение
код длительности
45 if(fnota==0)goto
m5 //Если
пауза не воспроизводим звук
46 OCR1A=0x40 //Программируем
частоту звука
47 TCCR1A=0x40 //Включаем
звук
48 delay
ms (tabz[dnota]) //Формируем
задержку
49 TCCR1A=0x00. //Выключаем
звук
50 delay
ms (tabz[0]) //Задержка
между нотами
51 nota++ //Перемещаем
указатель на следующую ноту
52 goto
m4 //К
началу цикла
ПРИЛОЖЕНИЕ В
Схема принципиальная
электрическая музыкального звонка с двумя режимами работы: автономный и от сети

ПРИЛОЖЕНИЕ Ж
Калькуляция
комплектующих электромузыкального звонка

|