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

📄 key_drv.lst

📁 基于uCOS/II制作的MP3
💻 LST
📖 第 1 页 / 共 2 页
字号:
 187   2                               return (key);
 188   2                 case KEY_2:
 189   2                       gl_key_press = TRUE;
 190   2                       key = KEY_2;
 191   2                               kbd_install();
 192   2                               return (key);
 193   2                  case KEY_3:
 194   2                           gl_key_press = TRUE;
 195   2                       key = KEY_3;
 196   2                               kbd_install();
 197   2                               return (key);
 198   2                  default :
 199   2                           gl_key_press = FALSE;
 200   2                           key = NO_KEY;
 201   2                           kbd_install();
 202   2                               return(key);
 203   2               }
 204   1      }
 205          
 206          void Keydelay(Uint32 time)
 207          {
 208   1       Uint32 i;
 209   1       for(i = 0; i < time; i++);
 210   1       }
 211          
 212          
 213          void key_task(void)
 214          {
 215   1       gl_key = NO_KEY;
 216   1       switch(system_mode)
 217   1         {
 218   2          case MP3_STATUS:
 219   2                 {
 220   3                  switch(key_mode)
 221   3                     {
 222   4                      case MP3_PLAY_MODE:
 223   4                            if (kbd_decode() == KEY_0)  {
 224   5                                                                             key_mode = MP3_VOL_MODE; 
 225   5                                                                                                         song_sound = SND_VOLUME;
 226   5                                                         lcdcls(0x90);
 227   5                                                                                                         print_sound_level();
 228   5                                                                                                         }
 229   4                            else if (kbd_decode() == KEY_1)  gl_key =  KEY_PREV;
 230   4                            else if (kbd_decode() == KEY_2)  gl_key =  KEY_NEXT;
 231   4                            else if (kbd_decode() == KEY_3)
 232   4                                              {
 233   5                                                                                       Keydelay(0x0fff);
 234   5                                                                                       play_pause = ~play_pause;
 235   5      
 236   5                                                                                       if (play_pause)  gl_key =  KEY_PLAY;
 237   5                                                                                       else             gl_key =  KEY_PAUSE;
 238   5                                                                                       }
 239   4                                                 break;
 240   4      
C51 COMPILER V7.50   KEY_DRV                                                               06/03/2006 10:32:53 PAGE 5   

 241   4                                  case MP3_VOL_MODE:
 242   4                                            if (kbd_decode() == KEY_0) {
 243   5                                                                                                        key_mode = MP3_BASS_MODE; 
 244   5                                                                                                        song_sound = SND_BASS;
 245   5                                                        lcdcls(0x90);
 246   5                                                                                                        print_sound_level();
 247   5                                                                                                        }
 248   4                                                else if (kbd_decode() == KEY_1) gl_key = KEY_DEC;
 249   4                                                else if (kbd_decode() == KEY_2) gl_key = KEY_INC;
 250   4                                                break;
 251   4      
 252   4                                       case MP3_BASS_MODE:
 253   4                                             if (kbd_decode() == KEY_0) {
 254   5                                                                                                         key_mode = MP3_MED_MODE; 
 255   5                                                                                                         song_sound = SND_MEDIUM;
 256   5                                                         lcdcls(0x90);
 257   5                                                                                                         print_sound_level();
 258   5                                                                                                         }
 259   4                                                 else if (kbd_decode() == KEY_1) gl_key = KEY_DEC;
 260   4                                                 else if (kbd_decode() == KEY_2) gl_key = KEY_INC;
 261   4                             else if (kbd_decode() == KEY_3) 
 262   4                                                                   {
 263   5                                                                                        Keydelay(0x0fff);
 264   5                                                                                        bass_nobass = ~bass_nobass;
 265   5                                                                                        if (bass_nobass) {
 266   6                                                                                                          MP3CON |= MSK_MPBBST;
 267   6                                                                                                          printch(0x97,"B   ");
 268   6                                                                                                          gl_key = KEY_BASS;
 269   6                                                                                                                              }
 270   5                                                                                                                              
 271   5                                                                                        else             {
 272   6                                                                                                          MP3CON &= (~MSK_MPBBST);
 273   6                                                                                                          printch(0x97,"N   ");
 274   6                                                                                                      gl_key = KEY_NOBASS;
 275   6                                                                                                                              }
 276   5                                                                                        }                                                       
 277   4                                                 break;
 278   4      
 279   4                                       case MP3_MED_MODE:
 280   4                                                 if (kbd_decode() == KEY_0) {
 281   5                                                                                                         key_mode = MP3_TRE_MODE; 
 282   5                                                                                                         song_sound = SND_TREBLE;
 283   5                                                         lcdcls(0x90);
 284   5                                                                                                         print_sound_level();
 285   5                                                                                                         }
 286   4                                                 else if (kbd_decode() == KEY_1) gl_key = KEY_DEC;
 287   4                                                 else if (kbd_decode() == KEY_2) gl_key = KEY_INC;
 288   4                                                 break;
 289   4      
 290   4                                       case MP3_TRE_MODE:
 291   4                                                 if (kbd_decode() == KEY_0) {
 292   5                                                                             key_mode = MP3_OTHER_MODE;
 293   5                                                                                                         lcdcls(0x90);
 294   5                                                                                                         //printch(0x90,"进入USB按KEY3  ");
 295   5                                                                                                         }
 296   4                                                 else if (kbd_decode() == KEY_1) gl_key = KEY_DEC;
 297   4                                                 else if (kbd_decode() == KEY_2) gl_key = KEY_INC;
 298   4                                                 break;
 299   4      
 300   4                                       case MP3_OTHER_MODE:
 301   4                                             if (kbd_decode() == KEY_0) {
 302   5                                                                             key_mode = MP3_PLAY_MODE; 
C51 COMPILER V7.50   KEY_DRV                                                               06/03/2006 10:32:53 PAGE 6   

 303   5                                                                                                         song_sound = SND_NONDIS;
 304   5                                                         lcdcls(0x90);
 305   5                                                         print_sound_level();
 306   5                                                                                                         }
 307   4                                                 else if (kbd_decode() == KEY_1) gl_key = KEY_PARENT;
 308   4                                                 else if (kbd_decode() == KEY_2) gl_key = KEY_REPEAT;
 309   4                             else if (kbd_decode() == KEY_3) {                                                  
             -                                                         
 310   5                                                              
 311   5                                                                                  }
 312   4                                                              //gl_key = KEY_STOP;
 313   4                                                 break;
 314   4      
 315   4                                       default :  break;
 316   4                                      } 
 317   3                          }
 318   2                              break;
 319   2      
 320   2              case REC_STATUS:
 321   2                          {break;}
 322   2      
 323   2          default : break;
 324   2         }
 325   1      
 326   1        keytemp = 0x00;
 327   1       }
 328          
 329          
 330                                                                                               
 331                                    
 332           
 333          
 334          
 335          /*F**************************************************************************
 336          * NAME: kbd_int
 337          *----------------------------------------------------------------------------
 338          * PARAMS:
 339          *
 340          * return:
 341          *----------------------------------------------------------------------------
 342          * PURPOSE: 
 343          *   Keyboard interrupt function
 344          *----------------------------------------------------------------------------
 345          * EXAMPLE:
 346          *----------------------------------------------------------------------------
 347          * NOTE:
 348          *   This isr is called when a key is pressed to get out power-down Interrupt
 349          *   is re-enable in the install routine
 350          *----------------------------------------------------------------------------
 351          * REQUIREMENTS:
 352          * ram/xram:
 353          * cycle:
 354          * stack: 
 355          * code:
 356          *****************************************************************************/
 357          #if KBD_EXIT_PD
 358          Interrupt(kbd_int (void), IRQ_KBD)
 359          {
 360   1        keytemp = KBSTA;
 361   1        Kbd_disable_int();              /* disable interrupt */
 362   1      }
 363          #endif
C51 COMPILER V7.50   KEY_DRV                                                               06/03/2006 10:32:53 PAGE 7   

 364          
 365          
 366          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    622    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----       8
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =      3    ----
   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 + -