📄 15.lst
字号:
C51 COMPILER V8.02 15 03/26/2007 10:04:04 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 15
OBJECT MODULE PLACED IN 15.OBJ
COMPILER INVOKED BY: d:\Keil 8\C51\BIN\C51.EXE 15.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<AT89X51.h>
2
3 void Music(unsigned char number);
4 void delay10ms(unsigned char time);
5 void delay50us(unsigned char time);
6 unsigned char code SOUNDLONG[];
7 unsigned char code SOUNDTONE[];
8
9 void main()
10 {
11 1 while(1)
12 1 {
13 2 Music(1); //生日快乐
14 2 delay10ms(250);
15 2 delay10ms(250);
16 2 Music(2); //三轮车
17 2 delay10ms(250);
18 2 delay10ms(250);
19 2 }
20 1 }
21
22 void Music(unsigned char number)
23 {
24 1 unsigned int k,n;
25 1 unsigned int SoundLong,SoundTone;
26 1 unsigned int i,j,m;
27 1
28 1 for(k=0;k<number-1;k++)
29 1 {
30 2 while(SOUNDLONG[i] !=0){i++;}
31 2 i++;
32 2 if(i>=57) i=0;
33 2 }
34 1 for(k=0;k<number-1;k++)
35 1 {
36 2 while(SOUNDTONE[j] !=0){j++;}
37 2 j++;
38 2 if(j>=57) j=0;
39 2 }
40 1
41 1 do
42 1 {
43 2 if(i>=57) i=0;
44 2 if(j>=57) j=0;
45 2 SoundLong=SOUNDLONG[i];
46 2 SoundTone=SOUNDTONE[j];
47 2 i++;
48 2 j++;
49 2
50 2 for(n=0;n<SoundLong;n++)
51 2 {
52 3 for(k=0;k<12;k++)
53 3 {
54 4 P3_4=0;
55 4 for(m=0;m<SoundTone/2;m++)
C51 COMPILER V8.02 15 03/26/2007 10:04:04 PAGE 2
56 4 ;
57 4 P3_4=1;
58 4 for(m=0;m<SoundTone/2;m++)
59 4 ;
60 4 }
61 3 }
62 2 delay50us(6);
63 2 }while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0));
64 1 }
65
66 //延时程序
67 void delay10ms(unsigned char time)
68 {
69 1 unsigned char a,b,c;
70 1 for(a=0;a<time;a++)
71 1 for(b=0;b<10;b++)
72 1 for(c=0;c<120;c++)
73 1 ;
74 1 }
75 void delay50us(unsigned char time)
76 {
77 1 unsigned char a,b;
78 1 for(a=0;a<time;a++)
79 1 for(b=0;b<6;b++)
80 1 ;
81 1 }
82
83 unsigned char code SOUNDLONG[]=
84 {9,3,12,12,12,24,
85 9,3,12,12,12,24,
86 9,3,12,12,12,12,12,
87 9,3,12,12,12,24,
88 0, //生日快乐end
89 6,6,9,3,6,6,12,
90 6,6,6,6,6,6,12,
91 6,6,9,3,6,6,9,3,
92 6,3,3,6,3,3,6,6,9,
93 0 //三轮车end
94 };
95
96 unsigned char code SOUNDTONE[]=
97 {
98 212,212,190,212,159,169,
99 212,212,190,212,142,159,
100 212,212,106,126,159,169,190,
101 119,119,126,159,142,159,
102 0, //生日快乐end
103 239,239,212,189,159,159,189,
104 159,159,142,126,120,120,159,
105 120,120,142,159,189,142,159,189,
106 239,212,189,159,142,159,189,212,239,
107 0 //三轮车end
108 };
109
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 448 ----
CONSTANT SIZE = 116 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
C51 COMPILER V8.02 15 03/26/2007 10:04:04 PAGE 3
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 + -