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

📄 bjhyn.c

📁 用AT89S52单片机演奏歌曲《北京欢迎你》
💻 C
字号:
#include <AT89X51.H>

unsigned int j;
unsigned char STH0;
unsigned char STL0;
unsigned int code tab[]={64021,64103,64260,64400,	   //低mi,fa,so,la
                         64524,64580,64684,64777,	   //低si,中do,re,mi
                         64820,64898,64968,65030,	   //中fa,so,la,si
                         65058,65110,65157,65178,	   //高do,re,mi,fa
						 65217,65252,65283,65312};	   //高so,la,si,do
unsigned char code song[]={ 10,10,12,12,10,10,9,9,10,10,9,9,10,10,10,0,10,10,10,9,6,6,8,8,10,10,9,9,9,9,9,0,
                            9,9,8,8,6,6,8,8,9,9,10,10,12,12,9,9,10,10,13,13,12,12,5,5,9,9,8,8,8,8,8,0,
							9,9,8,8,6,6,8,8,9,9,10,10,12,12,9,9,10,10,13,13,12,12,12,12,10,10,10,10,10,10,10,0,
							9,9,10,10,9,9,8,8,12,12,12,13,8,8,8,0,6,6,10,10,9,9,9,9,8,8,8,8,8,8,0,0,
							0,0,0,0,0,0,
							10,10,10,10,12,12,12,12,15,15,12,12,13,13,13,13,13,0,12,12,13,13,12,12,10,10,10,10,12,12,12,12,12,12,12,0,
							10,10,12,12,13,13,15,15,16,16,15,15,12,12,10,10,9,9,12,12,12,12,12,12,10,10,10,10,10,10,10,10,0,
							10,10,12,12,15,15,12,12,13,13,13,13,13,0,15,15,16,16,16,15,12,12,10,10,12,12,15,15,13,13,13,10,
							9,9,10,10,13,13,17,17,16,16,16,16,16,0,16,16,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,
							10,10,12,12,15,15,12,12,13,13,13,13,13,0,15,15,16,16,16,15,12,12,10,10,12,12,15,15,13,13,13,10,
							9,9,10,10,13,13,17,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
							16,16,16,0,15,15,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,
							0,0,
                            };

sbit SPK=P3^7;

void delay(unsigned char ms)
{unsigned int i;
 while(ms--)
    {for(i=0;i<1000;i++);
	}
}

void main(void)
{
 TMOD=0x01;
 ET0=1;
 EA=1;

 while(1)
  {j=0;
   while(j<360)
     {TR0=1;
	  if(song[j]==0)
	     TR0=0;
	  else
	     STH0=tab[song[j]-3]/256;
		 STL0=tab[song[j]-3]%256;
		 //TR0=1;
      delay(8);
	  TR0=1;
	  j++;

	 }
  }
}

void timer0(void) interrupt 1 using 0
{
TH0=STH0;
TL0=STL0;
SPK=~SPK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -