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

📄 kbd_task.lst

📁 串口小程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.02a   KBD_TASK                                                             09/13/2007 11:53:04 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE KBD_TASK
OBJECT MODULE PLACED IN kbd_task.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE modules\kbd\kbd_task.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\system;.\;
                    -.\;.\lib_refd) DEFINE(KEIL) DEBUG OBJECTEXTEND PRINT(.\kbd_task.lst) OBJECT(kbd_task.obj)

stmt level    source

   1          /*C**************************************************************************
   2          * NAME:         kbd_task.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.3.2.16     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE:
  10          * This file contains the keyboard task and attached routines
  11          *
  12          * NOTES:
  13          * Global Variables:
  14          *   - gl_key_press: bit in bdata space
  15          *   - gl_key:       byte in idata space
  16          *   - gl_kbd_tick:  byte in data space
  17          *****************************************************************************/
  18          
  19          /*_____ I N C L U D E S ____________________________________________________*/
  20          
  21          #include "config.h"                         /* system configuration */
  22          #include "board.h"                          /* board definition */
  23          #include "lib_mcu\kbd\kbd_drv.h"            /* Keyboard driver definition */
  24          #include "kbd_task.h"                       /* Keyboard task definition */
  25          
  26          #include "modules\file\file.h"              /* file definition */
  27          #include "modules\mem\mem_task.h"           /* memory task definition */
  28          #include "modules\display\led.h"            /* led definition */
  29          #include "modules\mode\mode_task.h"         /* mode task definition */
  30          
  31          #define REF_STATE_SONG      0
  32          #define REF_STATE_VOICE     1
  33          #define REF_STATE_USB       2
  34          #define REF_STATE_FORMAT    3
  35          
  36          void k_delay(  );
  37          void late_date(  );
  38           void change( );
  39          extern  bdata bit intr_fre ;
  40          extern unsigned char file_next ,fun_key ,mp3,tool_state ;
  41          extern unsigned char xdata change_data;
  42          void  intr_data_task( );
  43          /*_____ M A C R O S ________________________________________________________*/
  44          
  45          
  46          /*_____ D E F I N I T I O N ________________________________________________*/
  47          
  48          extern  bdata   bit     gl_key_press;       /* set to TRUE if a key is decoded */
  49          extern  idata   Byte    gl_key;             /* value of the key pressed */
  50          extern  data    Byte    gl_kbd_tick;        /* keypad tick counter */
  51          
  52          extern  idata   Uint16  gl_act_tick;        /* Activity tick */
  53          extern          Byte    song_state;         /* task state */
  54          extern  data    Byte    mode_state;         /* task state */
