⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 生日快乐.txt

📁 51单片机播放音乐电路仿真和代码.rar
💻 TXT
字号:
#include<reg51.h> 
sbit   p34 = P2^3; //扬声器的输出端口 
void Music(unsigned char number); 
void delay10ms(unsigned char time); 
void delay50us(unsigned char time); 
unsigned char code SOUNDLONG[]; 
unsigned char code SOUNDTONE[]; 

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++) 
    { 
     p34=0; 
     for(m=0;m<SoundTone/2;m++) 
      ;  
     p34=1; 
     for(m=0;m<SoundTone/2;m++) 
      ; 
    } 
   } 
   delay50us(6); 
}while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0)); 
} 

//延时程序 
void delay10ms(unsigned char time)  //延时程序1 

{ 
unsigned char a,b,c; 
for(a=0;a<time;a++) 
   for(b=0;b<100;b++) 
    for(c=0;c<12;c++) 
    ; 
} 
void delay50us(unsigned char time)   //延时程序2 

{ 
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 + -