📄 yin_yue.lst
字号:
183 unsigned char code song8[77]={0xC2,0xC2,0x34,0x42,0x42,
184 0x52,0x41,0x51,0x5C,
185 0x04,0xC2,0xC2,0x34,0x42,0x42,
186 0x52,0x31,0x41,0x4C,
187 0x04,0xC2,0xC2,0x34,0x42,0x42,
188 0x52,0x41,0x51,0x58,0x32,0x52,
189 0x4C,0x42,0x32,
190 0x34,0x32,0x42,0x48,
191 0x04,0xC2,0xC2,0x34,0x42,0x42,
192 0x72,0x41,0x51,0x5C,
193 0x04,0xC2,0xC2,0x32,0x32,0x42,0x42,
194 0x52,0x42,0x4C,
195 0x04,0xC2,0xC2,0x34,0x42,0x42,
196 0x52,0x41,0x51,0x58,0x32,0x52,
197 0x4C,0x42,0x32,
198 0x32,0x42,0x4C,
199 0xFF};
200 //第九首 宁静的夏天
201 unsigned char code song9[]={
202 0X54,0XC4,0X12,0X32,0X34,
203 0X52,0X52,0X52,0X52,0X42,0X32,0X34,
204 0XC1,0XC2,0X52,0XC2,0X12,0X32,0X34,
205 0X11,0X12,0X31,0X12,0XC2,
206 0X78,0X72,0X52,0X52,0X42,
207 0X32,0X42,0X52,0X11,0XC1,0XC4,0XC1,0XC1,0XC1,0XC1,
208 0X12,0X32,0X32,0X12,0X42,0X42,0X44,
209 0XC2,0X12,0X32,0X42,0X52,0X72,0X72,0X82,
210 0X41,0X51,0X42,0X48,0X42,0X12,
211 0X3C,0X72,0X62,
212 0X3C,0X72,0X62,
213 0X3C,0X72,0X62,
214 0x21,0x31,0x41,0x51,0x61,0x71,0x81,0x91,0x61,0x71,0x81,0x91,
215 0X3F,
216 0X3F,
217 0X54,0XC2,0XC2,0X42,0XC2,0XC4,
218 0X34,0X32,0X42,0X52,0XC2,0XC4,
219 0XD2,0XC2,0X12,0X22,0X38,
220 0X12,0X22,0X32,0X42,0X48,
221 0xFF};
222 //第十首 老鼠爱大米
223 unsigned char code song10[]={
224 0x32,0x31,0x41,
225 0x52,0x52,0x42,0x31,0x41,0x44,0x31,0x41,
226 0x52,0x52,0x42,0x32,0x34,0x71,0x11,
227 0x74,0x71,0x71,0x11,0x31,0x34,0x32,
228 0x32,0x32,0x32,0x31,0x41,0x44,0x32,0x41,0x51,
229 0x52,0x52,0x72,0x81,0x41,0x44,0x52,0x41,0x31,
230 0x32,0x32,0x42,0x51,0x71,0x74,0x71,0x71,
231 0x12,0x31,0x31,0x31,0x52,0x42,0x32,0x32,0x41,0x31,
232 0x34,0x52,0x51,0x71,
233 0x72,0x71,0x71,0x72,0x71,0x81,0x84,0x52,0x42,
234 0x32,0x32,0x32,0x41,0x51,0x54,0x51,0x71,
235 0x72,0x72,0x72,0x81,0xA1,0xA2,0x82,0x72,0x52,
236 0x42,0x32,0x32,0x12,0x44,0x51,0x71,
237 0x72,0x72,0x71,0x82,0x71,0x84,0x52,0x42,
238 0x32,0x32,0x32,0x41,0x51,0x54,0x51,0x71,
239 0x72,0x72,0x72,0x81,0xA1,0xA2,0x82,0x72,0x51,0x41,
240 0x42,0x42,0x44,0x32,0x51,0x61,
C51 COMPILER V7.06 YIN_YUE 11/06/2006 10:07:11 PAGE 5
241 0x72,0x42,0x44,0x52,0x41,0x31,
242 0x34,0x52,0x41,0x31,0x34,0x52,0x42,
243 0x52,0x32,0x52,0x81,0x71,0x74,0x51,0x71,
244 0x82,0x81,0x71,0x72,0x81,0x71,0x74,0x51,0x41,0x31,
245 0x42,0x41,0x51,0x42,0x31,0x41,0x44,0x52,0x41,0x31,
246 0x34,0x52,0x41,0x31,0x34,0x52,0x42,
247 0x52,0x32,0x52,0x81,0x71,0x74,0x51,0x41,
248 0x82,0x82,0xA2,0x71,0x81,0x72,0x71,0x51,0x41,0x31,
249 0x44,0x41,0x31,0x41,0x51,0x44,0x52,0x52,
250 0x42,0x31,0x34,0x52,0x41,0x31,
251 0x42,0x31,0x34,
252 0xFF};
253 //第十一首 偏偏喜欢你
254 unsigned char code song11[]={
255 0XC2,0XB2,
256 0X36,0X52,0X42,0X32,0X11,0XC1,0XB2,
257 0XC6,0X12,0XC4,0X12,0XC2,
258 0X76,0XA2,0X82,0X72,0X51,0X41,0X32,
259 0X4C,0X42,0X32,
260 0X74,0X82,0X74,0X82,0X72,
261 0X52,0X41,0X38,0X32,0X42,
262 0X16,0XC2,0X72,0X52,0X42,0X42,
263 0X3C,0XC2,0XB2,
264 0X36,0X52,0X42,0X32,0X11,0XC1,0XB2,
265 0XC6,0X12,0XC4,0X12,0XC2,
266 0X76,0XA2,0X82,0X72,0X51,0X41,0X32,
267 0X4C,0X42,0X32,
268 0X76,0X82,0X74,0X82,0X72,
269 0X53,0X41,0X38,0X32,0X42,
270 0X16,0XC2,0X72,0X52,0X41,0X51,0X12,
271 0XCC,0XC2,0XB2,
272 0X16,0XC2,0X72,0X52,0X42,0X42,
273 0X3C,0X32,0X32,
274 0X26,0X22,0X24,0X42,0X32,
275 0x22,0x12,0x18,0x02,0x52,
276 0X46,0X12,0X44,0X72,0X82,
277 0X5C,0X52,0X52,
278 0X46,0X42,0X74,0X42,0X32,
279 0X36,0X42,0X58,
280 0X82,0X72,0X62,0X52,0X46,0X32,
281 0X3C,0X12,0XB2,
282 0X36,0X52,0X42,0X32,0X11,0XC1,0XB2,
283 0XC6,0X12,0XC4,0X12,0XC2,
284 0X76,0XA2,0X82,0X72,0X51,0X41,0X32,
285 0X48,0X02,0X42,0X52,0X62,
286 0X76,0X82,0X74,0X82,0X72,
287 0X56,0X41,0X38,0X32,0X22,
288 0X16,0XC2,0X72,0X52,0X42,0X42,
289 0X3C,0X04,0X04,0X04,0X04,
290 0xFF};
291 //第十二首
292 unsigned char code song12[]={
293 0x34,0x32,0x34,0x34,0x24,0x34,0x32,0x32,0x24,0x38,0x44,0x58,0x48,
294 0x34,0x32,0x34,0x34,0x24,0x38,0x34,0x7F,0x34,0x32,0x34,0x32,
295 0x24,0x38,0x34,0x24,0x38,0x44,0x58,0x48,0x34,0x32,0x34,0x34,
296 0x24,0x38,0x34,0x7F,0x16,0x4C,0x74,
297 0x78,0x64,0x54,0x48,0x54,0x64,0x58,0x44,0x34,0x24,0x38,0x24,
298 0x14,0x12,0x21,0x11,0x78,0x68,0x3F,0x4C,0x74,
299 0x78,0x64,0x52,0x42,0x48,0x54,0x64,0x58,0x44,0x34,0x24,0x38,0x24,
300 0x24,0x38,0x44,0x58,0x48,0x3C,
301 0xFF};
302
C51 COMPILER V7.06 YIN_YUE 11/06/2006 10:07:11 PAGE 6
303
304
305 void main()
306 { //回main
307 1 TMOD=0x01; //timer0工作在方式1
308 1 IE=0x82; //EA=1;ETO=1;
309 1 while(1)
310 1 { //回xxxxxx
311 2
312 2 song=song3; //演奏第三首
313 2 j=0;
314 2 while(*(song+j)!=0xFF) //是否取到结束码
315 2 { //回22222
316 3 k=*(song+j)&0x0F; //后4位为多少个1/4拍
317 3 l=*(song+j)>>4; //song(song+j)[]中所放的每个字节
318 3 //前4位乘2表示为音符频率在数组yin[]中的位置
319 3
320 3 TH0=yin[2*l]; //置初值
321 3 TL0=yin[2*l+1];
322 3 TR0=1; //起动定时器0
323 3 if ((yin[2*l]==0xff)&&(yin[2*l+1]==0xff)) //如果取到的都是休止符,则不输出音频
324 3 {
325 4 TR0=0;SPK=1;
326 4 }
327 3 for(i=k;i>0;--i) //节拍K为多少就执行多少个1/4拍
328 3 {
329 4 delay();
330 4 }
331 3 TR0=0;
332 3 j++;
333 3 } //回22222
334 2 } //回xxxxxx
335 1 } //回main
336
337 /*每个音符的发声*/
338 void timer0() interrupt 1 using 1
339 {
340 1 TH0=yin[2*l];
341 1 TL0=yin[2*l+1];
342 1 SPK = !SPK;
343 1
344 1 }
345
346 /*延时1/4拍时间即187ms*/
347 void delay(void)
348 {
349 1 #pragma ASM
350 1 MOV R7,#02
351 1 D1: MOV R4,#125
352 1 D2: MOV R3,#248
353 1 DJNZ R3,$
354 1 DJNZ R4,D2
355 1 DJNZ R7,D1
356 1 #pragma ENDASM
357 1 }
358
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 195 ----
CONSTANT SIZE = 1365 ----
XDATA SIZE = ---- ----
C51 COMPILER V7.06 YIN_YUE 11/06/2006 10:07:11 PAGE 7
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -