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

📄 4.txt

📁 使用AT89S52单片机的简易电子琴程序的KEIL工程
💻 TXT
字号:
#include "AT89X51.H" 
#define  bell P1_0

unsigned int tab1[]={63628,63835,64021,64103,64260,64400,64524};
unsigned int tab2[]={64580,64684,64777,64820,64898,65010,65030};
unsigned int tab3[]={65058,65110,65157,65178,65217,65273,65283};
unsigned int tab[7];			     

void main(void) 
{ 
	TMOD=0x01; 
	EA=1;
	EX0=1;
	IT0=1; 										                                      
	P2=0xfe;
	while(1) 
	{ 
	    unsigned int i;
	    switch(P2) 
		{ 
			case 0xfe: 
				for(i=0;i<=7;i++)
				  tab[i]=tab1[i];
				break; 
			case 0xfd: 
				for(i=0;i<=7;i++)
				  tab[i]=tab2[i];
				break; 
			case 0xfb: 
				for(i=0;i<=7;i++)
				  tab[i]=tab3[i];
			    break; 
		} 
		while(P3_0==0)
		{ 
		    bell=!bell;
			TH0=tab[0]/256; 
			TL0=tab[0]%256; 
		                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TR0=1;
		    while(TF0!=1);
		    TF0=0;  		 		
		}
		while(P3_1==0)
		{ 
			bell=!bell;
			TH0=tab[1]/256; 
			TL0=tab[1]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}
 	    while(P3_7==0)
		{ 
			bell=!bell;
			TH0=tab[2]/256; 
			TL0=tab[2]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}
		while(P3_3==0)
		{ 
			bell=!bell;
			TH0=tab[3]/256; 
			TL0=tab[3]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}	
		while(P3_4==0)
		{ 
			bell=!bell;
			TH0=tab[4]/256; 
			TL0=tab[4]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}
		while(P3_5==0)
		{ 
			bell=!bell;
			TH0=tab[5]/256; 
			TL0=tab[5]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}
		while(P3_6==0)
		{ 
			bell=!bell;
			TH0=tab[6]/256; 
			TL0=tab[6]%256; 
		    TR0=1;
		   	while(TF0!=1);
			TF0=0;
		}
	} 
}

void int0_int(void) interrupt 0
{
	EX0=0;
	P2=(P2<<1)+1; 
	if(P2==0xf7)
		P2=0xfe;
	EX0=1;
}

⌨️ 快捷键说明

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