📄 main.c
字号:
#include <reg51.h>
void Music(unsigned char number);
void delay10ms(unsigned char time);
void delay50us(unsigned char time);
unsigned char code SOUNDLONG[];
unsigned char code SOUNDTONE[];
sbit spk=P3^5;
void main()
{
while(1)
{
Music(1); //生日快乐
delay10ms(250);
delay10ms(250);
Music(2); //三轮车
delay10ms(250);
delay10ms(250); }
}
void Music(unsigned char number)
{
unsigned int k,n;
unsigned int SoundLong,SoundTone;
unsigned int i,j,m;
for(k=0;k<number-1;k++)
{
while(SOUNDLONG[i] !=0)
{i++;}
i++;
if(i>=57)
i=0;
}
for(k=0;k<number-1;k++)
{
while(SOUNDTONE[j] !=0)
{j++;}
j++;
if(j>=57)
j=0;
}
do {
if(i>=57)
i=0;
if(j>=57)
j=0;
SoundLong=SOUNDLONG[i];
SoundTone=SOUNDTONE[j];
i++;
j++;
for(n=0;n<SoundLong;n++)
{
for(k=0;k<12;k++)
{
spk=0;
for(m=0;m<SoundTone/2;m++);
spk=1;
for(m=0;m<SoundTone/2;m++);
}
}
delay50us(6);
}while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0));
}//延时程序
void delay10ms(unsigned char time)
{
unsigned char a,b,c;
for(a=0;a<time;a++)
for(b=0;b<10;b++)
for(c=0;c<120;c++);
}
void delay50us(unsigned char time)
{
unsigned char a,b;
for(a=0;a<time;a++)
for(b=0;b<6;b++);
}
unsigned char code SOUNDLONG[]= {9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24, 0, //生日快乐end
6,6,9,3,6,6,12,6,6,6,6,6,6,12,6,6,9,3,6,6,9,3,6,3,3,6,3,3,6,6,9, 0 //三轮车end
};
unsigned char code SOUNDTONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0, //生日快乐end
239,239,212,189,159,159,189,159,159,142,126,120,120,159,120,120,142,159,189,142,159,189,239,212,189,159,142,159,189,212,239,0//三轮车end
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -