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

📄 keyboard.lst

📁 用于测试步进电机
💻 LST
📖 第 1 页 / 共 5 页
字号:
 356          /************************************************************
 357          *        KEYB_SOLVE
 358          *     功能:按键处理函数
 359          *************************************************************/
 360          void keyb_solve(void)
 361          {       
 362   1         void  *pt;
 363   1              
 364   1              if(keyok_b && keyinput_b==0)
 365   1              {  //data uchar ucCurtime[7];   //日期--时间
C51 COMPILER V7.00  KEYBOARD                                                               09/14/2006 16:35:50 PAGE 7   

 366   2            
 367   2                      keyok_b=0;
 368   2                      switch (keysolve_b)
 369   2                      {       case 1:  //钮:TOTAL
 370   3                                      if(k2key)
 371   3                                      {
 372   4                                              if(state2==0){state2=06;ration_mode_b=1;menu2=2;disp_total_b();break;}
 373   4                                              if(state2==6){if(menu2==1)menu2=2;else menu2=1;disp_total_b();break;}
 374   4                                      }
 375   3                                      else
 376   3                                      {
 377   4                                              if(state2==0){state2=7;ration_mode_b=0;menu2=2;disp_total_b();break;}   
 378   4                                      }
 379   3                                      break;
 380   3                              case 2:  //钮:MENU
 381   3                                      if(k2key && !locknooil_b)
 382   3                                      {       if(state2==0){temp_memb=1;state2=4;menu2=1;disp_memu2_oil();}
 383   4                                              else if(state2==4){menu2++;if(menu2>7)menu2=1;multiple_b=1;ration_num_b=0;disp_memu2_oil();}
 384   4                                              if(state2==4 && menu2==4){temp_memb=1;disp_lock_b();}
 385   4                                      }
 386   3                                      else  //设置
 387   3                                      {  ration_num_b=0;
 388   4                                              if(state2==0){state2=3;menu2=1;disp_memu2_set();}
 389   4                                              else if(state2==3){temp_memb=0;menu2++;if(menu2>10)menu2=1;if(state2==3  && menu2==10)multiple_b=1;di
             -sp_memu2_set();}
 390   4                                              else if(state2==8){menu2++;if(menu2>4)menu2=1;disp_memu2_important();}
 391   4                                              if(state2==3  && menu2==8)
 392   4                                              {       bbyte=dotmode[decimal_b];
 393   5                                                      if (a2) multiple_b=1000;
 394   5                                                      else if(a5) multiple_b=100;
 395   5                                                      else    multiple_b=1;
 396   5                                                      ration_num_b=0;
 397   5                                                      setdotok_b=0;
 398   5                                              }
 399   4                                              
 400   4                                      }
 401   3                                      break;
 402   3                              case 3:  //钮:ENTER
 403   3                                      //if(state2==2) {state2=0;break;}
 404   3                                      if(state2==4 && menu2==2) 
 405   3                                      {       if(pass_check(1))
 406   4                                              {       if(locknooil_b){state2=0;locknooil_b=0;prn2time=1;disp_return_b();}
 407   5                                                      else {locknooil_b=1;multiple_b=1;ration_num_b=0;disp_lock_b();}
 408   5                                              }
 409   4                                              else if(!locknooil_b){state2=0;prn2time=1;disp_return_b();}
 410   4                                              else {locknooil_b=1;multiple_b=1;ration_num_b=0;disp_lock_b();}
 411   4                                              break;
 412   4                                      }
 413   3                                      if(state2==4 && menu2==4) 
 414   3                                      {       if(pass_check(1) || temp_memb==2)
 415   4                                              {       if(temp_memb==1){temp_memb=2;ration_num_b=0;multiple_b=1;ration_num_b=0;}  
 416   5                                                      else if(temp_memb==2){temp_memb=3;ration_pulse_b=ration_num_b;multiple_b=1;ration_num_b=0;} //新密码
             -暂存
 417   5                                                      else if(temp_memb==3){temp_memb=4;}
 418   5                                                      disp_lock_b();
 419   5                                              }
 420   4                                              else{state2=0;prn2time=1;disp_return_b();}
 421   4                                              break;
 422   4                                      }
 423   3                                      if(state2==3 && menu2==10)
 424   3                                      {       if(ration_num_b==5604 && multiple_b==10000)setpas_b=1;
 425   4                                              else  setpas_b=0;
C51 COMPILER V7.00  KEYBOARD                                                               09/14/2006 16:35:50 PAGE 8   

 426   4                                              if((ration_num_b==4321 || ration_num_b==5604) && multiple_b==10000){state2=8;menu2=1;disp_memu2_impor
             -tant();}
 427   4                                      }                               
 428   3                                      break;
 429   3                              case 4:  //钮:EXIT
 430   3                                      switch(state2)
 431   3                                      {       case 2:
 432   4                                                      if(state2==2) {state2=0;ration_num_b=0;clr_exitdata_b();disp_key_clear_b();}   // 
 433   4                                                      break;
 434   4                                              case 0:
 435   4                                                      //if(state2==0) {clr_exitdata_b();} //取消授权
 436   4                                                      //else {state2=0;prn2time=1;}
 437   4                                                      break;
 438   4                                              case 1:
 439   4                                                      break;
 440   4                                              default:  
 441   4                                              if(!locknooil_b){state2=0;prn2time=1;disp_return_b();}
 442   4                                                      break;
 443   4                                      }
 444   3                                      if(save_ok){save_ok=0;backup_sysdata();}
 445   3                                      break;
 446   3                              case 5:   //PPU
 447   3                                      print_proof(1);   //打印加油票据B                               
 448   3                                      break;
 449   3                              case 6:  //钮:7
 450   3                                      vipstart2();
 451   3                                 switch (state2)
 452   3                                      { case 2:
 453   4                                                if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=7*multiple_b;}}
 454   4                                                else {if(multiple_b!=0) {ration_num_b+=7*multiple_b;multiple_b/=10;}}
 455   4                                                disp_vip_b();
 456   4                                                break;
 457   4                                        case 4:
 458   4                                              if(menu2==1) disp_eeprom_history(1,7);  //查询前10次
 459   4                                              else if(menu2==2 || menu2==4){ration_num_b+=7*multiple_b;if(multiple_b<10000) multiple_b*=10;disp_loc
             -k_b();}
 460   4                                              break;
 461   4                                        case 3:
 462   4                                              if(menu2==8)
 463   4                                              {
 464   5                                                      if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=7*multiple_b;}}
 465   5                                                      else {if(multiple_b!=0) {ration_num_b+=7*multiple_b;multiple_b/=10;}}
 466   5                                                      price_b=ration_num_b;   //设置的单价
 467   5                                                      disp_memu2_set();
 468   5                                              }
 469   4                                              //if(menu2==9) set_time(7);
 470   4                                              if(menu2==10){ration_num_b+=7*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
 471   4                                              break;
 472   4                                              case 8:
 473   4                                                      if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=7;disp_memu2_important();}
 474   4                                                      break;
 475   4                                      }
 476   3                                      break;
 477   3                              case 7:  //钮:8
 478   3                                      vipstart2();
 479   3                                      switch (state2)
 480   3                                      { case 2:
 481   4                                                if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=8*multiple_b;}}
 482   4                                                else {if(multiple_b!=0) {ration_num_b+=8*multiple_b;multiple_b/=10;}}
 483   4                                                disp_vip_b();
 484   4                                                break;
 485   4                                              case 4:
