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

📄 key.lst

📁 T112 MCU源程码,用于T112外接MCU篇程,用来驱动模拟屏
💻 LST
📖 第 1 页 / 共 5 页
字号:
 674   5                                                              left_right=~left_right;
 675   5                                                              if(left_right)
 676   5                                                              {
 677   6                                                                      Dis_Mode=TOP_LEFT;
 678   6                                                              }
 679   5                                                              else
 680   5                                                              {
 681   6                                                                      Dis_Mode=TOP_RIGHT;
 682   6                                                              }                                                       
 683   5                                                              ///OSD_show
 684   5                                                              SET_Dismod();
 685   5                                                              break;
 686   5                                                      case 1:
 687   5                                                              top_down=~top_down;
 688   5                                                              if(top_down)
 689   5                                                              {
 690   6                                                                      Dis_Mode=BOTTOM_LEFT;
 691   6                                                              }
 692   5                                                              else
 693   5                                                              {
 694   6                                                                      Dis_Mode=BOTTOM_RIGHT;
 695   6                                                              }
 696   5                                                              ///OSD_show
 697   5                                                              SET_Dismod();
C51 COMPILER V7.06   KEY                                                                   12/05/2006 21:03:11 PAGE 13  

 698   5                                                              break;
 699   5                                                      case 2:
 700   5                                                              auto_power=~auto_power;
 701   5                                                              break;
 702   5                                                      default:
 703   5                                                              break;
 704   5                                              }
 705   4                                      }
 706   3                                      break;
 707   3                              case 3:
 708   3                                      ///退出OSD
 709   3                                      break;
 710   3                              default:
 711   3                                      break;
 712   3                      }
 713   2              }
 714   1              else
 715   1              {
 716   2                      vol_num++;
 717   2                      if(vol_num>vol_max)
 718   2                      {
 719   3                              vol_num=vol_max;
 720   3                      }
 721   2              ////OSD_show
 722   2              ////控制音量
 723   2              }
 724   1      }
 725          /***********************************************************************
 726                                          菜单处理程序
 727          ***********************************************************************/
 728          void MenuEvent(void)
 729          {
 730   1              if(power_control)                                                       ////            待机状态下无效
 731   1                      break;
*** ERROR C171 IN LINE 731 OF SOURCE\KEY.C: 'break': missing enclosing loop
 732   1              else
 733   1              {
 734   2                      power_key_unlock                =       0;                      ////            非待机下清power/avt键锁态
 735   2                      atv_key_unlock                  =       0;
 736   2                      if(!meum_key_unlock)                                            ////            menu键在非锁态才有效
 737   2                      {
 738   3                              //初始化Tmier0
 739   3                              Menu_OSD++;                                             ////            菜单界面选择及停止TV搜查
 740   3                              OSD_open                =       1;                      ////            OSD打开标志
 741   3                              if(source_gate==0)                                      ////            判断锁选择的视频源
 742   3                              {                                                       ////            TV
 743   4                                      if(Menu_OSD==1&&(hand_turn|auto_turn))          ////            当当前的是第二个菜单时,并且正在搜查TV
 744   4                                      {
 745   5                                              hand_turn       =       0;              ////            停止搜查TV
 746   5                                              aotu_turn       =       0;
*** ERROR C202 IN LINE 746 OF SOURCE\KEY.C: 'aotu_turn': undefined identifier
 747   5                                              TV_found        =       0;              ////            但是这里不保存该频道
 748   5                                              Menu_OSD--;                             ////            返回原值
 749   5                                              ///OSD_show                             ////            tingzi          
 750   5                                      }
 751   4                                      else                                            ////            否则,执行菜单切换
 752   4                                      {
 753   5                                      if(Menu_OSD>3)                                  ////            包括空的有4个
 754   5                                              {
 755   6                                                      Menu_OSD=0;
 756   6                                              }
 757   5                                      }
C51 COMPILER V7.06   KEY                                                                   12/05/2006 21:03:11 PAGE 14  

 758   4                                                                      
 759   4                              }
 760   3                              else                                                    ////            AV1/AV2
 761   3                              {
 762   4                                      if(Menu_OSD==1)                                 ////            当选择了第二个菜单时跳到第三个菜单
 763   4                                      {
 764   5                                              Menu_OSD=2;
 765   5                                      }
 766   4                                      if(Menu_OSD>3)
 767   4                                              {
 768   5                                                      Menu_OSD=0;
 769   5                                              }
 770   4                              }
 771   3                      //显示相应的菜单                                                ////            显示相应的菜单,应线确定是否为菜单切换                  
 772   3                      }
 773   2                      if(~(key_data|0xf7))                                            ////            一直按线,设定在锁态
 774   2                              meum_key_unlock         =       1;
 775   2                      else
 776   2                              meum_key_unlock         =       0;                      ////            否则非锁
 777   2              }       
 778   1      }
 779          /***********************************************************************
 780                                          AV_TV切换程序
 781          ***********************************************************************/
 782          void TAvEvent(void)
 783          {
 784   1              
 785   1              if(power_control&&(hand_turn|auto_turn))                        ////            待机状态下及审查TV时无效
 786   1              {
 787   2                      break;
*** ERROR C171 IN LINE 787 OF SOURCE\KEY.C: 'break': missing enclosing loop
 788   2              }
 789   1              //初始化Tmier0                                                  ////            重新设置Tmier0,有键动作
 790   1              OSD_open                        =       0;                      ////            菜单开标志清0
 791   1              power_key_unlock                =       0;                      ////            清楚相应键锁态
 792   1              meum_key_unlock                 =       0;
 793   1              if(!atv_key_unlock)                                             ////            在非锁态执行下面步骤
 794   1              {
 795   2                      source_gate++;                                          ////            通道循环加
 796   2                      if(source_gate>2)                                       ////            最多3路通道
 797   2                      {
 798   3                              source_gate=0;
 799   3                      }
 800   2                      //“关屏”                                              ////            首先关屏?,
 801   2                      //写T112选择相应的通道                                  ////            选择相应设置通道
 802   2                      //显示通道OSD                                           ////            显示相应通道OSD(右上角)
 803   2                      //“开屏”                                              ////            开屏
 804   2              }
 805   1              if(~(key_data|0xbf))                                            ////            判断键是否放开
 806   1                      atv_key_unlock          =       1;                      ////            没有,锁住键
 807   1              else
 808   1                      atv_key_unlock          =       0;                      ////            有,放开键
 809   1       }
 810          /***********************************************************************
 811                                          电源键处理程序
 812          ***********************************************************************/
 813          void PowerEvent(void)
 814          {                                                                       ////            待机,应初始化相应的参数,以便再开机初始化
 815   1              //禁止Tmier0
 816   1              OSD_open                        =       0;                      ////            OSD没开         
 817   1              Menu_OSD                        =       0;                      ////            菜单回到0
 818   1              meum_key_unlock                 =       0;                      
C51 COMPILER V7.06   KEY                                                                   12/05/2006 21:03:11 PAGE 15  

 819   1              atv_key_unlock                  =       0;
 820   1              hand_turn                       =       0;                      ////            手动搜查禁止
 821   1              auto_turn                       =       0;                      ////            自动搜查禁止
 822   1              if(!power_key_unlock)                                           ////            该键是否锁住
 823   1              {
 824   2                      power_control           =       ~power_control;         ////            不是,控制电源
 825   2              }
 826   1              if(~(key_data|0xfe))                                            ////            再读该键是否还按下
 827   1                      power_key_unlock        =       1;                      ////            是,锁住
 828   1              else
 829   1                      power_key_unlock        =       0;                      ////            不是,开锁
 830   1      }
 831          
 832          /***********************************************************************
 833                                          键盘扫描程序
 834          ***********************************************************************/
 835          void key_scan(void)
 836          {
 837   1              oldkey  =       key_data&0x7f;                                  ////读键值
 838   1              twdDelay1(1800);                                                ////延时20ms,防振,时间应根据实际相应调整
 839   1              oldkey  =       key_data&0x7f;                                  ////再读值
 840   1              if((oldkey=newkey) && (newkey!=0x7f))                           ////两次读写值相等,并有键按下
 841   1              {
 842   2                      switch(newkey)
 843   2                              {
 844   3                                      case 0x7e:
 845   3                                                              PowerEvent();
 846   3                                                              break;
 847   3                                      case 0x7d:
 848   3                                               

⌨️ 快捷键说明

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