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

📄 key_prc.lst

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
 460   4                                                      case 0x05:             //"返回"按键确认
 461   4                                                               
 462   4                                                                        disp_mode = FIRST_MENU_DISP;
 463   4                                        
 464   4                                        break;
 465   4      
 466   4                                                      default:
 467   4                                                                break;
 468   4                                                }
 469   3                           select_position = 0;
 470   3                            break;
 471   3      
 472   3                  case 5:           /* 五条信息时处理*/
 473   3                      
 474   3                           switch(select_position)
 475   3                                               {
 476   4                                                  case 0x00:
 477   4                                                                In_third_menu();
 478   4                                                                        Get_mes_content(5,0);
 479   4                                                                        break;
 480   4                                                      case 0x01:
 481   4                                                                In_third_menu();
 482   4                                                                        Get_mes_content(5,1);
 483   4                                                                        break;
 484   4                              case 0x02:
 485   4                                        In_third_menu();
 486   4                                                                        Get_mes_content(5,2);
 487   4                                        break;
 488   4                              case 0x03:
 489   4                                        In_third_menu();                                                               
C51 COMPILER V7.06   KEY_PRC                                                               06/10/2005 13:26:28 PAGE 9   

 490   4                                                                        Get_mes_content(5,3);
 491   4                                        break;
 492   4                              case 0x04:
 493   4                                        In_third_menu();
 494   4                                                                        Get_mes_content(5,4);
 495   4                                        break;
 496   4                                                      case 0x05:              
 497   4                                                                if(list_num>5)     //上页按键确认
 498   4                                                                {
 499   5                                                       Prev_page_affirm(5) ;
 500   5                                                                                
 501   5                                                                        }
 502   4                                                                        else
 503   4                                                                        {   
 504   5                                                                             scr_mes_num = Judge_mes_num();    //下页按键确认
 505   5                                             mes_list_F = 1;
 506   5                                                                        }
 507   4                                                                        
 508   4                                                                        break;
 509   4                              case 0x06:             //"下页"按键确认
 510   4                                                                if(list_num > 5)
 511   4                                        {
 512   5                                                                           
 513   5                                           scr_mes_num = Judge_mes_num();
 514   5                                                                               mes_list_F = 1;
 515   5                                         
 516   5                                                                         }
 517   4                                                                         else      //返回按键确认
 518   4                                           
 519   4                                                                                disp_mode = FIRST_MENU_DISP;
 520   4                                                         
 521   4                                        break;
 522   4                                                      case 0x07:             //"返回"按键确认
 523   4                                                                disp_mode = FIRST_MENU_DISP;
 524   4                                        
 525   4                                        break;
 526   4      
 527   4                                                      default:
 528   4                                                                break;
 529   4                                                }
 530   3                            select_position = 0;
 531   3                            break;
 532   3                  }
 533   2             }
 534   1      /*第三级菜单显示时按右键处理情况*/
 535   1           else if(disp_mode == THIRD_MENU_DISP)
 536   1           {
 537   2                  if(disp_no_u == 0)                //第一屏时
 538   2                      {
 539   3                         if(content_disp_end_F == 1)             //一屏就显示完内容情况下
 540   3                         {
 541   4                             switch(select_position)
 542   4                             {
 543   5                              case 0x00:                     //按删除键确认
 544   5                                           Del_mes_prc();            //要删除信息
 545   5                                               mes_list_F =1;
 546   5                                               break;
 547   5                                      case 0x01:                    //返回键确认                                       
 548   5                           Return_second_menu(scr_mes_num);
 549   5                                               mes_list_F = 1;                                        
 550   5                                               break;
 551   5                                      default:
C51 COMPILER V7.06   KEY_PRC                                                               06/10/2005 13:26:28 PAGE 10  

 552   5                                           break;
 553   5                                  }
 554   4                         }
 555   3                              else            //第一屏,但信息内容一屏没显示完
 556   3                         {
 557   4                     switch(select_position)
 558   4                                 {
 559   5                                  case 0x00:                   //下页按键处理
 560   5                                           disp_no_u++;
 561   5                                               content_disp_F = P_DISP ;
 562   5                                               clear_scr_F = 1;
 563   5                                               break;
 564   5                      case 0x01:                   //返回键处理
 565   5                                           Return_second_menu(scr_mes_num);
 566   5                                               mes_list_F = 1;
 567   5                                              
 568   5                                               break;
 569   5                                      default:
 570   5                                           break;
 571   5                                      }
 572   4                              }
 573   3                  }
 574   2                      else         //不是第一屏
 575   2                      {
 576   3                           if(content_disp_end_F == 1)   //显示内容已结束
 577   3                               {
 578   4                                  switch(select_position)
 579   4                                      {
 580   5                                        case 0x00:                    //上页按键确认                                  
 581   5                                              disp_no_u--;
 582   5                                                      clear_scr_F = 1;
 583   5                              content_disp_F = N_DISP ;
 584   5                                                      break;
 585   5                                        case 0x01:                   //删除按键确认
 586   5                                             //删除处理
 587   5                                                 Del_mes_prc();
 588   5                                                 mes_list_F = 1;
 589   5                                                 break;
 590   5                                        case 0x02:                   //返回键确认                                  
 591   5                                               Return_second_menu(scr_mes_num);
 592   5                                               mes_list_F = 1;
 593   5                                               break;
 594   5                                        default:
 595   5                                             break;
 596   5                        }
 597   4                                }
 598   3                                else        //显示内容还没结束
 599   3                                {
 600   4                                    switch(select_position)
 601   4                                        {
 602   5                                           case 0x00:                  //上页按键确认
 603   5                                                    if(disp_no_u >= 1)
 604   5                                                           disp_no_u--;
 605   5                                                        clear_scr_F = 1;
 606   5                                                        content_disp_F = N_DISP ;
 607   5                                                        //上页处理
 608   5                                                        break;
 609   5                                                case 0x01:                //下页按键确认
 610   5                                                     disp_no_u++;
 611   5                                                         if(disp_no_u>4)
 612   5                                                         {
 613   6                                                      disp_no_u = 4;    //一条信息最多暂定五屏显示完
C51 COMPILER V7.06   KEY_PRC                                                               06/10/2005 13:26:28 PAGE 11  

 614   6                                                                      break;
 615   6                                                         }
 616   5                                                         content_disp_F = P_DISP ;
 617   5                                                         clear_scr_F = 1;
 618   5                                                         break;
 619   5                                                case 0x02:               //返回键确认
 620   5                                                      
 621   5                                                     Return_second_menu(scr_mes_num);
 622   5                                                     mes_list_F = 1;
 623   5                                                      break;
 624   5                                                default:
 625   5                                                      break;
 626   5                                              }
 627   4                                 }
 628   3                        }
 629   2                       
 630   2                }
 631   1       }
 632          
 633          /***********************************************************/
 634          /***********************************************************/ 
 635                                               
 636          /***********************************************************/
 637          /* 按"上页"按键时的处理                                    */
 638          /* mes_num:是当前这一页有多少条信息                        */
 639          /***********************************************************/ 
 640           void  Prev_page_affirm(unsigned char mes_num)
 641           {
 642   1          list_num-=mes_num;
 643   1          if(mes_num != 0)
 644   1              {
 645   2      //       if(mes_list == (struct  MES_CON_BLOCK code *)END)      
 646   2             if(mes_list == &MES_NULL)  
 647   2             {
 648   3                     mes_list=last_mes_list ;
 649   3                          mes_num--;
 650   3                 }
 651   2               /*先把指针回到这一页的第一条信息处*/
 652   2             while(mes_num)
 653   2                 {
 654   3                        mes_list = mes_list->prev;
 655   3                            mes_num--;
 656   3                            
 657   3                 }
 658   2              }
 659   1      
 660   1         /*再判上一屏有多少条信息*/
 661   1               scr_mes_num = R_judge_mes_num();
 662   1               list_num -= scr_mes_num ;
 663   1               mes_list_F = 1;
 664   1                
 665   1       }
 666          
 667          /***********************************************************/
 668          /*这是在查看信息内容时按返回键时处理情形
 669          /*  mes_num:当前这一屏有多少条信息
 670          /***********************************************************/ 
 671          void Return_second_menu(unsigned char mes_num)
 672          {
 673   1          list_num -= mes_num ;
 674   1      //      if(mes_list == (struct  MES_CON_BLOCK code *)END)
 675   1          if(mes_list == &MES_NULL)
C51 COMPILER V7.06   KEY_PRC                                                               06/10/2005 13:26:28 PAGE 12  

 676   1              {
 677   2               mes_list = last_mes_list;
 678   2                       if(mes_num != 0)
 679   2                          mes_num--;
 680   2              }
 681   1      
 682   1          while(mes_num)
 683   1              {
 684   2      //            if(mes_list->prev != (struct  MES_CON_BLOCK code *)END)
 685   2                        if(mes_list->prev != &MES_NULL)
 686   2                    {    mes_list = mes_list->prev;
 687   3                             mes_num--;
 688   3                        }
 689   2                        else
 690   2                            break;
 691   2              }        
 692   1               scr_mes_num = Judge_mes_num();

⌨️ 快捷键说明

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