📄 song.lst
字号:
220 0x74,0x71,0x71,0x11,0x31,0x34,0x32,
221 0x32,0x32,0x32,0x31,0x41,0x44,0x32,0x41,0x51,
222 0x52,0x52,0x72,0x81,0x41,0x44,0x52,0x41,0x31,
223 0x32,0x32,0x42,0x51,0x71,0x74,0x71,0x71,
224 0x12,0x31,0x31,0x31,0x52,0x42,0x32,0x32,0x41,0x31,
225 0x34,0x52,0x51,0x71,
226 0x72,0x71,0x71,0x72,0x71,0x81,0x84,0x52,0x42,
227 0x32,0x32,0x32,0x41,0x51,0x54,0x51,0x71,
228 0x72,0x72,0x72,0x81,0xA1,0xA2,0x82,0x72,0x52,
229 0x42,0x32,0x32,0x12,0x44,0x51,0x71,
230 0x72,0x72,0x71,0x82,0x71,0x84,0x52,0x42,
231 0x32,0x32,0x32,0x41,0x51,0x54,0x51,0x71,
232 0x72,0x72,0x72,0x81,0xA1,0xA2,0x82,0x72,0x51,0x41,
233 0x42,0x42,0x44,0x32,0x51,0x61,
234 0x72,0x42,0x44,0x52,0x41,0x31,
235 0x34,0x52,0x41,0x31,0x34,0x52,0x42,
236 0x52,0x32,0x52,0x81,0x71,0x74,0x51,0x71,
237 0x82,0x81,0x71,0x72,0x81,0x71,0x74,0x51,0x41,0x31,
238 0x42,0x41,0x51,0x42,0x31,0x41,0x44,0x52,0x41,0x31,
239 0x34,0x52,0x41,0x31,0x34,0x52,0x42,
240 0x52,0x32,0x52,0x81,0x71,0x74,0x51,0x41,
C51 COMPILER V6.12 SONG 10/15/2005 21:27:31 PAGE 5
241 0x82,0x82,0xA2,0x71,0x81,0x72,0x71,0x51,0x41,0x31,
242 0x44,0x41,0x31,0x41,0x51,0x44,0x52,0x52,
243 0x42,0x31,0x34,0x52,0x41,0x31,
244 0x42,0x31,0x34,
245 0xFF};
246 unsigned char code song11[]={
247 0XC2,0XB2,
248 0X36,0X52,0X42,0X32,0X11,0XC1,0XB2,
249 0XC6,0X12,0XC4,0X12,0XC2,
250 0X76,0XA2,0X82,0X72,0X51,0X41,0X32,
251 0X4C,0X42,0X32,
252 0X74,0X82,0X74,0X82,0X72,
253 0X52,0X41,0X38,0X32,0X42,
254 0X16,0XC2,0X72,0X52,0X42,0X42,
255 0X3C,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 0X76,0X82,0X74,0X82,0X72,
261 0X53,0X41,0X38,0X32,0X42,
262 0X16,0XC2,0X72,0X52,0X41,0X51,0X12,
263 0XCC,0XC2,0XB2,
264 0X16,0XC2,0X72,0X52,0X42,0X42,
265 0X3C,0X32,0X32,
266 0X26,0X22,0X24,0X42,0X32,
267 0x22,0x12,0x18,0x02,0x52,
268 0X46,0X12,0X44,0X72,0X82,
269 0X5C,0X52,0X52,
270 0X46,0X42,0X74,0X42,0X32,
271 0X36,0X42,0X58,
272 0X82,0X72,0X62,0X52,0X46,0X32,
273 0X3C,0X12,0XB2,
274 0X36,0X52,0X42,0X32,0X11,0XC1,0XB2,
275 0XC6,0X12,0XC4,0X12,0XC2,
276 0X76,0XA2,0X82,0X72,0X51,0X41,0X32,
277 0X48,0X02,0X42,0X52,0X62,
278 0X76,0X82,0X74,0X82,0X72,
279 0X56,0X41,0X38,0X32,0X22,
280 0X16,0XC2,0X72,0X52,0X42,0X42,
281 0X3C,0X04,0X04,0X04,0X04,
282 0xFF};
283 unsigned char code song12[]={
284 0x34,0x32,0x34,0x34,0x24,0x34,0x32,0x32,0x24,0x38,0x44,0x58,0x48,
285 0x34,0x32,0x34,0x34,0x24,0x38,0x34,0x7F,0x34,0x32,0x34,0x32,
286 0x24,0x38,0x34,0x24,0x38,0x44,0x58,0x48,0x34,0x32,0x34,0x34,
287 0x24,0x38,0x34,0x7F,0x16,0x4C,0x74,
288 0x78,0x64,0x54,0x48,0x54,0x64,0x58,0x44,0x34,0x24,0x38,0x24,
289 0x14,0x12,0x21,0x11,0x78,0x68,0x3F,0x4C,0x74,
290 0x78,0x64,0x52,0x42,0x48,0x54,0x64,0x58,0x44,0x34,0x24,0x38,0x24,
291 0x24,0x38,0x44,0x58,0x48,0x3C,
292 0xFF};
293
294
295 void main()
296 {
297 1 TMOD=0x01;
298 1 IE=0x82;
299 1 while(1)
300 1 {
301 2 start: j=0;
302 2 m=0;
C51 COMPILER V6.12 SONG 10/15/2005 21:27:31 PAGE 6
303 2 while(m==0)
304 2 {if(Y1==0)
305 3 {
306 4 song=song1;
307 4 m=1;
308 4 }
309 3 if(Y2==0)
310 3 {
311 4 song=song2;
312 4 m=1;
313 4 }
314 3 if(Y3==0)
315 3 {
316 4 song=song3;
317 4 m=1;
318 4 }
319 3 if(Y4==0)
320 3 {
321 4 song=song4;
322 4 m=1;
323 4 }
324 3 if(Y5==0)
325 3 {
326 4 song=song5;
327 4 m=1;
328 4 }
329 3 if(Y6==0)
330 3 {
331 4 song=song6;
332 4 m=1;
333 4 }
334 3 if(Y7==0)
335 3 {
336 4 song=song7;
337 4 m=1;
338 4 }
339 3 if(Y8==0)
340 3 {
341 4 song=song8;
342 4 m=1;
343 4 }
344 3 if(Y9==0)
345 3 {
346 4 song=song9;
347 4 m=1;
348 4 }
349 3 if(Y10==0)
350 3 {
351 4 song=song10;
352 4 m=1;
353 4 }
354 3 if(Y11==0)
355 3 {
356 4 song=song2;
357 4 m=1;
358 4 }
359 3 if(Y12==0)
360 3 {
361 4 song=song11;
362 4 m=1;
363 4 }
364 3 }
C51 COMPILER V6.12 SONG 10/15/2005 21:27:31 PAGE 7
365 2 for(i=0;i<5;i++)
366 2 {
367 3 delay();
368 3 }
369 2 p11=P1;
370 2 p33=P3;
371 2 while(*(song+j)!=0xFF)
372 2 {
373 3 k=*(song+j)&0x0F;
374 3 l=*(song+j)>>4;
375 3 //if((p11!=P1)||((p33&0x0f)!=(P3&0x0f)))
376 3 if((P1!=0xff)||(P3!=0xff))
377 3 {
378 4 goto start;
379 4 }
380 3 TH0=yin[2*l];
381 3 TL0=yin[2*l+1];
382 3 TR0=1;
383 3 if ((yin[2*l]==0xff)&&(yin[2*l+1]==0xff))
384 3 {
385 4 TR0=0;
386 4 }
387 3 for(i=k;i>0;--i)
388 3 {
389 4 delay();
390 4 }
391 3 TR0=0;
392 3 j++;
393 3 }
394 2 }
395 1 }
396
397 /*每个音符的发声*/
398 void timer0() interrupt 1 using 1
399 {
400 1 TH0=yin[2*l];
401 1 TL0=yin[2*l+1];
402 1 SPK = !SPK;
403 1 }
404
405 /*延时1/4拍时间即187ms*/
406 void delay(void)
407 { unsigned char i,j,k;
408 1 for(i=0;i<2;i++)
409 1 {for(j=0;j<170;j++)
410 2 for(k=0;k<100;k++);
411 2 }
412 1 /* #pragma ASM
413 1 MOV R7,#02
414 1 D1: MOV R4,#125
415 1 D2: MOV R3,#248
416 1 DJNZ R3,$
417 1 DJNZ R4,D2
418 1 DJNZ R7,D1
419 1 #pragma ENDASM*/
420 1 }
421 /* 前八首曲目:
422
423 1.干杯,朋友
424 2.兰花草
425 3.两只蝴蝶
426 4.祈祷
C51 COMPILER V6.12 SONG 10/15/2005 21:27:31 PAGE 8
427 5.阳关总在风雨后
428 6.心心相印
429 7.最浪漫的事
430 8.一生有你 */
431
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 375 ----
CONSTANT SIZE = 1365 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
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 + -