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

📄 51keyboard_display.c

📁 因需要
💻 C
📖 第 1 页 / 共 3 页
字号:
   case 1:	
         if(!RL5)
		   delay(N);    	 
		 if(!RL5) 
		  { keyrelease0=0; keyflag=1;}
		 if(RL5==1&&keyrelease0==0)
		   {		   
		     keyflag=0;
			 keyrelease0=1;
			 rkey=1;
			 key=KeyData[0]; 
		   }
		 if(!RL4)
		   delay(N);
         if(!RL4) 
		  {keyflag=1; keyrelease1=0;  }
		 if(RL4==1&&keyrelease1==0)
		   {		   
		     keyflag=0;
			 keyrelease1=1;	
			 rkey=1;	          
			 key=KeyData[1];
		   } 
		 if(!RL3)
		   delay(N);  
		 if(!RL3)           
		   { keyrelease4=0; keyflag=1;}
		 if(RL3==1&&keyrelease4==0)
		   {		   
		     keyflag=0;
			 keyrelease4=1;
			 rkey=1;
		     key=KeyData[4]; 
		   }
		 if(!RL2)
		   delay(N);   
		 if(!RL2) 		   	  
		  {  keyrelease7=0;  keyflag=1;}
		 if(RL2==1&&keyrelease7==0)
		   {		   
		     keyflag=0;
			 keyrelease7=1; 
			 rkey=1;
			 key=KeyData[7]; 
		   }	
		 if(!RL1)
		   delay(N);  	
		 if(!RL1) 
		  { keyrelease23=0; keyflag=1;}
		 if(RL1==1&&keyrelease23==0)
		   {		   
		     keyflag=0;
			 keyrelease23=1;
			 rkey=1;
		     key=KeyData[23]; 
		   }
		 break;

   case 2:	
         if(!RL5)
		   delay(N); 
		 if(!RL5) 
		 {  keyrelease10=0;  keyflag=1;}
		 if(RL5==1&&keyrelease10==0)
		   {		   
		     keyflag=0;
			 keyrelease10=1;
			 rkey=1;
			 key=KeyData[10]; 
		   }
		 if(!RL4)
		   delay(N);
         if(!RL4) 
		  { keyrelease2=0;  keyflag=1;}
		 if(RL4==1&&keyrelease2==0)
		   {		   
		     keyflag=0;
			 keyrelease2=1;	
			 rkey=1;	          
			 key=KeyData[2];
		   }
		 if(!RL3)
		   delay(N);     
		 if(!RL3)           
		  {  keyrelease5=0;  keyflag=1;}
		 if(RL3==1&&keyrelease5==0)
		   {		   
		     keyflag=0;
			 keyrelease5=1;
			 rkey=1;
		     key=KeyData[5]; 
		   }
		 if(!RL2)
		   delay(N);
		 if(!RL2) 		   	  
		  {  keyrelease8=0;  keyflag=1;}
		 if(RL2==1&&keyrelease8==0)
		   {		   
		     keyflag=0;
			 keyrelease8=1; 
			 rkey=1;
			 key=KeyData[8]; 
		   }	
		 if(!RL1)
		   delay(N);  	
		 if(!RL1) 
		  { keyrelease21=0;  keyflag=1;}
		 if(RL1==1&&keyrelease21==0)
		   {		   
		     keyflag=0;
			 keyrelease21=1;
			 rkey=1;
		     key=KeyData[21]; 
		   }
		 break;	
		 		 	
   case 3:	
   	 	 if(!RL5)
		   delay(N);
		 if(!RL5) 
		 {  keyrelease11=0;  keyflag=1;}
		 if(RL5==1&&keyrelease11==0)
		   {		   
		     keyflag=0;
			 keyrelease11=1;
			 rkey=1;
			 key=KeyData[11]; 
		   }
		 if(!RL4)
		   delay(N);
         if(!RL4) 
		 {  keyrelease3=0;  keyflag=1;}
		 if(RL4==1&&keyrelease3==0)
		   {		   
		     keyflag=0;
			 keyrelease3=1;	
			 rkey=1;	          
			 key=KeyData[3];
		   }  
		 if(!RL3)
		   delay(N);
		 if(!RL3)           
		   { keyrelease6=0;  keyflag=1;}
		 if(RL3==1&&keyrelease6==0)
		   {		   
		     keyflag=0;
			 keyrelease6=1;
			 rkey=1;
		     key=KeyData[6]; 
		   }
		 if(!RL2)
		   delay(N);
		 if(!RL2) 		   	  
		  {  keyrelease9=0;  keyflag=1;}
		 if(RL2==1&&keyrelease9==0)
		   {		   
		     keyflag=0;
			 keyrelease9=1; 
			 rkey=1;
			 key=KeyData[9]; 
		   }		 
		 break;

   case 4:		
    	 if(!RL5)
		   delay(N);
		 if(!RL5) 
		  { keyrelease32=0;  keyflag=1;}
		 if(RL5==1&&keyrelease32==0)
		   {		   
		     keyflag=0;
			 keyrelease32=1;
			 rkey=1;
			 key=KeyData[32]; 
		   }
		 if(!RL4)
		   delay(N);
         if(!RL4) 
		  { keyrelease12=0;  keyflag=1;}
		 if(RL4==1&&keyrelease12==0)
		   {		   
		     keyflag=0;
			 keyrelease12=1;
			 rkey=1;		          
			 key=KeyData[12];
		   }  
		 if(!RL3)
		   delay(N);
		 if(!RL3)           
		   { keyrelease31=0;	 keyflag=1;}
		 if(RL3==1&&keyrelease31==0)
		   {		   
		     keyflag=0;
			 keyrelease31=1;
			 rkey=1;
		     key=KeyData[31]; 
		   }
		 break;	
		 				  
     case 0 :	
	     if(!RL5)
		   delay(N);	 
		 if(!RL5) 
		  { keyrelease22=0;  keyflag=1;}
		 if(RL5==1&&keyrelease22==0)
		   {		   
		     keyflag=0;
			 keyrelease22=1;
			 rkey=1;
			 key=KeyData[22]; 
		   }
		 if(!RL4)
		   delay(N);
         if(!RL4) 
		  { keyrelease14=0; keyflag=0;rkey=1;key=KeyData[14];fu=0; }
		 if(RL4==1&&keyrelease14==0)
		   { 
		     fu=1;		   
		     keyflag=0;
			 keyrelease14=1;
			 rkey=1;		          
			 key=KeyData[14];	//
		   }  
		 if(!RL3)
		   delay(N);
		 if(!RL3)           
		   { keyrelease13=0; keyflag=0;rkey=1;key=KeyData[13];yang=0; }
		 if(RL3==1&&keyrelease13==0)
		   {	
		     yang=1;	   
		     keyflag=0;
			 keyrelease13=1;
			 rkey=1;
		     key=KeyData[13]; 	//
		   }
		 if(!RL2)
		   delay(N);
		 if(!RL2) 		   	  
		   { keyrelease30=0; keyflag=0;rkey=1;key=KeyData[30];sudu=0;}
		 if(RL2==1&&keyrelease30==0)
		   { 
		     sudu=1;		   
		     keyflag=0;
			 keyrelease30=1; 
			 rkey=1;
			 key=KeyData[30]; 
		   }	
		 if(!RL1)
		   delay(N);  	
		 if(!RL1) 
		  { keyrelease15=0;  keyflag=0;rkey=1;key=KeyData[15];fan=0; }
		 if(RL1==1&&keyrelease15==0)
		   { 
		     fan=1;		   
		     keyflag=0;
			 keyrelease15=1;
			 rkey=1;
		     key=KeyData[15]; 	//
		   }
		 if(!RL0)
		   delay(N);
		 if(!RL0) 
		  { keyrelease16=0; keyflag=0;rkey=1;key=KeyData[14];zheng=0 ;}
		 if(RL0==1&&keyrelease16==0)
		   {
		    zheng=1;		   
		    keyflag=0;
	    	keyrelease16=1;
			rkey=1;
		    key=KeyData[16];  //
		   }	 
		 break;	  
	default  : break;
 	}  


	if(STATE0==1&&STATE1==0)
	      DataDisHH(dataH);

	else if(STATE0==0&&STATE1==1)
	      DataDisZ(c01,c02,datahh) ;
		  	
	else if(STATE0==0&&STATE1==2)
	      DataDisL(datalw);

	else if(STATE0==0&&STATE1==3)
	  	  DataDisL(datalw);

	else if(STATE0==0&&STATE1==4)
	  	  DataDisJ(datajj);
		   
	else if(STATE0==0&&STATE1==5)
	  	  DataDisJ(datajj);
	else 
	      DataDish(datahh);   				    
    P3 = P3&0x1f|DIS_BIT[M];
}

