music.c

来自「使用AT89S52单片机的简易电子琴程序的KEIL工程」· C语言 代码 · 共 69 行

C
69
字号
#include"AT89X51.H"
unsigned char n;   //n为频率常数
unsigned char key;
sbit bell=P1^0;

unsigned char code music_tab[] ={0x18, 0x15, 0x13 ,0x12, 0x10, 0x0E, 0x0D};


void delayms(unsigned char a)  //微秒延时程序
{
   while(--a);                  
}

void main()
{ 
    while(1)
    {
          while(P3_0==0)
          { 
	     
	         key=music_tab[0];
             bell=!bell;
		     delayms(10*key);
	      }
          while(P3_1==0)
          { 
	          key=music_tab[1];
              bell=!bell;
		      delayms(10*key);
		  }
		  while(P3_2==0)
          { 
	     
	         key=music_tab[2];
             bell=!bell;
		     delayms(10*key);
	      }
		  while(P3_3==0)
          { 
	     
	         key=music_tab[3];
             bell=!bell;
		     delayms(10*key);
	      }
		  while(P3_4==0)
          { 
	     
	         key=music_tab[4];
             bell=!bell;
		     delayms(10*key);
	      }
		  while(P3_5==0)
          { 
	     
	         key=music_tab[5];
             bell=!bell;
		     delayms(10*key);
	      }
		  while(P3_6==0)
          { 
	     
	         key=music_tab[6];
             bell=!bell;
		     delayms(10*key);
	      }
	}
}                   

            

⌨️ 快捷键说明

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