kbd_task.lst

来自「本人at89c51snd1c主控IC增加了128*32点阵驱动显示」· LST 代码 · 共 408 行 · 第 1/2 页

LST
408
字号
C51 COMPILER V7.20   KBD_TASK                                                              03/24/2007 10:02:38 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE KBD_TASK
OBJECT MODULE PLACED IN .\Output\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(.\Output\kbd_task.lst) OBJECT(.\Output\kbd_task.obj)

line 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 "modules\kbd\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          
  37          /*_____ M A C R O S ________________________________________________________*/
  38          
  39          
  40          /*_____ D E F I N I T I O N ________________________________________________*/
  41          
  42          extern  bdata   bit     gl_key_press;       /* set to TRUE if a key is decoded */
  43          extern  idata   Byte    gl_key;             /* value of the key pressed */
  44          extern  data    Byte    gl_kbd_tick;        /* keypad tick counter */
  45          
  46          extern  idata   Uint16  gl_act_tick;        /* Activity tick */
  47          extern          Byte    song_state;         /* task state */
  48          extern  data    Byte    mode_state;         /* task state */
  49          
  50          extern  xdata   Byte    LED_ON;
  51          extern  xdata   Byte    LED_FAST;
  52          
  53          xdata   Byte    func_state;
  54          xdata   Byte    func_timeout;               /* Time out special function */
C51 COMPILER V7.20   KBD_TASK                                                              03/24/2007 10:02:38 PAGE 2   

  55          xdata   Byte    ref_state = REF_STATE_SONG;
  56                  bit     playing = FALSE;
  57                  bit     pause = FALSE;
  58                  bit     recording = FALSE;
  59                  bit     connected = FALSE;
  60                  bit     bargraph = FALSE;
  61          
  62          static  Byte    kbd_state;                  /* keyboard task state */
  63          Uchar BackLightPeriod=1;
  64             // BackLightPeriod=1;
  65          Uint16  BLCount; 
  66          
  67          Uint16 code BackLightTable[4] =
  68          { 100*5,100*10,100*15,100*30
  69             // EL_CONSTANT * 5, 
  70              //EL_CONSTANT * 10, 
  71              //EL_CONSTANT * 15, 
  72             // EL_CONSTANT * 30
  73          };
  74          
  75          void BLTurnOnAndReload(void);
  76          /*_____ D E C L A R A T I O N ______________________________________________*/
  77          
  78          void usb_task_init (void);
  79          
  80          
  81          /*F**************************************************************************
  82          * NAME: kbd_task_init
  83          *----------------------------------------------------------------------------
  84          * PARAMS:
  85          *
  86          * return:
  87          *----------------------------------------------------------------------------
  88          * PURPOSE: 
  89          *   Keyboard task initialisation
  90          *----------------------------------------------------------------------------
  91          * EXAMPLE:
  92          *----------------------------------------------------------------------------
  93          * NOTE:
  94          *----------------------------------------------------------------------------
  95          * REQUIREMENTS:
  96          *****************************************************************************/
  97          void kbd_task_init (void)
  98          {
  99   1        kbd_state = KBD_IDLE;
 100   1        gl_key_press = FALSE;         /* no key pressed */
 101   1        gl_key = NO_KEY;
 102   1        kbd_init();                   /* keyboard initialization */
 103   1      }
 104          
 105          
 106          /*F**************************************************************************
 107          * NAME: ref_mode_task
 108          *----------------------------------------------------------------------------
 109          * PARAMS:
 110          *
 111          * return:
 112          *----------------------------------------------------------------------------
 113          * PURPOSE: 
 114          *   Mode task 
 115          *----------------------------------------------------------------------------
 116          * EXAMPLE:
C51 COMPILER V7.20   KBD_TASK                                                              03/24/2007 10:02:38 PAGE 3   

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

 179   2          {
 180   3            gl_key_press = TRUE;
 181   3            if ((func_state == 2) && (ref_state == REF_STATE_VOICE)) gl_key = KEY_STOP;
 182   3            else gl_key = KEY_PAUSE;
 183   3          }
 184   2          else if (gl_key == KEY_VALID)
 185   2          {
 186   3            if (ref_state == REF_STATE_VOICE)
 187   3            {
 188   4              if (func_state == 1) { func_state=2; LED_ON = 4; }

⌨️ 快捷键说明

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