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

📄 text1.c

📁 电子琴程序
💻 C
字号:
#include<AT89X51.H>
unsigned char table[]={0x3f,0x60,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char temp;
unsigned char key;
unsigned char i,j;
unsigned char STH0;
unsigned char STL0;
unsigned int code tab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};

void main(void)
{
  TMOD=0x01;
  ET0=1;
  EA=1;
    while(1)
	{
	  P3=0xff;
	  P3_4=0;
	  temp=P3;
	  temp=temp&0x0f;
	  if(temp!=0x0f)
	   {
	     for(i=50;i>0;i--)
		 for(j=200;j>0;j--);
		 temp=P3;
		 temp=temp&0x0f;
		 if(temp!=0x0f)
		  {
		   temp=P3;
		   temp=temp&0x0f;
		   switch(temp)
		    {
			  case 0x0e:
			  key=0;
			  break;
			  case 0x0d:
			  key=1;
			  break;
			  case 0x0b:
			  key=2;
			  break;
			  case 0x07:
			  key=3;
			  break;
			}
			 temp=P3;
			 P1_0=~P1_0;
			 P0=table[key];
			 STH0=tab[key]/256;
			 STL0=tab[key]%256;
			 TR0=1;
			 temp=temp&0x0f;
			 while(temp!=0x0f)
			  {
			   temp=P3;
			   temp=temp&0x0f;
			  }
			  TR0=0;
			}
		 }
         P3=0xff;
		 P3_5=0;
		 temp=P3;
		 temp=temp&0x0f;
		 if(temp!=0x0f)
		  {
		   for(i=50;i>0;i--)
		   for(j=200;j>0;j--)
		   temp=P3;
		   temp=temp&0x0f;
		   if(temp!=0x0f)
		    {
			 temp=P3;
			 temp=temp&0x0f;
			 switch(temp)
			  {
			   case 0x0e:
			   key=4;
			   break;
			   case 0x0d:
			   key=5;
			   break;
			   case 0x0b:
			   key=6;
			   break;
			   case 0x07:
			   key=7;
			   break;
			  }
			  temp=P3;
			  P1_0=~P1_0;
			  P0=table[key];
			  STH0=tab[key]/256;
			  STL0=tab[key]%256;
			  TR0=1;
			  temp=temp&0x0f;
			  while(temp!=0x0f)
			   {
			    temp=P3;
				temp=temp&0x0f;
			   }
			   TR0=0;
			  }
			}
			P3=0xff;
			P3_6=0;
			temp=P3;
			temp=temp&0x0f;
			if(temp!=0x0f)
			 {
			  for(i=50;i>0;i--)
			  for(j=200;j>0;j--);
			  temp=P3;
			  temp=temp&0x0f;
			  if(temp!=0x0f)
			   {
			    temp=P3;
				temp=temp&0x0f;
				switch(temp)
				 {
				  case 0x0e:
				  key=8;
				  break;
				  case 0x0d:
				  key=9;
				  break;
				  case 0x0b:
				  key=10;
				  break;
				  case 0x07:
				  key=11;
				  break;
				 }
				 temp=P3;
				 P1_0=~P1_0;
				 P0=table[key];
				 STH0=tab[key]/256;
				 STL0=tab[key]%256;
				 TR0=1;
				 temp=temp&0x0f;
				 while(temp!=0x0f)
				  {
				   temp=P3;
				   temp=temp&0x0f;
				  }
				  TR0=0;
			    }
			  }
			  P3=0xff;
			  P3_7=0;
			  temp=P3;
			  temp=temp&0x0f;
			  if(temp!=0x0f)
			   {
			    for(i=50;i>0;i--)
				for(j=200;j>0;j--);
				temp=P3;
				temp=temp&0x0f;
				if(temp!=0x0f)
				 {
				  temp=P3;
				  temp=temp&0x0f;
				  switch(temp)
				   {
				    case 0x0e:
					key=12;
					break;
					case 0x0d:
					key=13;
					break;
					case 0x0b:
					key=14;
					break;
					case 0x07:
					key=15;
					break;
				   }
				   temp=P3;
				   P1_0=~P1_0;
				   P0=table[key];
				   STH0=tab[key]/256;
				   STL0=tab[key]%256;
				   TR0=1;
				   temp=temp&0x0f;
				   while(temp!=0x0f)
				    {
					 temp=P3;
					 temp=temp&0x0f;
					}
					TR0=0;
				  }
			   }
		  }
}

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





⌨️ 快捷键说明

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