void delay(int m) 
{
  int   i;
  for(i=m;i>1;i--)  
   ;
}	


void jiaojuread()
{
  unsigned char ww,qw,bw,sw,gw,dian;
  STATE1=4;
  STATE0=0;

  ww = EEPROM_ByteRead(0x60);
  qw = EEPROM_ByteRead(0x70);
  bw = EEPROM_ByteRead(0x80); 
  sw = EEPROM_ByteRead(0x90);
  gw = EEPROM_ByteRead(0xA0);
  dian = EEPROM_ByteRead(0xB0);//存放小数点位置

  datajj=10000*ww + 1000*qw + 100*bw + 10*sw + gw;

  if(dian==1)
   {
    jdot0 = 0;
    jdot1 = 1;
    jdot2 = 0;
   }
  else if(dian==2)
   {
    jdot0 = 0;
    jdot1 = 0;
    jdot2 = 1;
   }
  else 
   {
    jdot0 = 0;
    jdot1 = 0;
    jdot2 = 0;
   }

  while(key!=32)
   {
     STATE1=4;
	 STATE0=0;
   }
  STATE1=1;
  STATE0=0;
  rkey=0;
  key=0;
  three=0;
  jdot0=0;
  jdot1=0;
  jdot2=0;
  ww=0;
  qw=0;
  bw=0;
  sw=0;
  gw=0;
}


