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

📄 keyboard.lst

📁 小区可视对讲键盘检测程序.利用pt6964芯片.
💻 LST
📖 第 1 页 / 共 4 页
字号:
 627   3                      rs232_send_command();
 628   3                 }
 629   2                      return ;
 630   2              }
 631   1      //分机已经准备好状态
 632   1      if((current_state&0x07) == STATE_FOURTHFUNC_GUESTREADY){
 633   2              //取消键处理
 634   2           if(key_codec == KEY_CANCLE){
 635   3                 open_buzzer();        //BEEP
 636   3                      buzzer_timer = 225;
 637   3                      buzzer_timer_trigger = 1;
 638   3                      display_buffer[0]=10; //
 639   3                      display_buffer[1]=10;
 640   3                      display_buffer[2]=10;
 641   3                      display_buffer[3]=10;
 642   3                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 643   3                      send_buffer[0] = COMMAND_HEADER;
 644   3                      send_buffer[1] = FOURTHFUNC_CANCLE;
 645   3                      send_buffer[2] = display_buffer[1];
 646   3                      send_buffer[3] = display_buffer[3];
 647   3                      rs232_send_command();
 648   3                 }
 649   2              //数字键处理
 650   2              if((key_codec >= 0x11)&&(key_codec <0x63)){     
 651   3                  open_buzzer();       //BEEP
 652   3                      buzzer_timer = 225;
 653   3                      buzzer_timer_trigger = 1;
 654   3                      display_buffer[0]=0; //
 655   3                      display_buffer[1]=key_codec>>4;
 656   3                      display_buffer[2]=0;
 657   3                      display_buffer[3]=key_codec&0x0f;
 658   3                 }
 659   2              //确认的处理
 660   2              if(key_codec == KEY_SURE){      
 661   3                  open_buzzer();       //BEEP
 662   3                      buzzer_timer = 225;
 663   3                      buzzer_timer_trigger = 1;
 664   3                      if(display_buffer[0] != SYMBLE_SUBM){  
 665   4                      send_buffer[0] = COMMAND_HEADER;
 666   4                      send_buffer[1] = FOURTHFUNC_NEW;
 667   4                      send_buffer[2] = display_buffer[1];
 668   4                      send_buffer[3] = display_buffer[3];
 669   4                      rs232_send_command();
 670   4                      current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_WAITDONE;     }
 671   3              
 672   3                 }
 673   2                      return ;
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 12  

 674   2              }
 675   1      //四号功能等待完成态
 676   1      if((current_state&0x07) == STATE_FOURTHFUNC_WAITDONE){;}
 677   1      return;
 678   1      }
 679          //--------------------
 680          //呼叫中心处理程序
 681          //--------------------
 682          void callingcenter_process(unsigned char key_coded)
 683          {
 684   1      
 685   1       if(key_coded == KEY_CANCLE){
 686   2                 open_buzzer();        //BEEP
 687   2                      buzzer_timer = 225;
 688   2                      buzzer_timer_trigger = 1;
 689   2                      display_buffer[0]=10; //
 690   2                      display_buffer[1]=10;
 691   2                      display_buffer[2]=10;
 692   2                      display_buffer[3]=10;
 693   2                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 694   2      
 695   2                      send_buffer[0] = COMMAND_HEADER;
 696   2                      send_buffer[1] = CALLCENTER_CANCLE;
 697   2                      send_buffer[2] = display_buffer[1];
 698   2                      send_buffer[3] = display_buffer[3];
 699   2                      rs232_send_command();
 700   2                 }
 701   1              return ;
 702   1      }
 703          //--------------------------------------------
 704          //EIGHTEENTH FUNCTION STATE KEY PROCESS
 705          //----------------------------------------------
 706          void eighteenthfunc_process(unsigned char key_codee)
 707          {
 708   1           if(key_codee == KEY_NULL){return;   }
 709   1      //验证前状态处理
 710   1      if((current_state&0x07) == STATE_EIGHTEENTHFUNC_PREIDENTY){
 711   2              if((key_codee >= 0x11)&&(key_codee < 0x63)) {  
 712   3                      open_buzzer();   //BEEP
 713   3                      buzzer_timer = 225;
 714   3                      buzzer_timer_trigger = 1;
 715   3                      psw_buffer[psw_index] = key_codee;
 716   3                      psw_index++;
 717   3                      if(psw_index >= 6)psw_index = 0;
 718   3                      
 719   3                      }
 720   2              if(key_codee == KEY_SURE){
 721   3                      open_buzzer();   //BEEP
 722   3                      buzzer_timer = 225;
 723   3                      buzzer_timer_trigger = 1;
 724   3                      
 725   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))     )
 726   3                              {
 727   4                              display_buffer[0]=SYMBLE_SUBM; //
 728   4                              display_buffer[1]=SYMBLE_SUBM;
 729   4                              display_buffer[2]=SYMBLE_SUBM;
 730   4                              display_buffer[3]=SYMBLE_SUBM; 
 731   4                              current_state = STATE_EIGHTEENTHFUNC|STATE_EIGHTEENTHFUNC_POSIDENTY;
 732   4      
 733   4      
 734   4                      send_buffer[0] = COMMAND_HEADER;
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 13  

 735   4                      send_buffer[1] = EIGHTEENTHFUNC_BEGIN;
 736   4                      send_buffer[2] = display_buffer[1];
 737   4                      send_buffer[3] = display_buffer[3];
 738   4                      rs232_send_command();
 739   4                              }
 740   3                      else {
 741   4                              current_state =STATE_FREE|STATE_FREE_NOCALL;
 742   4                          display_buffer[0]=10; //CLEAR SCREEN
 743   4                              display_buffer[1]=10;
 744   4                              display_buffer[2]=10;
 745   4                              display_buffer[3]=10; 
 746   4                              open_buzzer();   //BEEP
 747   4                              buzzer_timer = 185;
 748   4                              buzzer_timer_trigger = 1;
 749   4                              }
 750   3                      }
 751   2              return ;
 752   2              }
 753   1      //通过验证后状态,处理
 754   1      if((current_state&0x07) == STATE_EIGHTEENTHFUNC_POSIDENTY){     
 755   2              //取消键处理 
 756   2              if(key_codee == KEY_CANCLE){
 757   3                      open_buzzer();   //BEEP
 758   3                      buzzer_timer = 225;
 759   3                      buzzer_timer_trigger = 1;
 760   3                      current_state = STATE_FREE|STATE_FREE_NOCALL;
 761   3                      display_buffer[0]=10; //CLEAR SCREEN
 762   3                      display_buffer[1]=10;
 763   3                      display_buffer[2]=10;
 764   3                      display_buffer[3]=10; 
 765   3      
 766   3                      send_buffer[0] = COMMAND_HEADER;
 767   3                      send_buffer[1] = EIGHTEENTHFUNC_CANCLE;
 768   3                      send_buffer[2] = display_buffer[1];
 769   3                      send_buffer[3] = display_buffer[3];
 770   3                      rs232_send_command();
 771   3                      }
 772   2              //数字键处理
 773   2              if((key_codee >= 0x11)&&(key_codee <0x63)){     
 774   3                  open_buzzer();       //BEEP
 775   3                      buzzer_timer = 225;
 776   3                      buzzer_timer_trigger = 1;
 777   3                      display_buffer[0]=0; //
 778   3                      display_buffer[1]=key_codee>>4;
 779   3                      display_buffer[2]=0;
 780   3                      display_buffer[3]=key_codee&0x0f;
 781   3                 }
 782   2               if(key_codee == KEY_SURE){     
 783   3                  open_buzzer();       //BEEP
 784   3                      buzzer_timer = 225;
 785   3                      buzzer_timer_trigger = 1;
 786   3                      if(display_buffer[0] != SYMBLE_SUBM){  
 787   4      
 788   4                      send_buffer[0] = COMMAND_HEADER;
 789   4                      send_buffer[1] = EIGHTEENTHFUNC_MASK;
 790   4                      send_buffer[2] = display_buffer[1];
 791   4                      send_buffer[3] = display_buffer[3];
 792   4                      rs232_send_command();
 793   4      
 794   4                      current_state = STATE_EIGHTEENTHFUNC|STATE_EIGHTEENTHFUNC_WAITREADY;  }
 795   3                      
 796   3                 }
C51 COMPILER V8.08   KEYBOARD                                                              05/25/2008 20:21:42 PAGE 14  

 797   2                      return ;
 798   2              }
 799   1      //等待分机准备好状态处理
 800   1      if((current_state&0x07) == STATE_EIGHTEENTHFUNC_WAITREADY){
 801   2      //    if(key_codee == KEY_CANCLE){
 802   2      //         open_buzzer();        //BEEP
 803   2      //              buzzer_timer = 225;
 804   2      //              buzzer_timer_trigger = 1;
 805   2      //              display_buffer[0]=10; //
 806   2      //              display_buffer[1]=10;
 807   2      //              display_buffer[2]=10;
 808   2      //              display_buffer[3]=10;
 809   2      //              current_state = STATE_FREE|STATE_FREE_NOCALL;
 810   2      //
 811   2      //              send_buffer[0] = COMMAND_HEADER;
 812   2      //              send_buffer[1] = FOURTHFUNC_CANCLE;
 813   2      //              send_buffer[2] = display_buffer[1];
 814   2      //              send_buffer[3] = display_buffer[3];
 815   2      //              rs232_send_command();
 816   2      //         }
 817   2                      return ;
 818   2              }
 819   1      
 820   1      return;
 821   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2168    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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