C51 COMPILER V7.00  KEYBOARD                                                               09/14/2006 16:35:50 PAGE 9   

 486   4                                                      if(menu2==1) disp_eeprom_history(1,8);  //查询前10次
 487   4                                                      else if(menu2==2 || menu2==4){ration_num_b+=8*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_loc
             -k_b();}
 488   4                                                      break;
 489   4                                              case 3:
 490   4                                              if(menu2==8)
 491   4                                              {
 492   5                                                      if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=8*multiple_b;}}
 493   5                                                      else {if(multiple_b!=0) {ration_num_b+=8*multiple_b;multiple_b/=10;}}
 494   5                                                      price_b=ration_num_b;   //设置的单价
 495   5                                                      disp_memu2_set();
 496   5                                              }
 497   4                                              //if(menu2==9) set_time(8);
 498   4                                              if(menu2==10){ration_num_b+=8*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
 499   4                                              break;
 500   4                                              case 8:
 501   4                                                      if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=8;disp_memu2_important();}
 502   4                                                      break;
 503   4                                      }
 504   3                                      break;
 505   3                              case 8:  //钮:9
 506   3                                      vipstart2();
 507   3                                      switch (state2)
 508   3                                      { case 2:
 509   4                                                if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=9*multiple_b;}}
 510   4                                                else {if(multiple_b!=0) {ration_num_b+=9*multiple_b;multiple_b/=10;}}
 511   4                                                disp_vip_b();
 512   4                                                break;
 513   4                                              case 4:
 514   4                                                      if(menu2==1) disp_eeprom_history(1,9);  //查询前10次
 515   4                                                      else if(menu2==2 || menu2==4){ration_num_b+=9*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_loc
             -k_b();}
 516   4                                                      break;
 517   4                                              case 3:
 518   4                                              if(menu2==8)
 519   4                                              {
 520   5                                                      if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=9*multiple_b;}}
 521   5                                                      else {if(multiple_b!=0) {ration_num_b+=9*multiple_b;multiple_b/=10;}}
 522   5                                                      price_b=ration_num_b;   //设置的单价
 523   5                                                      disp_memu2_set();
 524   5                                              }
 525   4                                              //if(menu2==9) set_time(9);
 526   4                                              if(menu2==10){ration_num_b+=9*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
 527   4                                              break;
 528   4                                              case 8:
 529   4                                                      if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=9;disp_memu2_important();}
 530   4                                                      break;

⌨️ 快捷键说明

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