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

📄 halkey.lst

📁 威望公司MP3 + USB MCU 的参考软件
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.01   HALKEY                                                                04/17/2008 09:54:36 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE HALKEY
OBJECT MODULE PLACED IN .\Debug\halkey.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyboard\halkey.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC)
                    - BROWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\s
                    -d;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\halkey.lst) OBJECT(.\Debug\halkey.obj)

line level    source

   1          /****************************************************************
   2          *                      Viaon Technology (Suzhou) Co.,Ltd
   3          *
   4          *    Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
   5          *                    All rights reserved.
   6          *
   7          *
   8          * Filename:             halmatrixkey.c
   9          *
  10          * Programmer:           Greg 
  11          *
  12          * Created:              1/2/2008
  13          *
  14          * Description:          public functions 
  15          *              
  16          *        
  17          * Change History (most recent first):   2008.1.2
  18          ****************************************************************/
  19          //Key Scan through GPIO pins.
  20          #include "utiltypedef.h"
  21          #include "va4010reg.h"
  22          #include "common.h"
  23          #include "halkey.h"
  24          
  25          extern volatile BYTE data byGap;
  26          extern volatile BYTE data SongLocateTick;
  27          BOOL data IsJumpFlag = FALSE;
  28          static BYTE data gbyKeyFSM = KEY_FSM_IDLE;
  29          void halKeyFSM(void)
  30          {
  31   1              //#if (DIGITAL_SHOW==DIGITAL_SHOW_DLED)
  32   1              
  33   1      #if(BOARD_ID == EVB_V1)
                      //#if 0
                                      
                              KEY_IN_ENABLE();
              //              KEY_PULL_UP();
                              
                              switch(gbyKeyFSM){
                                      case KEY_FSM_IDLE:{
                                              byGap = 0;      //reset gap counter
                                              if(KEY_Stop == 0){ //key down
                                                      gbyKeyFSM = KEY_FSM_STOP;
                                              }else if(KEY_FsVu == 0){
                                                      gbyKeyFSM = KEY_FSM_FSVU;
                                              }else if(KEY_RsVd == 0){
                                                      gbyKeyFSM = KEY_FSM_RSVD;
                                              }else if(KEY_PlayPause == 0){
                                                      gbyKeyFSM = KEY_FSM_PLAYPAUSE;
                                              }       
                                              break;
                                      }
                                      
C51 COMPILER V8.01   HALKEY                                                                04/17/2008 09:54:36 PAGE 2   

                                      case KEY_FSM_STOP:{
                                              if(KEY_Stop == 0){
                                                      break;          //FSM state not change          
                                              }
                      
                                              //key up
                                              gbyKeyFSM = KEY_FSM_IDLE;
                                              if(byGap >=KEY_STABLE_CNT){ // A valid key press
                                                      //UartOutText("-I-: KEY_FSM_FMCH \r\n");
                                                      keystatus = KEY_STATUS_STOP;
                                              }
                                              break;
                                      }
              
                                      case KEY_FSM_FSVU:{
                                              if(KEY_FsVu == 0){
              #if 0                           
                                                      if(byGap>KEY_STABLE_2S){
                                                              //UartOutText("-I-: KEY_FSM_FSVU 2S \r\n");
                                                              //gbyKeyFSM = KEY_FSM_FSVU_2S;
                                                              keystatus = KEY_STATUS_VOLUP;
                                                              byGap = KEY_STABLE_2S -KEY_SAMPLE_CNT;  //byGap = 0;
                                                      }       
              #endif                          
                                                      break;          //FSM state not change          
                                              }
                      
                                              gbyKeyFSM = KEY_FSM_IDLE;
                                              if(byGap >=KEY_STABLE_CNT){
                                                      UartOutText("-I-: KEY_FSM_FSVU \r\n");
                                                      keystatus = KEY_STATUS_FSEEK;
                                                      IsJumpFlag = TRUE;
                                                      SongLocateTick = 0;
                                              }
                                              break;
                                      }
                                      case KEY_FSM_RSVD:{
                                              if(KEY_RsVd == 0){
              #if 0                           
                                                      
                                                      if(byGap>KEY_STABLE_2S){
                                                              //UartOutText("-I-: KEY_FSM_FSVU 2S \r\n");
                                                              //gbyKeyFSM = KEY_FSM_RSVD_2S;
                                                              keystatus = KEY_STATUS_VOLDOWN;
                                                              byGap = KEY_STABLE_2S -KEY_SAMPLE_CNT;  //byGap = 0;
                                                      }
              #endif                          
                                                      
                                                      break;          //FSM state not change          
                                              }
                      
                                              gbyKeyFSM = KEY_FSM_IDLE;
                                              if(byGap >=KEY_STABLE_CNT){
                                                      //UartOutText("-I-: KEY_FSM_RSVD \r\n");
                                                      keystatus = KEY_STATUS_RSEEK;
                                                      IsJumpFlag = TRUE;
                                                      SongLocateTick = 0;
                                              }                       
                                              break;
                                      }
              
                                      
C51 COMPILER V8.01   HALKEY                                                                04/17/2008 09:54:36 PAGE 3   

                                      case KEY_FSM_PLAYPAUSE:{
                                              if(KEY_PlayPause == 0){
                                                      break;          //FSM state not change          
                                              }
                      
                                              gbyKeyFSM = KEY_FSM_IDLE;

⌨️ 快捷键说明

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