C51 COMPILER V7.02a   KBD_TASK                                                             09/13/2007 11:53:04 PAGE 2   

  55          
  56          extern  xdata   Byte    LED_ON;
  57          extern  xdata   Byte    LED_FAST;
  58          
  59          xdata   Byte    func_state;
  60          xdata   Byte    func_timeout;               /* Time out special function */
  61          xdata   Byte    ref_state = REF_STATE_SONG;
  62                  bit     playing = FALSE;
  63                  bit     pause = FALSE;
  64                  bit     recording = FALSE;
  65                  bit     connected = FALSE;
  66                  bit     bargraph = FALSE;
  67          
  68          static  Byte    kbd_state;                  /* keyboard task state */
  69          
  70          
  71          /*_____ D E C L A R A T I O N ______________________________________________*/
  72          
  73          void usb_task_init (void);
  74          
  75          
  76          /*F**************************************************************************
  77          * NAME: kbd_task_init
  78          *----------------------------------------------------------------------------
  79          * PARAMS:
  80          *
  81          * return:
  82          *----------------------------------------------------------------------------
  83          * PURPOSE: 
  84          *   Keyboard task initialisation
  85          *----------------------------------------------------------------------------
  86          * EXAMPLE:
  87          *----------------------------------------------------------------------------
  88          * NOTE:
  89          *----------------------------------------------------------------------------
  90          * REQUIREMENTS:
  91          *****************************************************************************/
  92          void kbd_task_init (void)
  93          {
  94   1        kbd_state = KBD_IDLE;
  95   1        gl_key_press = FALSE;         /* no key pressed */
  96   1        gl_key = NO_KEY;
  97   1        kbd_init();                   /* keyboard initialization */
  98   1      }
  99          
 100          
 101          /*F**************************************************************************
 102          * NAME: ref_mode_task
 103          *----------------------------------------------------------------------------
 104          * PARAMS:
 105          *
 106          * return:
 107          *----------------------------------------------------------------------------
 108          * PURPOSE: 
 109          *   Mode task 
 110          *----------------------------------------------------------------------------
 111          * EXAMPLE:
 112          *----------------------------------------------------------------------------
 113          * NOTE:
 114          *   STATES:
 115          *   MODE_BOOT     boot state
 116          *   MODE_DOWNLOAD file download mode
C51 COMPILER V7.02a   KBD_TASK                                                             09/13/2007 11:53:04 PAGE 3   

 117          *   MODE_SONG     song playing mode
 118          *   MODE_VOICE    voice playing & recording mode
 119          *   MODE_TOOL     tool mode
 120          *   MODE_IDLE     idle mode (switch back to first task)
 121          *----------------------------------------------------------------------------
 122          * REQUIREMENTS:
 123          *****************************************************************************/
 124          void ref_mode_task (void)
 125          {
 126   1        gl_key_press = FALSE;
 127   1        func_timeout = 0;
 128   1        gl_act_tick = 0;
 129   1      
 130   1      
 131   1         if(file_next)                                                                                     /////
             -//////////////////////////////////
 132   1         { 
 133   2           
 134   2           gl_key =KEY_PLUS;
 135   2           file_next--;
 136   2           
 137   2          }
 138   1         
 139   1          
 140   1        if (connected)
 141   1        {
 142   2          if (gl_key != KEY_FUNC) return;
 143   2          connected = FALSE;
 144   2          mode_state = MODE_SONG;
 145   2          ENA_USB = !connected;
 146   2          goto Label_init_ihm;
 147   2        }
 148   1        else if (gl_key == KEY_PLUS)
 149   1        {
 150   2          gl_key_press = TRUE;
 151   2          if (func_state) { gl_key = KEY_INC; bargraph=TRUE; }
 152   2          else gl_key = KEY_NEXT;
 153   2        }
 154   1        else if (gl_key == KEY_MINUS)
 155   1        {
 156   2          gl_key_press = TRUE;
 157   2          if (func_state) { gl_key = KEY_DEC; bargraph=TRUE; }
 158   2          else gl_key = KEY_PREV;
 159   2        }
 160   1        else if (recording)
 161   1        {
 162   2          if      (gl_key == KEY_FUNC)
 163   2          {
 164   3            gl_key_press = TRUE;
 165   3            if (playing) gl_key = KEY_PAUSE;
 166   3            else         gl_key = KEY_REC;
 167   3            SHUT_MIC = playing;
 168   3          }
 169   2      
 170   2      
 171   2        }
 172   1        else if (playing)
 173   1        {
 174   2          bargraph=FALSE;
 175   2          if      (gl_key == KEY_FUNC)
 176   2          {
 177   3            gl_key_press = TRUE;
C51 COMPILER V7.02a   KBD_TASK                                                             09/13/2007 11:53:04 PAGE 4   

 178   3            if ((func_state == 2) && (ref_state == REF_STATE_VOICE)) gl_key = KEY_STOP;
 179   3            else gl_key = KEY_PAUSE;
 180   3          }
 181   2          else if (gl_key == KEY_VALID)
 182   2          {
 183   3            if (ref_state == REF_STATE_VOICE)
 184   3            {
 185   4              if (func_state == 1) { func_state=2; LED_ON = 4; }
 186   4              else                 { func_state=1; LED_ON = 8; }
 187   4              LED_FAST = 2;
 188   4            }
 189   3            else
 190   3            {
 191   4              if (func_state)
 192   4              {
 193   5                gl_key_press = TRUE;

⌨️ 快捷键说明

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