void jiaojuwrite()
{ unsigned char gw,sw,bw,qw,ww;
  bit lockJ;
  STATE1=5;
  STATE0=0;
  datajj=0;
  keycode=0;
  key=0;
  gw=0;
  sw=0;
  bw=0;
  qw=0;
  ww=0;
  while(keycode!=32)
  {
	STATE1=5;
	STATE0=0;

    while(keyflag==1);

	
   	if(rkey==1)
	{
	   keycode = key;
	 
	   if(keycode>=0&&keycode<=9&&lockJ!=1)
	    {
		   send(keycode);	///////////////////////////////////////////////////////  测试串口 
	      if(qw>5)
		   ww=5;

		  else
		   ww=qw;
		   qw=bw;
		   bw=sw;
	       sw=gw;
	       gw=keycode;

	       datajj= 10000*ww + 1000*qw + 100*bw + 10*sw + gw;
		  
		   if(jdot2==1) 
		      jdot2=0;
	   	   else if(jdot1==1)
		   {
		      jdot2=1;
		      jdot1=0;
		   }
		   else if(jdot0==1)
		   {
		      jdot1=1;
		      jdot0=0;
		   }
        } 

	   else if(keycode==10&&lockJ!=1)	 //////////////////////
	   {
		 // send(10); ////////////////////////////////////  测试串口  
	      
	      if(jdot0||jdot1||jdot2) 
		    rkey=0;
		  else 
		    jdot0=1;
	   }

	   else if(keycode==11&&lockJ!=1&&datajj!=0)
		{
		   lockJ=1;

		   EEPROM_ByteWrite(0x60,ww);
		   EEPROM_ByteWrite(0x70,qw);	   
		   EEPROM_ByteWrite(0x80,bw);  	     
		   EEPROM_ByteWrite(0x90,sw);	      
		   EEPROM_ByteWrite(0xA0,gw); 
           
		   if(jdot1==1)
		    EEPROM_ByteWrite(0xB0,1);
		   else if(jdot2==1)
		    EEPROM_ByteWrite(0xB0,2);	
		   else 
		    EEPROM_ByteWrite(0xB0,0);	 
		}

	   rkey=0;
	 }
	} 
	 

  STATE1=1;
  STATE0=0;
  rkey=0;
  gw=0;
  sw=0;
  bw=0;	
  qw=0;
  ww=0;
  lockJ=0;  
  four=0;
  jdot0=0;
  jdot1=0;
  jdot2=0;
}

void lingweiwrite()
 { 
  unsigned char gw,sw,bw,qw;
  bit lockL;
  STATE1=3;
  STATE0=0;
  datalw=0;
  keycode=0;
  key=0;
  gw=0;
  sw=0;
  bw=0;
  qw=0;

  while(keycode!=32)
  {
	STATE1=3;
	STATE0=0;

    while(keyflag==1);

	
   	if(rkey==1)
	{
	   keycode = key;
	 
	   if(keycode>=0&&keycode<=9&&lockL!=1)
	    {
		   send(keycode);	///////////////////////////////////////////////////////  测试串口 
	       qw=bw;
		   bw=sw;
	       sw=gw;
	       gw=keycode;
	       datalw= 1000*qw + 100*bw + 10*sw + gw;
        } 

	   else if(keycode==11&&lockL!=1&&datalw!=0)
		{
		   lockL=1;

		   EEPROM_ByteWrite(0x10,qw);	  delay(N);   
		   EEPROM_ByteWrite(0x20,bw);  delay(N);	     
		   EEPROM_ByteWrite(0x30,sw);  delay(N);	      
		   EEPROM_ByteWrite(0x40,gw);  delay(N);
		   
		    
		}

	   rkey=0;
	 }
	}  

  STATE1=1;
  STATE0=0;
  rkey=0;
  gw=0;
  sw=0;
  bw=0;	
  qw=0;
  lockL=0;  
  two=0;
  datalw=0;
 }



void lingweiread()
{
  unsigned char qw,bw,sw,gw;
  
  
  STATE1=2;
  STATE0=0;
  
   qw = EEPROM_ByteRead(0x10); delay(N);
   bw = EEPROM_ByteRead(0x20); delay(N);
   sw = EEPROM_ByteRead(0x30); delay(N);
   gw = EEPROM_ByteRead(0x40); delay(N);

   datalw=1000*qw + 100*bw + 10*sw + gw;

  while(key!=32)
  {
   STATE1=2;
   STATE0=0;  
  }

  STATE1=1;
  STATE0=0;
  rkey=0;
  key=0;
  one=0;
  datalw=0;
  qw=0;
  bw=0;

⌨️ 快捷键说明

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