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

📄 main.c

📁 QH_MCU_V1.1单片机C源码. 内含实验程序 这是修改版.
💻 C
字号:
#include<reg51.h>

sbit   sing = P0^0; //扬声器的输出端口

//void Music(unsigned char number);
void Music(void);
void delay10ms(unsigned char time);
void delay50us(unsigned char time);
unsigned char code SOUNDLONG[];
unsigned char code SOUNDTONE[];

void main()
{
  P2 = 0xf7;
  P0 = 0xf7;
  P2 = 0xa7;
  P0 = 0x00;
while(1)
{
 //  Music(1);   //生日快乐
   Music();
   delay10ms(250);
   delay10ms(250);
 //  Music(2);   //三轮车
   Music();
   delay10ms(250);
   delay10ms(250);
}
}

//void Music(unsigned char number)
void Music(void)
{
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++)
    {
     sing = 0;
     for(m=0;m<SoundTone/2;m++)
      ; 
     sing = 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<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 + -