Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
342 Микроконтроллеры AVR от азов программирования... 283 tabkd : . dw 0 284 dw- 4748,4480,4228,3992,3768,3556,3356,3168,2990,2822,2664, 2514 285 . dw 2374,2240,2114,1996,1884,1778,1678,1584,1495,1411,1332, 1257 286 dw 1187,1120,1057, 998, 942, 889, 839, 792 Таблица начал всех мелодий * 287 tabnr . dw mel1 *2, mel2*2,mel3*2,mel4*2 288 . dw mel5*2,mel6*2,mel7*2 ;* Таблица мелодий * В траве сидел кузнечик 289 mel1 : . db 109,104,109,104,109,108,108,96,108,104,108,104,108,109,109,96,255 Песенка крокодила Гены 290 mel2 .db 109,110,141,102,104,105,102,109,110,141,104,105,107,104,109,110,255 mel3- В лесу родилась елочка 291 db 132,141,141,139,141,137,132,132,132,141,141,142,139,176,128,144,255 mel4' Happy births day to you 292 db 107,107,141,139,144,143,128,107,107,141,139,146,144,128,107,107,255 mel5 С чего начинается родина 293 db 99,175,109,107,106,102, 99,144,111,175,96,99,107,107,107,107,102,255 mel6: Песня из кинофильма "Веселые ребята" 294 db 105,109,112,149,116,64,80,148,114,64, 78,146,112,96,105,105,109,255 mel7. Улыбка 295 .db 107,104,141,139,102,105,104,102,164,128,104,107,109,109,109,111,255 Программа на языке СИ Объединение программ на языке СИ происходит точно таким же образом, как и на Ассемблере. То есть отдельно объединяются блоки опи сания, блоки инициализации и основные части программ. Возможный вариант комбинированной программы приведен в листинге 5.22. В стро ках 3 — 13 описываются глобальные переменные, константы и массивы. Сюда вошли элементы, используемые в обеих объединяемых програм мах. В строках 14 — 25 описаны массивы, используемые при генерации мелодий. Причем для экономии места все мелодии здесь также сокра щены. Строки 29 — 47 занимают вспомогательные функции для программы электронного замка. Сюда входят: ♦ две процедуры обработки прерываний (строки 26 — 29); ♦ процедура опроса клавиатуры (строки 30 — 40); ♦ процедура формирования задержки (строки 41 — 47). Все эти процедуры перенесены из исходной программы без изменений. Как и в программе на Ассемблере, за основу основной процедуры про граммы на СИ взята программа электронного замка. Поэтому музыкаль ная программа оформлена в виде отдельной функции muz, которая зани мает строки 48 — 67. Функция представляет собой практически полную
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==