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

📄 key_cmd.lst

📁 这是用W77E58编写的控制GSM模块
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V6.23a  KEY_CMD                                                               12/11/2002 14:32:10 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE KEY_CMD
OBJECT MODULE PLACED IN D:\77E58\KEY_CMD.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE D:\77E58\KEY_CMD.C DB SB OE

stmt level    source

   1          
   2          /************************************************************************/
   3          /*                                                                      */
   4          /*                         Filename: key_cmd.c                          */
   5          /************************************************************************/
   6          #include "global.h"
   7          #include "util.h"
   8          #include "i2c.h"
   9          #include "dsa.h"
  10          #include "key_cmd.h"
  11          #include "mb90092.h"
  12          
  13          
  14          
  15          void update_layer_status(unsigned char direct);
  16          void issue_0_layer_status(void);
  17          void issue_1_layer_status(void);
  18          void issue_2_layer_status(void);
  19          
  20          
  21          extern unsigned char  IrKey;
  22          extern bit bdata      IrKeyOn;
  23          extern bit bdata      IR_repeat;
  24          extern unsigned int   IR_press_time;
  25          
  26          
  27          extern bit                  OSD_change_flag;
  28          extern unsigned char        osd_task;
  29          
  30          extern unsigned char xdata       menu_layer;
  31          extern unsigned char xdata       main_task; 
  32          extern unsigned char xdata       navi_task;
  33          extern unsigned char xdata       dvd_task;
  34          extern unsigned char xdata       tv_task;
  35          extern unsigned char xdata       radio_task;
  36          extern unsigned char xdata       gsm_task;
  37          extern unsigned char xdata       real_time_task;
  38          extern unsigned char xdata       zoom_task;
  39          extern unsigned char xdata       search_address_task;
  40          extern unsigned char xdata       record_task;
  41          extern unsigned char xdata       speech_task;
  42          extern unsigned char xdata       road_display_task;
  43          extern unsigned char xdata       lati_longti_task;
  44          extern unsigned char xdata       car_connect_task;
  45          
  46          extern unsigned char        gps_task;
  47          
  48          void KEY_servo(void)
  49          {
  50   1          if(!IrKeyOn) return;                             
  51   1          IrKeyOn = 0;
  52   1          IR_press_time = 0;
  53   1          if(IR_repeat) IR_repeat = 0;
  54   1      
  55   1          switch(IrKey)
C51 COMPILER V6.23a  KEY_CMD                                                               12/11/2002 14:32:10 PAGE 2   

  56   1          {
  57   2              case KEY_DOWN:
  58   2                   IrKey=0;
  59   2                   if(menu_layer==0){
  60   3                      issue_0_layer_status();
  61   3                      menu_layer=1;//return;
  62   3                   }
  63   2                   update_layer_status(1);
  64   2                   OSD_change_flag = 1;
  65   2                   osd_task = 0;
  66   2                   break;
  67   2       
  68   2              case KEY_UP:
  69   2                   IrKey=0;
  70   2                   if(menu_layer==0){
  71   3                      issue_0_layer_status();
  72   3                      menu_layer=1;//return;
  73   3                      
  74   3                   } 
  75   2                   update_layer_status(0);
  76   2                   OSD_change_flag = 1;
  77   2                   osd_task = 0;
  78   2                   break;
  79   2      
  80   2      
  81   2              case KEY_RIGHT:
  82   2                   IrKey=0;
  83   2                   menu_layer = 0;
  84   2                   main_selected_status=0;
  85   2                               update_layer_status(1);
  86   2                   OSD_change_flag = 1;
  87   2                   osd_task = 0;
  88   2                  
  89   2                   break;
  90   2      
  91   2              case KEY_LEFT:
  92   2                   menu_layer = 0;
  93   2                   main_selected_status=0;
  94   2                   update_layer_status(0);
  95   2                   IrKey=0;
  96   2                   OSD_change_flag = 1;
  97   2                   osd_task = 0;
  98   2      
  99   2                   break;
 100   2      
 101   2              case KEY_SELECT:
 102   2                   IrKey=0;
 103   2                   switch(menu_layer)
 104   2                   {
 105   3                      case 0:
 106   3                           issue_0_layer_status();
 107   3                           menu_layer++;
 108   3                                               //break;
 109   3       
 110   3                      case 1:
 111   3                           issue_1_layer_status();
 112   3                           break;
 113   3                
 114   3                      case 2:
 115   3                           issue_2_layer_status();
 116   3                           break;
 117   3          
C51 COMPILER V6.23a  KEY_CMD                                                               12/11/2002 14:32:10 PAGE 3   

 118   3                
 119   3                      default:
 120   3                           break;
 121   3          
 122   3      
 123   3                   }
 124   2      
 125   2                   
 126   2      
 127   2                               update_selected_menu();
 128   2      
 129   2                               menu_layer++;
 130   2                               OSD_change_flag = 1;
 131   2                   osd_task = 0;
 132   2                               break;
 133   2      
 134   2              case KEY_RETURN:
 135   2                   if(menu_layer)menu_layer--;
 136   2                   update_layer_status(0);
 137   2                   IrKey=0;
 138   2                   OSD_change_flag = 1;
 139   2                   osd_task = 0;
 140   2      
 141   2                   break;
 142   2      
 143   2      
 144   2              }
 145   1      
 146   1      
 147   1      
 148   1      
 149   1      }
 150          
 151          
 152          
 153          
 154          
 155          
 156          void update_layer_status(unsigned char direct)
 157          {
 158   1      
 159   1           if(direct){
 160   2              if(menu_layer==0){main_task++; if(main_task > Main_task_end)main_task=Main_task_begin;}
 161   2              else
 162   2              if(menu_layer==1){
 163   3                 if(main_task==Main_task_NAVI) { navi_task++; if(navi_task > Navi_task_end)navi_task=Navi_task_b
             -egin;}
 164   3                 if(main_task==Main_task_DVD)  { dvd_task++;  if(dvd_task > Dvd_task_end)dvd_task=Dvd_task_begin
             -;}
 165   3                 if(main_task==Main_task_TV)   { tv_task++;   if(tv_task > TV_task_end)tv_task=TV_task_begin;}
 166   3                 if(main_task==Main_task_RADIO){ radio_task++;if(radio_task > Radio_task_end)radio_task=Radio_ta
             -sk_begin;}
 167   3                 if(main_task==Main_task_GSM){ gsm_task++;  if(gsm_task > GSM_task_end)gsm_task=GSM_task_begin;}
 168   3      
 169   3              }
 170   2              else
 171   2              if(menu_layer==2){
 172   3                 if(main_task==Main_task_NAVI)
 173   3                 {
 174   4                      if(navi_task==Navi_real_time)       { real_time_task++;      if(real_time_task > RealTime_
             -task_end)real_time_task=RealTime_task_begin;}
 175   4                      if(navi_task==Navi_set_zoom)        { zoom_task++;           if(zoom_task > Zoom_task_end)
C51 COMPILER V6.23a  KEY_CMD                                                               12/11/2002 14:32:10 PAGE 4   

             -zoom_task=Zoom_task_begin;}
 176   4                      if(navi_task==Navi_search_address)  { search_address_task++; if(search_address_task > Sear
             -chAddress_task_end)search_address_task=SearchAddress_task_begin;}
 177   4                      if(navi_task==Navi_record)          { record_task++;         if(record_task > Record_task_
             -end)record_task=Record_task_begin;}
 178   4                      if(navi_task==Navi_speech)          { speech_task++;         if(speech_task > Speech_task_
             -end)speech_task=Speech_task_begin;}
 179   4                      if(navi_task==Navi_road_display)    { road_display_task++;   if(road_display_task > RoadDi
             -splay_task_end)road_display_task=RoadDisplay_task_begin;}
 180   4                      if(navi_task==Navi_lati_longti)     { lati_longti_task++;    if(lati_longti_task > LatiLon
             -gti_task_end)lati_longti_task=LatiLongti_task_begin;}
 181   4                      if(navi_task==Navi_car_connect)     { car_connect_task++;    if(car_connect_task > CarConn
             -ect_task_end)car_connect_task=CarConnect_task_begin;}
 182   4                 }
 183   3                 else
 184   3                 if(main_task==Main_task_DVD){
 185   4      
 186   4      
 187   4                 }
 188   3                 else
 189   3                 if(main_task==Main_task_TV){
 190   4      
 191   4      
 192   4                 }
 193   3      
 194   3                 else
 195   3                 if(main_task==Main_task_RADIO){
 196   4      
 197   4      
 198   4                 }
 199   3                 else
 200   3                 if(main_task==Main_task_GSM){
 201   4      
 202   4      
 203   4                 }
 204   3      
 205   3      
 206   3      
 207   3      
 208   3              }/*if(menu_layer==2)*/
 209   2      
 210   2           }
 211   1           else
 212   1           {
 213   2      
 214   2              if(menu_layer==0){
 215   3                                 if(main_task==Main_task_begin)main_task=Main_task_end;
 216   3                                 else main_task--;
 217   3              }

⌨️ 快捷键说明

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