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

📄 khts52.c

📁 提升机综合后备保护装置 源程序 AT89S52单片机
💻 C
📖 第 1 页 / 共 3 页
字号:
          break;	
	      case 1:
	        i = DisBuf[0];
          i += DisBuf[1]<<8;
          DisBuf[0] = i%10;
          i = i/10;
          DisBuf[1] = i%10;
          i = i/10;
          DisBuf[2] = i%10;
          i = i/10;
          DisBuf[3] = i%10;
          i = i/10;
          DisBuf[4] = i%10;
          SetByte = 0;
          SetData = DisBuf[0];
          t = 4;
	        break;
	      case 2:
	    	  SetJS = DisBuf[0];
		      if(DisBuf[1]!=0) SetJS += DisBuf[1]*10;
		      if(DisBuf[2]!=0) SetJS += DisBuf[2]*100;
		      if(DisBuf[3]!=0) SetJS += DisBuf[3]*1000;
		      if(DisBuf[4] >5) DisBuf[4] = 5;            // JS <= 5999.9 m
		      if(DisBuf[5]!=0) SetJS += DisBuf[5]*10000;
	        i = DisBuf[2];
          i += DisBuf[3]<<8;
          DisBuf[0] = i%10;
          i = i/10;
          DisBuf[1] = i%10;
          i = i/10;
          DisBuf[2] = i%10;
          i = i/10;
          DisBuf[3] = i%10;
          i = i/10;
          DisBuf[4] = i%10;
          SetByte = 0;
          SetData = DisBuf[0]; 
          t = 4;
	        break;
	      case 3:
	    	  SetXS = DisBuf[0];
		      if(DisBuf[1]!=0) SetXS += DisBuf[1]*10;
		     if(DisBuf[2]!=0) SetXS += DisBuf[2]*100;
		     if(DisBuf[3]!=0) SetXS += DisBuf[3]*1000;
		     if(DisBuf[4] >5) DisBuf[4] = 5;             // XS <= 59999 
		     if(DisBuf[4]!=0) SetXS += DisBuf[4]*10000;
	   
         i = DisBuf[4];
         DisBuf[0] = i%10;
         i = i/10;
         DisBuf[1] = i%10;
         i = i/10;
         DisBuf[2] = i%10;
         SetByte = 0;
         SetData = DisBuf[0]; 
         t = 1;
         break;
       case 4:
      	 SetSD1 = DisBuf[0];
		     if(DisBuf[1]!=0) SetSD1 += DisBuf[1]*10;
    		 if(DisBuf[2] >1) DisBuf[2] = 1;              // SD1 <= 19.9 m/s
	     	 if(DisBuf[2]!=0) SetSD1 += DisBuf[2]*100;
	   
	       i = DisBuf[5];
         DisBuf[0] = i%10;
         i = i/10;
         DisBuf[1] = i%10;
         i = i/10;
         DisBuf[2] = i%10;
         SetByte = 0;
         SetData = DisBuf[0]; 
         t = 1;
         break;
       case 5:
      	 SetSD2 = DisBuf[0];
		     if(DisBuf[1]!=0) SetSD2 += DisBuf[1]*10;
	       if(DisBuf[2] >1) DisBuf[2] = 1;              // SD1 <= 19.9 m/s
		     if(DisBuf[2]!=0) SetSD2 += DisBuf[2]*100;
	     
		     i = DisBuf[6];
         i += DisBuf[7]<<8;
         DisBuf[0] = i%10;
         i = i/10;
         DisBuf[1] = i%10;
         i = i/10;
         DisBuf[2] = i%10;
         i = i/10;
         DisBuf[3] = i%10;
         i = i/10;
         DisBuf[4] = i%10;
         SetByte = 0;
         SetData = DisBuf[0]; 
         t = 4;
	       break;
	     case 6:
	    	 SetTB1 = DisBuf[0];
		     if(DisBuf[1]!=0) SetTB1 += DisBuf[1]*10;
		     if(DisBuf[2]!=0) SetTB1 += DisBuf[2]*100;
		     if(DisBuf[3]!=0) SetTB1 += DisBuf[3]*1000;
		     if(DisBuf[4] >5) DisBuf[4] = 5;             // TB1 <= 5999.9 
		     if(DisBuf[4]!=0) SetTB1 += DisBuf[4]*10000;
	    
		     i = DisBuf[8];
         i += DisBuf[9]<<8;
         DisBuf[0] = i%10;
         i = i/10;
         DisBuf[1] = i%10;
         i = i/10;
         DisBuf[2] = i%10;
         i = i/10;
         DisBuf[3] = i%10;
         i = i/10;
         DisBuf[4] = i%10;
         SetByte = 0;
         SetData = DisBuf[0];
         t = 4; 
	       break;
	     case 7:
	    	 SetTB2 = DisBuf[0];
		     if(DisBuf[1]!=0) SetTB2 += DisBuf[1]*10;
		     if(DisBuf[2]!=0) SetTB2 += DisBuf[2]*100;
		     if(DisBuf[3]!=0) SetTB2 += DisBuf[3]*1000;
		     if(DisBuf[4] >5) DisBuf[4] = 5;             // TB2 <= 5999.9 
		     if(DisBuf[4]!=0) SetTB2 += DisBuf[4]*10000;
	    
		     DisBuf[0] = DT[0]&0x0f;
		     DisBuf[1] = DT[0]>>4;
		     DisBuf[2] = DT[1]&0x0f;
		     DisBuf[3] = DT[1]>>4;
		     DisBuf[4] = DT[2]&0x0f;
		     DisBuf[5] = DT[2]>>4;
		     SetByte = 0;
         SetData = DisBuf[0]; 
         t = 9;
	       break;
	     case 8:
	    	 DT[0] = DisBuf[0]|DisBuf[1]<<4;
		     DT[1] = DisBuf[2]|DisBuf[3]<<4;
		     DT[2] = DisBuf[4]|DisBuf[5]<<4;
	    
		     DisBuf[0] = DT[3]&0x0f;
		     DisBuf[1] = DT[3]>>4;
		     DisBuf[2] = DT[4]&0x0f;
		     DisBuf[3] = DT[4]>>4;
		     DisBuf[4] = DT[5]&0x0f;
		     DisBuf[5] = DT[5]>>4;
		     SetByte = 0;
         SetData = DisBuf[0]; 
         t = 9;
	       break;
	     default:;
	   }
	  
	  k1c = 0; 
    }
    if(~k3_f && k3_pf){// KEY3 UP
	    if(++SetData > 9)SetData = 0; 
      DisBuf[SetByte]=SetData;
    
	    k3c = 0;
	  }
    if(~k4_f && k4_pf){// KEY4 UP
	    if(SetCode==0)F0=0; // Exit Menu 
    }
  
  	switch(SetCode){
	    case 0:
		for(t=1;t<15;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
	    P2 &= 0x07;
        P2 |= 15<<3;
        P0 = DisTab[0];
        P2 &= 0x07;
      break;
      case 1:
	      if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 4)SetByte = 0; 
  	      SetData=DisBuf[SetByte];
  	      k2c = 0;
  	    }
        for(t=1;t<4;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
        for(t=4;t<9;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff; 
          else if(t==5)P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]]; 
        }
		for(t=9;t<15;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
		P2 &= 0x07;
        P2 |= 15<<3;
        P0 = DisTab[1];
		P2 &= 0x07;
      break;
      case 2:
	      if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 4)SetByte = 0; 
  	      SetData=DisBuf[SetByte];
  	      k2c = 0;
  	    }
		for(t=1;t<4;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
        for(t=4;t<9;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff; 
          else P0 = DisTab[DisBuf[t-4]]; 
        }
		for(t=9;t<15;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
		 P2 &= 0x07;
        P2 |= 15<<3;
        P0 = DisTab[2];
        P2 &= 0x07;
        break;
		  case 3:
		    if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 2)SetByte = 0; 
  	      SetData=DisBuf[SetByte];
  	      k2c = 0;
  	    }
  	    for(t=1;t<4;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-1))&&(DisCnt>14))P0 = 0xff; 
          else if(t==2)P0 = DisTab[DisBuf[t-1]]&0x7f;else P0 = DisTab[DisBuf[t-1]]; 
        }
	    	for(t=4;t<15;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		    }
		  P2 &= 0x07;
		    P2 |= 15<<3;
		    P0 = DisTab[3];
            P2 &= 0x07;
		    break;
	    case 4:
		  if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 2)SetByte = 0; 
  	      SetData=DisBuf[SetByte];
  	      k2c = 0;
  	    }
	    for(t=1;t<4;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-1))&&(DisCnt>14))P0 = 0xff; 
          else if(t==2)P0 = DisTab[DisBuf[t-1]]&0x7f;else P0 = DisTab[DisBuf[t-1]];
        }
        for(t=4;t<15;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		  }
		P2 &= 0x07;
        P2 |= 15<<3;
        P0 = DisTab[4];
        P2 &= 0x07;
        break; 
      case 5:
        if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 4)SetByte = 0; 
  	      SetData=DisBuf[SetByte];
  	      k2c = 0;
  	    } 
		  for(t=1;t<4;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
            P0=0xff;
		  }
		   for(t=4;t<9;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff; 
          else if(t==5) P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]]; 
        } 
		   for(t=9;t<15;t++){ 
             P2 &= 0x07;
             P2 |= t<<3;
             P0=0xff;
		    }
		    P2 &= 0x07;
		    P2 |= 15<<3;
		    P0 = DisTab[5];
		    P2 &= 0x07;
		    break;
 		  case 6:
		    if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 4)SetByte = 0; 
  	      k2c = 0;
  	      SetData=DisBuf[SetByte];
  	      
  	    }
		  for(t=1;t<4;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          P0=0xff;
		  }
	      for(t=4;t<9;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff; 
          else if (t==5)P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]]; 
          }
          for(t=9;t<15;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          P0=0xff;
		  }
	        P2 &= 0x07;
		    P2 |= 15<<3;
		    P0 = DisTab[6];
		    P2 &= 0x07;
		     break;
		  case 7:
		    if(k2_f && ~k2_pf){//KEY2 down
  	      if(++SetByte > 5)SetByte = 0; 
  	      k2c = 0;
  	      SetData=DisBuf[SetByte];  	      
  	    }
		  for(t=1;t<9;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
		  P0=0xff;
		  }
		  for(t=9;t<15;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-9))&&(DisCnt>14))P0 = 0xff; 
          else P0 = DisTab[DisBuf[t-9]]; 
        }
            P2 &= 0x07;
		    P2 |= 15<<3;
		    P0 = DisTab[23];
		    P2 &= 0x07;
		    
		    break;
		  case 8:
		    if(k2_f && ~k2_pf){//KEY2 down
		      if(++SetByte > 5)SetByte = 0; 
  	          k2c = 0;
  	          SetData=DisBuf[SetByte];
  	        }
          for(t=1;t<9;t++){ 
            P2 &= 0x07;
            P2 |= t<<3;
			P0=0xff;
			}
          for(t=9;t<15;t++){ 
          P2 &= 0x07;
          P2 |= t<<3;
          if((SetByte==(t-9))&&(DisCnt>14))P0 = 0xff; 
          else P0 = DisTab[DisBuf[t-9]]; 
        }
        P2 &= 0x07;
		P2 |= 15<<3;
		P0 = DisTab[23]&0x7f;
		P2 &= 0x07;
		    break;
		 default:;			
    }
    Delay_N_mS(100);
 }

} // KeyMenu End

⌨️ 快捷键说明

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