Смекни!
smekni.com

Разработка музыкального звонка с двумя режимами работы: автономным и от сети (стр. 14 из 14)

Файл программы прерываний

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 //К началу цикла


ПРИЛОЖЕНИЕ В

Схема принципиальная электрическая музыкального звонка с двумя режимами работы: автономный и от сети


ПРИЛОЖЕНИЕ Ж

Калькуляция комплектующих электромузыкального звонка