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

📄 keyboard.lst

📁 小区可视对讲键盘检测程序.利用pt6964芯片.
💻 LST
📖 第 1 页 / 共 4 页
字号:
 417   2              
 418   2                      break;
 419   2              case KEY_CANCLE:
 420   2                              open_buzzer();
 421   2                      buzzer_timer = 225;
 422   2                      buzzer_timer_trigger = 1;
 423   2                      
 424   2                      break;
 425   2              case KEY_CENTER:
 426   2                      open_buzzer();
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 8   

 427   2                      buzzer_timer = 225;
 428   2                      buzzer_timer_trigger = 1;
 429   2                      display_buffer[0]=SYMBLE_SUBM;
 430   2                      display_buffer[1]=SYMBLE_SUBM;
 431   2                      display_buffer[2]=SYMBLE_SUBM;
 432   2                      display_buffer[3]=SYMBLE_SUBM;
 433   2                      current_state = STATE_CALLINGCENTER;
 434   2                      send_buffer[0] = COMMAND_HEADER;
 435   2                      send_buffer[1] = CALLCENTER_BEGIN;
 436   2                      send_buffer[2] = display_buffer[1];
 437   2                      send_buffer[3] = display_buffer[3];
 438   2                      rs232_send_command();
 439   2                      break;
 440   2              default:
 441   2                      break;
 442   2              
 443   2              }
 444   1      }
 445          //-----------------------------------------
 446          //key procexx whe n current state is funcselect
 447          //--------------------------------------------
 448          void funcselect_state_process(unsigned char key_codeb)
 449          {
 450   1              if(key_codeb == KEY_CANCLE)     {
 451   2                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 452   2                      open_buzzer();   //BEEP
 453   2                      buzzer_timer = 225;
 454   2                      buzzer_timer_trigger = 1;
 455   2                      display_buffer[0]=10; //CLEAR SCREEN
 456   2                      display_buffer[1]=10;
 457   2                      display_buffer[2]=10;
 458   2                      display_buffer[3]=10;  }
 459   1              if(key_codeb == KEY_SET){
 460   2                      current_state = STATE_FUNCSELECT;
 461   2                      open_buzzer();   //BEEP
 462   2                      buzzer_timer = 225;
 463   2                      buzzer_timer_trigger = 1;
 464   2                      display_buffer[0]=SYMBLE_F; //功能号加一
 465   2                      display_buffer[2]= SYMBLE_SUBM; 
 466   2                      function_index++;
 467   2                      if(function_index > 18)function_index = 1;
 468   2                      display_buffer[1] = function_index;
 469   2                  if(function_index > 9){
 470   3                      display_buffer[1] = function_index/10;
 471   3                      display_buffer[2] = function_index%10;
 472   3                      }
 473   2                      display_buffer[3]=SYMBLE_SUBM;  }
 474   1              if(key_codeb == KEY_SURE){         //按确认键进入某一种功能中 
 475   2                   if(function_index ==  1){
 476   3                                                                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 477   3                                                                      open_buzzer();   //BEEP
 478   3                                                                      buzzer_timer = 225;
 479   3                                                                      buzzer_timer_trigger = 1;
 480   3                                                                      display_buffer[0]=10; //CLEAR SCREEN
 481   3                                                                      display_buffer[1]=10;
 482   3                                                                      display_buffer[2]=10;
 483   3                                                                      display_buffer[3]=10; 
 484   3                                                                      }
 485   2                       if(function_index == 4){
 486   3                                              current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_PREIDENTY;
 487   3                                                                      //rs232_initial();rs232_send_byte(current_state);
 488   3                                                                      open_buzzer();   //BEEP
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 9   

 489   3                                                                      buzzer_timer = 225;
 490   3                                                                      buzzer_timer_trigger = 1;
 491   3                                                                      display_buffer[0]=SYMBLE_SUBL; //CLEAR SCREEN
 492   3                                                                      display_buffer[1]=SYMBLE_SUBL;
 493   3                                                                      display_buffer[2]=SYMBLE_SUBL;
 494   3                                                                      display_buffer[3]=SYMBLE_SUBL; 
 495   3                                                                      psw_index = 0;
 496   3                                                                      
 497   3                                                                      }
 498   2                       if(function_index == 18){
 499   3                                              current_state = STATE_EIGHTEENTHFUNC|STATE_EIGHTEENTHFUNC_PREIDENTY;
 500   3                                                                      //rs232_initial();rs232_send_byte(current_state);
 501   3                                                                      open_buzzer();   //BEEP
 502   3                                                                      buzzer_timer = 225;
 503   3                                                                      buzzer_timer_trigger = 1;
 504   3                                                                      display_buffer[0]=SYMBLE_SUBL; //CLEAR SCREEN
 505   3                                                                      display_buffer[1]=SYMBLE_SUBL;
 506   3                                                                      display_buffer[2]=SYMBLE_SUBL;
 507   3                                                                      display_buffer[3]=SYMBLE_SUBL; 
 508   3                                                                      psw_index = 0;
 509   3                                                                      
 510   3                                                                      }
 511   2                      
 512   2                      }
 513   1      return;
 514   1      }
 515          //--------------------------------------------
 516          //FOURTH FUNCTION STATE KEY PROCESS
 517          //----------------------------------------------
 518          void fourthfunc_process(unsigned char key_codec)
 519          {
 520   1           if(key_codec == KEY_NULL){return;   }
 521   1      //验证前状态处理
 522   1      if((current_state&0x07) == STATE_FOURTHFUNC_PREIDENTY){
 523   2              if((key_codec >= 0x11)&&(key_codec < 0x63)) {  
 524   3                      open_buzzer();   //BEEP
 525   3                      buzzer_timer = 225;
 526   3                      buzzer_timer_trigger = 1;
 527   3                      psw_buffer[psw_index] = key_codec;
 528   3                      psw_index++;
 529   3                      if(psw_index >= 6)psw_index = 0;
 530   3                      
 531   3                      }
 532   2              if(key_codec == KEY_SURE){
 533   3                      open_buzzer();   //BEEP
 534   3                      buzzer_timer = 225;
 535   3                      buzzer_timer_trigger = 1;
 536   3                      
 537   3                      if((psw_buffer[0]==KEY_101)&&(psw_buffer[1]==KEY_101)&&(psw_buffer[2]==KEY_101)&&(psw_buffer[3]==KEY_102
             -)&&(psw_buffer[4]==KEY_102)&&((psw_buffer[5]==KEY_601)||(psw_buffer[5]==KEY_201))     )
 538   3                              {
 539   4                              display_buffer[0]=SYMBLE_SUBM; //
 540   4                              display_buffer[1]=SYMBLE_SUBM;
 541   4                              display_buffer[2]=SYMBLE_SUBM;
 542   4                              display_buffer[3]=SYMBLE_SUBM; 
 543   4                              current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_POSIDENTY;
 544   4      
 545   4      
 546   4                      send_buffer[0] = COMMAND_HEADER;
 547   4                      send_buffer[1] = FOURTHFUNC_BEGIN;
 548   4                      send_buffer[2] = display_buffer[1];
 549   4                      send_buffer[3] = display_buffer[3];
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 10  

 550   4                      rs232_send_command();
 551   4                              }
 552   3                      else {
 553   4                              current_state =STATE_FREE|STATE_FREE_NOCALL;
 554   4                          display_buffer[0]=10; //CLEAR SCREEN
 555   4                              display_buffer[1]=10;
 556   4                              display_buffer[2]=10;
 557   4                              display_buffer[3]=10; 
 558   4                              open_buzzer();   //BEEP
 559   4                              buzzer_timer = 185;
 560   4                              buzzer_timer_trigger = 1;
 561   4                              }
 562   3                      }
 563   2              return ;
 564   2              }
 565   1      //通过验证后状态,处理
 566   1      if((current_state&0x07) == STATE_FOURTHFUNC_POSIDENTY){ 
 567   2              //取消键处理 
 568   2              if(key_codec == KEY_CANCLE){
 569   3                      open_buzzer();   //BEEP
 570   3                      buzzer_timer = 225;
 571   3                      buzzer_timer_trigger = 1;
 572   3                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 573   3                      display_buffer[0]=10; //CLEAR SCREEN
 574   3                      display_buffer[1]=10;
 575   3                      display_buffer[2]=10;
 576   3                      display_buffer[3]=10; 
 577   3      
 578   3                      send_buffer[0] = COMMAND_HEADER;
 579   3                      send_buffer[1] = FOURTHFUNC_CANCLE;
 580   3                      send_buffer[2] = display_buffer[1];
 581   3                      send_buffer[3] = display_buffer[3];
 582   3                      rs232_send_command();
 583   3                      }
 584   2              //数字键处理
 585   2              if((key_codec >= 0x11)&&(key_codec <0x63)){     
 586   3                  open_buzzer();       //BEEP
 587   3                      buzzer_timer = 225;
 588   3                      buzzer_timer_trigger = 1;
 589   3                      display_buffer[0]=0; //
 590   3                      display_buffer[1]=key_codec>>4;
 591   3                      display_buffer[2]=0;
 592   3                      display_buffer[3]=key_codec&0x0f;
 593   3                 }
 594   2               if(key_codec == KEY_SURE){     
 595   3                  open_buzzer();       //BEEP
 596   3                      buzzer_timer = 225;
 597   3                      buzzer_timer_trigger = 1;
 598   3                      if(display_buffer[0] != SYMBLE_SUBM){  
 599   4      
 600   4                      send_buffer[0] = COMMAND_HEADER;
 601   4                      send_buffer[1] = FOURTHFUNC_OLD;
 602   4                      send_buffer[2] = display_buffer[1];
 603   4                      send_buffer[3] = display_buffer[3];
 604   4                      rs232_send_command();
 605   4      
 606   4                      current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_WAITGUESTREADY;  }
 607   3                      
 608   3                 }
 609   2                      return ;
 610   2              }
 611   1      //等待分机准备好状态处理
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 11  

 612   1      if((current_state&0x07) == STATE_FOURTHFUNC_WAITGUESTREADY){
 613   2          if(key_codec == KEY_CANCLE){
 614   3                 open_buzzer();        //BEEP
 615   3                      buzzer_timer = 225;
 616   3                      buzzer_timer_trigger = 1;
 617   3                      display_buffer[0]=10; //
 618   3                      display_buffer[1]=10;
 619   3                      display_buffer[2]=10;
 620   3                      display_buffer[3]=10;
 621   3                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 622   3      
 623   3                      send_buffer[0] = COMMAND_HEADER;
 624   3                      send_buffer[1] = FOURTHFUNC_CANCLE;
 625   3                      send_buffer[2] = display_buffer[1];
 626   3                      send_buffer[3] = display_buffer[3];

⌨️ 快捷键说明

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