Файл программы прерываний
Chip type Altiny2313
Clockfregency 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 flashunsidnedinttabkd[]={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 flashunsidnedinttabkd[]={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 flashunsidnedinttabkd[]={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)gotom2 //Если ни одна кнопка не нажата. закончить
41 if(dnota==0xFF)gotom3 //Проверка на конец мелодии
43 fnota=(dnota)$0x1F //Определение кода тона
44 dnota=((dnota)>>5)$0x07 //Определение код длительности
45 if(fnota==0)gotom5 //Если пауза не воспроизводим звук
46 OCR1A=0x40 //Программируем частоту звука
47 TCCR1A=0x40 //Включаем звук
48 delayms (tabz[dnota]) //Формируем задержку
49 TCCR1A=0x00. //Выключаем звук
50 delayms (tabz[0]) //Задержка между нотами
51 nota++ //Перемещаем указатель на следующую ноту
52 gotom4 //К началу цикла
ПРИЛОЖЕНИЕ В
Схема принципиальная электрическая музыкального звонка с двумя режимами работы: автономный и от сети
ПРИЛОЖЕНИЕ Ж
Калькуляция комплектующих электромузыкального звонка