music.c

来自「单片机小喇叭程序 单片机小喇叭程序 单片机小喇叭程序 单片机小喇叭程序」· C语言 代码 · 共 67 行

C
67
字号
		   
/************  music  *******************/

#include"Atmel/AT89X52.H"

//sbit P3_0=P3^0;

#define uchar unsigned char
#define uint unsigned int
#define SPEAKER P3_0

uchar mf;
uint count;
uint music[16]={64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,0};
	
void initial(void)
{
	mf=0;count=1;
	TR1=0;ET1=0;EA=0;
	TMOD=0x10;
	TH1=music[mf]/256;
	TL1=music[mf]%256;
	SPEAKER=0;
	T2CON=0x04;
	T2MOD=0x00;
	TH2=0x3c;TL2=0xb0;
	RCAP2H=0x3c;RCAP2L=0xb0;
	TR1=1;ET1=1;
	TR2=1;ET2=1;
	EA=1;
}

void timer1() interrupt 3 using 3
{	
	TH1=music[mf]/256;
	TL1=music[mf]%256;
	SPEAKER=~SPEAKER;	
}

void timer2() interrupt 5	//用定时器2延时,决定每个音的时间
{	 
	count++;
	if(count%300==0)
	{
		mf++;
		if(mf>=15)mf=0;
	}	
}

void delay(uint N)	  	  //延时子程序 决定每个音的时间
{
	int i;
	for(i=0;i<N;i++);
}
	
void main()
{	
	initial();
	while(1);
/*	{
		i++;
		if(i>=15)i=0;
		delay(10000);
	}	*/

}

⌨️ 快捷键说明

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