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

📄 tool_task.lst

📁 一个可作为mp3播放器固件的代码集,包括解码,播放,控制,任务管理等.
💻 LST
字号:
C51 COMPILER V7.50   TOOL_TASK                                                             09/20/2005 21:47:44 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TOOL_TASK
OBJECT MODULE PLACED IN tool_task.obj
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE modules\tool\tool_task.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\system;.
                    -\;.\;.\lib_refd) DEFINE(KEIL) DEBUG OBJECTEXTEND PRINT(.\tool_task.lst) OBJECT(tool_task.obj)

line level    source

   1          /*C**************************************************************************
   2          * NAME:         tool_task.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.12     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE:
  10          * This file contains the tool 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          *****************************************************************************/
  17          
  18          /*_____ I N C L U D E S ____________________________________________________*/
  19          
  20          #include "config.h"                         /* system configuration */
  21          #include "board.h"                          /* board definition */
  22          #include "modules\display\disp.h"           /* display definition */
  23          #include "modules\file\file.h"              /* file definition */
  24          #include "modules\mem\mem_task.h"           /* memory task definition */
  25          #include "modules\mode\mode_task.h"         /* mode task definition */
  26          #include "tool_task.h"                      /* tool task definition */
  27          
  28          
  29          /*_____ M A C R O S ________________________________________________________*/
  30          
  31          
  32          /*_____ D E F I N I T I O N ________________________________________________*/
  33          
  34          extern  bdata   bit     gl_key_press;   /* set to TRUE if a key is decoded */
  35          extern  idata   Byte    gl_key;         /* value of the key pressed */
  36          
  37          static  idata   Byte  tool_index;           /* index in tool menu */
  38          static  data    Byte  tool_state;           /* task state */
  39          
  40          code    St_menu tool_menu[] =
  41                          {
  42                            {TOOL_FORMAT,     "\2 Format...     \r"},
  43                          };
  44          
  45          
  46          /*_____ D E C L A R A T I O N ______________________________________________*/
  47          
  48          
  49          /*F**************************************************************************
  50          * NAME: tool_task_init
  51          *----------------------------------------------------------------------------
  52          * PARAMS:
  53          *
  54          * return:
C51 COMPILER V7.50   TOOL_TASK                                                             09/20/2005 21:47:44 PAGE 2   

  55          *----------------------------------------------------------------------------
  56          * PURPOSE: 
  57          *   Tool task initialization
  58          *----------------------------------------------------------------------------
  59          * EXAMPLE:
  60          *----------------------------------------------------------------------------
  61          * NOTE:
  62          *----------------------------------------------------------------------------
  63          * REQUIREMENTS:
  64          *****************************************************************************/
  65          void tool_task_init (void)
  66          {
  67   1        tool_state = TOOL_INIT;
  68   1      }
  69          
  70          
  71          /*F**************************************************************************
  72          * NAME: tool_task
  73          *----------------------------------------------------------------------------
  74          * PARAMS:
  75          *
  76          * return:
  77          *----------------------------------------------------------------------------
  78          * PURPOSE: 
  79          *   Tool task
  80          *----------------------------------------------------------------------------
  81          * EXAMPLE:
  82          *----------------------------------------------------------------------------
  83          * NOTE:
  84          *   STATES:
  85          *   TOOL_INIT   screen initialization
  86          *   TOOL_IDLE   idle state of this task
  87          *   TOOL_CONF   configuration menu
  88          *   TOOL_MEM    memory menu
  89          *----------------------------------------------------------------------------
  90          * REQUIREMENTS:
  91          *****************************************************************************/
  92          void tool_task (void)
  93          {
  94   1        switch (tool_state)
  95   1        {
  96   2          case TOOL_INIT:
  97   2          {
  98   3            if (mem_status() != MEM_BUSY)         /* wait end of memory install */
  99   3            {
 100   4              print_mode_tool();                  /* select song icon */
 101   4              print_state_stop();
 102   4              print_screen(TOOL_SCREEN);          /* display tool screen */
 103   4              tool_index = 0;                     /* reset menu index */
 104   4              print_string(tool_menu[0].disp);    /* print first tool command */
 105   4              tool_state = TOOL_IDLE;
 106   4            }
 107   3            break;
 108   3          }
 109   2      
 110   2          /* Tool Menu */
 111   2          case TOOL_IDLE:
 112   2          {
 113   3            if (gl_key_press)
 114   3            {
 115   4              switch (gl_key)
 116   4              {
C51 COMPILER V7.50   TOOL_TASK                                                             09/20/2005 21:47:44 PAGE 3   

 117   5                case KEY_MEM:
 118   5                {
 119   6                  mem_select_next();              /* select next memory */
 120   6                  tool_state = TOOL_INIT;
 121   6                  break;
 122   6                }
 123   5      
 124   5                case KEY_DEC:
 125   5                {
 126   6                  if (tool_index == (sizeof(tool_menu) / sizeof(St_menu)) - 1)
 127   6                  {
 128   7                    tool_index = 0;               /* point on first item */
 129   7                  }
 130   6                  else
 131   6                  {
 132   7                    tool_index++;                 /* point next item */
 133   7                  }
 134   6                  print_string(tool_menu[tool_index].disp);
 135   6                  break;
 136   6                }
 137   5      
 138   5                case KEY_INC:
 139   5                {
 140   6                  if (tool_index == 0)
 141   6                  {
 142   7                    tool_index = (sizeof(tool_menu) / sizeof(St_menu) - 1);  /* point on last item */
 143   7                  }
 144   6                  else
 145   6                  {
 146   7                    tool_index--;                 /* point previous item */
 147   7                  }
 148   6                  print_string(tool_menu[tool_index].disp);
 149   6                  break;
 150   6                }
 151   5      
 152   5                case KEY_ENTER:
 153   5                {
 154   6                  /* validate menu item */
 155   6                  tool_state = tool_menu[tool_index].state;
 156   6                  break;
 157   6                }
 158   5      
 159   5                case KEY_MODE:
 160   5                {
 161   6                  mode_set_init();                /* exit from tool task */
 162   6                  tool_state = TOOL_INIT;
 163   6                  break;
 164   6                }
 165   5              }
 166   4              gl_key_press = FALSE;               /* ack key usage */
 167   4            }
 168   3            else
 169   3            { /* check card presence */
 170   4              if (mem_check_card() == KO)
 171   4              {
 172   5                mem_select_next();
 173   5                tool_state = TOOL_INIT;           /* card has been unplugged */
 174   5              }
 175   4            }
 176   3            break;
 177   3          }
 178   2      
C51 COMPILER V7.50   TOOL_TASK                                                             09/20/2005 21:47:44 PAGE 4   

 179   2          case TOOL_FORMAT:
 180   2          {
 181   3            print_string(tool_menu[tool_index].disp);
 182   3            print_state_play();                   /* format in progress */
 183   3            Fformat();
 184   3            if (mem_select_format() != OK)        /* check file system */
 185   3            {
 186   4              print_string(TOOL_FORMAT_ERROR);
 187   4            }
 188   3            print_state_stop();
 189   3            tool_state = TOOL_IDLE;
 190   3            break;
 191   3          }
 192   2        }
 193   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    249    ----
   CONSTANT SIZE    =     72    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =      1    ----
   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 + -