?? music.h
字號:
#ifndef _MUSIC_ZHENGZUOWEI_H_
#define _MUSIC_ZHENGZUOWEI_H_
/***********************************************************
存放音樂數據的數組的元素個數
***********************************************************/
#define maxMusic1 273 //音樂1為陽光總在風雨后
#define maxMusic2 223 //音樂2為同一首歌
#define maxMusic3 137 //音樂3為茉莉花
#define maxMusic4 123 //音樂4為送別
#define maxMusic5 61 // 音樂5為梁祝
#define maxMusic6 195 //音樂6為九百九十九朵玫瑰
#define maxMusic7 191 //音樂7為月亮代表我的心
#define maxMusic8 249 //音樂8為敢問路在何方
#define maxMusic9 301 //音樂9為下一站天后
#define maxMusic10 3 //音樂10用于整點報時
/************************************************************
數組dataofOCR1A用于存放各個音符對應的OCR1A的值
最后一個為空音符標志
************************************************************/
flash unsigned int dataOfOCR1A[37] =
{
954, 903, 853, 804, 760, 716, 676, 638, 602, 568, 536, 506,
478, 452, 426, 402, 379, 358, 338, 319, 301, 284, 268, 253,
239, 226, 213, 201, 190, 179, 169, 160, 150, 142, 134, 127, 2500
};
/************************************************************
數組用于存放每個音符100ms需要比較匹配的次數
最后一個為空音符數據
************************************************************/
flash unsigned int counter[37] =
{
52, 55, 59, 62, 66, 70, 74, 78, 83, 88, 93, 99,
105, 111, 117, 124, 132, 139, 148, 157, 166, 176, 186, 197,
209, 221, 234, 248, 263, 279, 295, 313, 332, 351, 372, 394, 20
};
/***********************************************************
用于存放音樂數據的數組
***********************************************************/
flash unsigned char music1[274] = {
16, 2, 17, 2, 19, 4, 19, 4, 19, 4, 12, 4, 14, 2, 12, 4, 16, 8, 14, 2,
12, 4, 12, 4, 9, 4, 12, 2, 9, 4, 7, 6, 36, 2, 16, 2, 17, 2,
19, 4, 19, 4, 19, 4, 12, 4, 14, 2, 12, 4, 16, 8, 14, 2,
12, 4, 12, 1, 9, 1, 9, 1, 12, 4, 14,14, 16, 2, 14, 2,
12, 4, 12, 2, 14, 2, 12, 2, 9, 2, 9, 2, 7, 2,
7, 1, 16, 4, 16, 5, 36, 2, 16, 2, 16, 2, 14, 2, 12, 2, 9, 2, 12, 2, 21, 4, 19, 18,
36, 16,
19, 4, 19, 2, 16, 2, 16, 4, 19, 4, 21, 2, 16, 2, 16, 2, 19, 10,
12, 4, 12, 2, 14, 2, 14, 2, 16, 4, 19,18, 21, 6, 21, 2, 19, 2, 16, 2, 16, 4,
19, 2, 21, 4, 12, 8, 16, 2, 14, 2, 16, 2, 14, 2, 12, 2, 12, 4, 9, 2, 12, 4, 14, 14,
19, 4, 19, 2, 16, 2, 16, 4, 19, 4, 21, 2, 16, 2, 16, 2, 19, 10,
12, 4, 24, 2, 23, 2, 21, 4, 16, 4, 19,20, 21, 6, 21, 2, 19, 2, 16, 2, 16, 4,
19, 2, 21, 4, 12, 8, 16, 2,
14, 2, 16, 2, 14, 2, 12, 2, 12, 4, 9, 2, 14, 2, 12, 2, 12, 14,
21, 6, 21, 2, 19, 2, 16, 2, 16, 4, 19, 2, 21, 2, 16, 8, 16, 2,
14, 2, 16, 2, 19, 2, 21, 2, 16, 2, 12, 4, 9, 4, 12, 12
};
flash unsigned char music2[224] = {
7, 8, 12, 4, 14, 4, 16, 6, 17, 2, 16, 4, 12, 4, 14, 8, 12, 4, 9, 4, 12, 16,
7, 8, 12, 4, 14, 4, 16, 4, 16, 2, 17, 2, 19, 4, 12, 4, 17, 6, 16, 2, 19, 4, 14, 2, 16, 2, 16, 2, 14, 14,
16, 8, 19, 4, 23, 4, 23, 6, 21, 2, 21, 8, 19, 4, 19, 2, 21, 2, 23, 4, 21, 2, 19, 2, 16, 16,
17, 6, 17, 2, 19, 4, 21, 4, 19, 4, 17, 2, 16, 2, 14, 8, 11, 4, 11, 2, 9, 2, 7, 4, 9, 4, 12, 16,
24, 8, 21, 8, 17, 6, 19, 2, 21, 8, 23, 4, 23, 2, 23, 2, 23, 4, 21, 2, 19, 2, 16, 16,
24, 8, 21, 8, 17, 6, 19, 2, 21, 8, 21, 4, 21, 2, 21, 2, 21, 4, 17, 2, 16, 2, 14, 16,
7, 8, 12, 4, 14, 4, 16, 6, 17, 2, 16, 4, 12, 2, 12, 2, 14, 6, 14, 2, 14, 4, 14, 2, 12, 2, 9, 4, 9, 12,
11, 8, 11, 6, 9, 2, 7, 4, 21, 4, 19, 4, 14, 2, 14, 2, 17, 6, 17, 2, 17, 4, 16, 2, 14, 2, 19, 16,
21, 16, 24, 11, 36,1, 24, 4, 36, 1, 24, 36
};
flash unsigned char music3[138] = {
16, 2, 14, 2, 16, 2, 19, 2, 21, 2, 19, 2, 24, 2, 21, 2, 19, 2, 16, 2, 19, 8, 21, 4,
24, 2, 26, 2, 28, 4, 26, 2, 24, 2, 21, 2, 24, 2, 19, 16,
19, 2, 16, 2, 19, 8, 21, 4, 24, 4, 26, 2, 28, 2, 24, 2, 21, 2, 19, 4,
19, 4, 14, 4, 16, 2, 19, 2, 16, 2, 14, 2, 12, 2, 9, 2, 12, 8,
16, 2, 14, 2, 12, 4, 14, 6, 16, 2, 19, 4, 21, 2, 24, 4, 21, 4, 19, 4, 19, 2, 16, 2, 14, 4,
16, 2, 19, 2, 16, 2, 14, 2, 12, 2, 14, 2, 9, 8, 12, 4, 14, 6, 16, 2, 12, 2, 14, 2,
12, 2, 9, 2, 12, 2, 9, 2, 7, 8
};
flash unsigned char music4[124] = {
19, 4, 16, 2, 19, 2, 24, 8, 21, 4, 24, 4, 19, 8,
19, 4, 12, 2, 14, 2, 16, 4, 14, 2, 12, 2, 14, 8, 36, 8,
19, 4, 16, 2, 19, 2, 24, 6, 23, 2, 21, 4, 24, 4, 19, 8,
19, 4, 14, 2, 16, 2, 17, 6, 11, 2, 12, 8, 36, 8,
21, 4, 24, 4, 24, 8, 23, 4, 21, 2, 23, 2, 24, 8,
21, 2, 23, 2, 24, 2, 21, 2, 21, 2, 19, 2, 16, 2, 12, 2, 14, 8, 36, 8,
19, 4, 16, 2, 19, 2, 24, 6, 23, 2, 21, 4, 24, 4, 19, 8,
19, 4, 14, 2, 16, 2, 17, 6, 11, 2, 12, 8, 36, 8
};
flash unsigned char music5[62] =
{
4, 8, 7, 6, 9, 2, 12, 6, 14, 2, 9, 2, 12, 2, 7, 4,
19, 6, 24, 2, 21, 3, 19, 1, 16, 2, 19, 2, 14, 8,
14, 8, 14, 6, 16, 2, 11, 4, 9, 4, 7, 6, 9, 2, 12, 4, 14, 4,
4, 4, 12, 4, 9, 3, 7, 1, 9, 2, 12, 2, 7, 16
};
flash unsigned char music6[196] = {
24, 4, 23, 4, 19, 4, 21, 12, 36, 4, 16, 2, 14, 2, 12, 4, 14, 4, 19, 4, 16, 20,
16, 8, 19, 4, 16, 2, 14, 14, 19, 2, 21, 2, 19, 4, 21, 4, 23, 2, 19, 4, 16, 18,
24, 4, 23, 4, 19, 4, 21, 12, 36, 4, 16, 2, 14, 2, 12, 4, 14, 4, 19, 4, 16, 16,
12, 2, 14, 2, 16, 4, 16, 2, 19, 6, 16, 4, 14, 12, 16, 6, 19, 4, 21, 24, 36, 12,
21, 4, 21, 4, 24, 4, 26, 4, 28, 4, 28, 4, 24, 4, 36, 4, 21, 4, 21, 4, 23, 4,
21, 4, 23, 2, 21, 2, 19, 2, 16, 6, 36, 4,
21, 4, 21, 4, 24, 4, 26, 4, 28, 4, 28, 4, 24, 4, 36, 4, 21, 4, 21, 4, 23, 4,
21, 4, 23, 2, 21, 2, 19, 2, 16, 6,
36, 4, 26, 2, 26, 2, 26, 4, 26, 4, 23, 4, 21, 4, 19, 2, 16, 6,
36, 4, 26, 2, 26, 2, 26, 4, 26, 4, 23, 4, 21, 4, 19, 2, 16, 6,
21, 4, 36, 2, 21, 26
};
flash unsigned char music7[192] = {
7, 2, 12, 6, 16, 2, 19, 6, 12, 2, 11, 6, 16, 2, 19, 4, 36, 2,
19, 2, 21, 2, 23, 4, 24, 6, 21, 2, 21, 2, 19, 14,
16, 2, 14, 2, 12, 6, 12, 2, 12, 4, 16, 2, 14, 2, 12, 6, 12, 2, 12, 4,
14, 2, 16, 2, 14, 6, 9, 2, 11, 4, 12, 2, 14, 2, 12, 12,
16, 2, 19, 2, 16, 6, 14, 2, 12, 4, 19, 4, 11, 12,
9, 2, 11, 2, 9, 6, 11, 2, 9, 6, 7, 4, 16, 12,
19, 4, 16, 6, 14, 2, 12, 4, 19, 4, 11, 12,
9, 2, 11, 2, 12, 6, 12, 2, 12, 4, 14, 2, 16, 2, 14, 12, 36, 2,
7, 2, 12, 6, 16, 2, 19, 6, 12, 2, 11, 6, 16, 2, 19, 6,
19, 2, 21, 6, 23, 2, 24, 6, 21, 2, 21, 2, 19, 10,
16, 2, 14, 2, 12, 6, 12, 2, 12, 4, 16, 2, 14, 2, 12, 6, 12, 2, 12, 4,
14, 2, 16, 2, 14, 6, 9, 2, 11, 4, 12, 2, 14, 2, 12, 12
};
flash unsigned char music8[250] = {
9, 2, 12, 4, 9, 2, 16, 6, 14, 2, 14, 2, 16, 1, 14, 1, 12, 12,
11, 2, 9, 4, 11, 2, 14, 6, 16, 2, 9, 16,
16, 8, 21, 6, 16, 2, 21, 4, 19, 2, 17, 2, 16, 8,
12, 6, 14, 2, 16, 2, 14, 1, 16, 1, 17, 2, 16, 2, 14, 16,
9, 4, 16, 4, 16, 4, 9, 4, 12, 12, 16, 4,
14, 2, 11, 4, 16, 2, 14, 2, 9, 2, 12, 2, 14, 2, 16, 16,
16, 8, 21, 6, 16, 2, 21, 4, 19, 2, 17, 2, 16, 8,
19, 2, 14, 4, 17, 2, 16, 2, 14, 2, 12, 4, 14, 16,
14, 2, 11, 4, 16, 2, 11, 2, 9, 2, 7, 4, 9, 12,
16, 4, 19, 12, 16, 2, 19, 2, 21, 6, 24, 2, 23, 2, 21, 2, 19, 4, 21, 16,
24, 8, 23, 6, 21, 2, 19, 2, 21, 2, 19, 8, 19, 2, 21, 2, 16, 16,
24, 8, 23, 6, 21, 2, 19, 2, 21, 2, 19, 8, 19, 2, 21, 2, 16, 16,
7, 2, 9, 4, 12, 2, 16, 6, 12, 2, 14, 2, 16, 2, 14, 12,
14, 2, 11, 4, 14, 2, 11, 2, 9, 2, 7, 4, 9, 16,
7, 2, 9, 4, 12, 2, 16, 6, 12, 2, 14, 2, 16, 2, 14, 12,
16, 4, 19, 8, 16, 4, 23, 6, 24, 2, 23, 2, 21, 2, 19, 4, 21, 32
};
flash unsigned char music9[302] = {
16, 4, 16, 4, 16, 4, 19, 4, 14, 8, 14, 4, 19, 4,
12, 4, 12, 4, 12, 4, 16, 4, 9, 8, 36, 8,
17, 4, 16, 4, 17, 4, 21, 4, 16, 8, 16, 4, 19, 4,
14, 8, 12, 4, 9, 4, 12, 4, 14, 12,
16, 4, 14, 4, 16, 4, 19, 4, 19, 4, 14, 4, 36, 4, 16, 4,
24, 8, 24, 4, 19, 4, 19, 4, 21, 12,
17, 4, 16, 4, 17, 4, 21, 4, 9, 4, 12, 2, 16, 10,
14, 4, 12, 12, 36, 8, 16, 4, 19, 2, 24, 2,
24, 4, 23, 4, 21, 4, 19, 4, 19, 8, 16, 4, 17, 2, 19, 2,
21, 4, 17, 4, 17, 4, 16, 4, 14, 8, 14, 4, 12, 2, 14, 4,
16, 4, 19, 2, 19, 2, 36, 4, 16, 4, 21, 4, 16, 4, 14, 4, 12, 4,
14, 8, 36, 4, 9, 2, 12, 2, 16, 4, 14, 4, 14, 4, 16, 4,
19,24, 24, 2, 23, 2, 21, 2, 23, 2,
21, 4, 19, 4, 19, 4, 12, 4, 16, 4, 19, 4, 19, 8,
21, 4, 21, 2, 21, 2, 17, 4, 16, 4, 14, 8, 16, 4, 16, 2, 24, 2,
19, 8, 16, 4, 16, 2, 19, 2, 12, 8, 36, 4, 16, 2, 16, 2,
14, 4, 14, 2, 14, 2, 21, 4, 16, 4, 19, 8, 24, 2, 23, 2, 21, 2, 23, 2,
23, 4, 19, 4, 19, 4, 12, 4, 16, 4, 19, 4, 19, 8,
21, 4, 21, 2, 21, 2, 21, 4, 24, 4, 23, 8, 21, 4, 23, 4,
24, 4, 19, 4, 19, 4, 16, 4, 19, 4, 21, 8, 19, 4,
19, 4, 17, 4, 9, 4, 11, 4, 11, 2, 12, 38
};
flash unsigned char music10[4] = {36, 10, 17, 10};
/***********************************************************
***********************************************************/
flash unsigned char *pMusic; //指向一首音樂數據首地址的指針
unsigned int maxMusic; //被指向音樂數據的個數
unsigned int iCompaCycle; //比較匹配的次數
unsigned int iMusicCycle; //循環變量,用于取音樂數據
unsigned char playCycle; //音樂播放次數
void MusicInit(void); //音樂播放初始化函數
void PlayMusic(unsigned char musicChoose, unsigned char counterChoose);
void PlayMusic1(unsigned char counter1);
void PlayMusic2(unsigned char counter2);
void PlayMusic3(unsigned char counter3);
void PlayMusic4(unsigned char counter4);
void PlayMusic5(unsigned char counter5);
void PlayMusic6(unsigned char counter6);
void PlayMusic7(unsigned char counter7);
void PlayMusic8(unsigned char counter8);
void PlayMusic9(unsigned char counter9);
void PlayMusic10(unsigned char counter10);
#endif
/************************************************************
播放音樂使能TIME1之前必須完成以下工作
初始化*pMusic指針,使其指向某一首音樂
初始化maxMusic,使其等于*pMusic指針指向的音樂的數據的個數
初始化音樂播放的次數playCycle
初始化OCR1A,使其對應于第一個音符
初始化第一個音符比較匹配的次數iCompaCycle
初時話iMusicCycle為1
************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -