keyproc.lst

来自「philip RTC 芯片的驱动程序 8563」· LST 代码 · 共 806 行 · 第 1/4 页

LST
806
字号
C51 COMPILER V7.50   KEYPROC                                                               10/18/2005 14:13:29 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEYPROC
OBJECT MODULE PLACED IN keyproc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyproc.c DEBUG OBJECTEXTEND

line level    source

   1          #include "reg52.h"
   2          #include "intrins.h"
   3          #include "globedef.h"
   4          #include "keyproc.h"
   5          #include "delay.h"
   6          #include "m62429.h"
   7          #include "keydef.h"
   8          #include "i2c.h"
   9          #include "Lcd.h "
  10          
  11          unsigned char h,m;
  12          unsigned char adj_counter;
  13          unsigned char clock_flag;
  14          unsigned char source_select_bak;
  15          extern  unsigned char   hour;    
  16          extern  unsigned char   minute;
  17          
  18          unsigned char ff_key_flag;
  19          unsigned char fb_key_flag;
  20          
  21          extern  unsigned char sector_erase(unsigned int sector_addr);
  22          extern  unsigned char byte_program(unsigned int byte_addr, unsigned char original_data);
  23          extern  unsigned char byte_read(unsigned int byte_addr);
  24          
  25          code BYTE POWER_ON_TBL[] = {0x05, 0x02, 0x0, 0x0, 0x0, 0x02, 0xF7};
  26          code BYTE POWER_OFF_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x04, 0xF5};
  27          code BYTE PLAYPAUSE_TBL[] ={0x03, 0x02, 0x0, 0x01,0xFA};
  28          code BYTE KeyBound_TBL[] = {0x03, 0x02, 0x0, 0x0, 0xFB};
  29          
  30          code BYTE NEXT_KEY_TBL[] ={0x03, 0x02, 0x0, 0x08,0xF3};
  31          code BYTE PREVIOUS_KEY_TBL[] ={0x03, 0x02, 0x0, 0x10,0xEB};
  32          code BYTE FF_KEY_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x10, 0xE9};
  33          code BYTE FB_KEY_TBL[] ={0x05, 0x02, 0x0, 0x0, 0x0, 0x20, 0xD9};
  34          
  35          code BYTE IR_KEY_TBL[] =
  36          {
  37                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, CLOCK_KEY, NO_KEY, NO_KEY,
  38                  VOLUME_UP_KEY, NEXT_KEY, NO_KEY, NO_KEY, VOLUME_DOWN_KEY, PLAYPAUSE_KEY, NO_KEY, NO_KEY, NO_KEY, IPOD_OFF
             -_KEY,
  39                  NO_KEY, NO_KEY, NO_KEY, POWER_KEY, NO_KEY, NO_KEY, NO_KEY, PREVIOUS_KEY, NO_KEY, NO_KEY,
  40                  NO_KEY, KEY_MUTE, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, 
  41                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
  42                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, 
  43                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
  44                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
  45                  NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY, NO_KEY,
  46                  NO_KEY, NO_KEY, Source_Select
  47          };
  48          
  49          void KEY_Proc(void)
  50          {       
  51   1              unsigned char Send_Count;
  52   1              if((Panel_KeyAct == 1 ) || (IR_KeyAct == 1))
  53   1              {       
  54   2                      if(IR_KeyAct == 1 )
C51 COMPILER V7.50   KEYPROC                                                               10/18/2005 14:13:29 PAGE 2   

  55   2                      {
  56   3                              Current_Key  =  IR_KEY_TBL[Remote_Key];
  57   3                              IR_KeyAct = 0;
  58   3                      }
  59   2                      else if(Panel_KeyAct == 1)
  60   2                      {
  61   3                              Current_Key = Panel_Key;
  62   3                              Panel_KeyAct = 0;
  63   3                      }               
  64   2                      if(Current_Key == POWER_KEY)
  65   2                      {
  66   3                              Need_Button_up = 0;
  67   3                              Power_Proc();
  68   3                      }
  69   2                      else if(POWER_Status == 1)
  70   2                      {                       
  71   3                              Need_Button_up = 0;
  72   3                              switch(Current_Key)
  73   3                              {
  74   4                                      case VOLUME_UP_KEY:     
  75   4                                              //调整音量时解除静音
  76   4      //                                      MUTE_DETECT1 = 1;
  77   4                          MUTE_DETECT2 = 1;//写1准备读
  78   4                                          if((AV_MUTE == 1)&&(MUTE_DETECT2 != 0)/*&&(MUTE_DETECT1 != 0)*/)
  79   4                                          {
  80   5                                          AV_MUTE = 0;                
  81   5                                              mute_flag =(unsigned char)AV_MUTE;                              
  82   5                                              display_mute(lcd_unmute);
  83   5                                          }
  84   4                                              else{
  85   5                                              if(Current_Volume < Volume_Max)
  86   5                                               {
  87   6                                                      Current_Volume++;       
  88   6                                      //              DelayX1ms(200);//improve esd                            
  89   6                                                      Volume_Tune(Current_Volume);
  90   6                                                      Volume_Need_Record = 1;                                 
  91   6                                                      //显示音量进度条
  92   6                                                      switch(Current_Volume / 5)
  93   6                                                      {
  94   7                                                              case 0:                                                                 
  95   7                                                              break;
  96   7                                                              case 1:
  97   7                                                              display_1bar();
  98   7                                                              break;
  99   7                                                              case 2:
 100   7                                                              display_2bar();
 101   7                                                              break;
 102   7                                                              case 3:
 103   7                                                              display_3bar();
 104   7                                                              break;
 105   7                                                              case 4:
 106   7                                                              display_4bar();
 107   7                                                              break;
 108   7                                                              case 5:
 109   7                                                              display_5bar();
 110   7                                                              break;
 111   7                                                              case 6:
 112   7                                                              display_6bar();
 113   7                                                              break;
 114   7                                                              case 7:
 115   7                                                              display_7bar();
 116   7                                                              break;
C51 COMPILER V7.50   KEYPROC                                                               10/18/2005 14:13:29 PAGE 3   

 117   7                                                              case 8:
 118   7                                                              display_8bar();
 119   7                                                              break;
 120   7                                                              case 9:
 121   7                                                              display_9bar();
 122   7                                                              break;
 123   7                                                              case 10:
 124   7                                                              display_10bar();
 125   7                                                              break;
 126   7                                                              
 127   7                                                              default:
 128   7                                                              break;
 129   7                                                      }               
 130   6                                                      //显示音量数码值                                                
 131   6                                                      display_68(Current_Volume % 10 );
 132   6                                                      display_58(Current_Volume / 10);                                                
 133   6                                               }
 134   5                                               }
 135   4                                               break;
 136   4                                      case VOLUME_DOWN_KEY:
 137   4                                              //调整音量时解除静音
 138   4      //                                       MUTE_DETECT1 = 1;
 139   4                           MUTE_DETECT2 = 1;//写1准备读
 140   4                                               if((AV_MUTE == 1)&&(MUTE_DETECT2 != 0)/*&&(MUTE_DETECT1 != 0)*/)
 141   4                                              {
 142   5                                              AV_MUTE = 0;            
 143   5                                              mute_flag =(unsigned char)AV_MUTE;                              
 144   5                                              display_mute(lcd_unmute);
 145   5                                              }
 146   4                                              else{
 147   5                                               if(Current_Volume > Volume_Min)
 148   5                                               {
 149   6                                                      Volume_Need_Record = 1;
 150   6                                                      Current_Volume--;
 151   6                                              //      DelayX1ms(200);//improve esd
 152   6                                                      Volume_Tune(Current_Volume);
 153   6                                                      //显示音量进度条
 154   6                                                      switch(Current_Volume / 5)
 155   6                                                      {
 156   7                                                              case 0:
 157   7                                                              display_0bar();                                                 
 158   7                                                              break;
 159   7                                                              case 1:
 160   7                                                              display_1bar();
 161   7                                                              break;
 162   7                                                              case 2:
 163   7                                                              display_2bar();
 164   7                                                              break;
 165   7                                                              case 3:
 166   7                                                              display_3bar();
 167   7                                                              break;
 168   7                                                              case 4:
 169   7                                                              display_4bar();
 170   7                                                              break;
 171   7                                                              case 5:
 172   7                                                              display_5bar();
 173   7                                                              break;
 174   7                                                              case 6:
 175   7                                                              display_6bar();
 176   7                                                              break;
 177   7                                                              case 7:
 178   7                                                              display_7bar();
C51 COMPILER V7.50   KEYPROC                                                               10/18/2005 14:13:29 PAGE 4   

 179   7                                                              break;
 180   7                                                              case 8:
 181   7                                                              display_8bar();
 182   7                                                              break;
 183   7                                                              case 9:
 184   7                                                              display_9bar();
 185   7                                                              break;
 186   7                                                              case 10:

⌨️ 快捷键说明

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