51单片机-播放天空之城
sbit sound=P3^7;
//将sound位定义为P3.7
unsigned int C;
//储存定时器的定时常数
//以下是C调低音的音频宏定义
#define L1
262
//将"L1"宏定义为低音"1"的频率262Hz 时间是1/262=3826/2 us
取半周期
#define L2
286
//将"L2"宏定义为低音"2"的频率286Hz
#define L3
311
//将"L3"宏定义为低音"3"的频率311Hz
#define L4
349
//将"L4"宏定义为低音"4"的频率349Hz
#define L5
392
//将"L5"宏定义为低音"5"的频率392Hz
#define L6
440
//将"l_a"宏定义为低音"6"的频率440Hz
#define L7
494
//将"L7"宏定义为低音"7"的频率494Hz
//以下是C调中音的音频宏定义
#define Z1
523
//将"Z1"宏定义为中音"1"的频率523Hz
#define Z2
587
//将"Z2"宏定义为中音"2"的频率587Hz
#define Z3
659
//将"Z3"宏定义为中音"3"的频率659Hz
#define Z4
698
//将"Z4"宏定义为中音"4"的频率698Hz
#define Z5
784
//将"Z5"宏定义为中音"5"的频率784Hz
#define Z6
880
//将"Z6"宏定义为中音"6"的频率880Hz
#define Z7
987
//将"Z7"宏定义为中音"7"的频率523H
//以下是C调高音的音频宏定义
#define H1
1046
//将"H1"宏定义为高音"1"的频率1046Hz
#define H2
1174
//将"H2"宏定义为高音"2"的频率1174Hz
#define H3
1318
//将"H3"宏定义为高音"3"的频率1318Hz
#define H4
1396
//将"H4"宏定义为高音"4"的频率1396Hz
#define H5
1567
//将"H5"宏定义为高音"5"的频率1567Hz
#define H6
1760
//将"H6"宏定义为高音"6"的频率1760Hz
#define H7
1975
//将"H7"宏定义为高音"7"的频率1975Hz
void delay()
void main(void)
//以下是《
天空之城》简谱 //每行对应一小节音符
0xff}; //以0xff作为音符的结束标志
//以下是简谱中每个音符的节拍
//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位
unsigned char code JP[ ]={
4,4,
12,4,8,8,
20,4,4,
12,4,8,8,
20,4,4,
12,4,4,12,
32,
4, 8,4,6,8,
4,4,4,16,
8,4,6,8,
24,4,4,
12,4,8,8,
24,4,4,
4,4,8,8,
32, 4,8,8,6,
12,4,16,
8,8,8,8,
30,
20,8,
16,8,8,
4,4,16,8,
8,4,4,8,
20,8,
16,16,
4,20,8,
8,4,4,8,
20,4,4,
32,
};
{
i=0;
//从第1个音符f[0]开始播放
for(j=0;j
sound=0;
}
}
评论