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

📄 tool_task.lst

📁 这是atmel公司的89C51SND1C的mp3源程序
💻 LST
字号:
C51 COMPILER V6.20c  TOOL_TASK                                                             07/10/2002 15:17:42 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE TOOL_TASK
OBJECT MODULE PLACED IN ..\obj\tool_task.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\src\tool\tool_task.c BROWSE INCDIR(..\src\system;..\..\..\lib) DEFINE(KE
                    -IL) DEBUG OBJECTEXTEND PRINT(.\tool_task.lst) OBJECT(..\obj\tool_task.obj) 

stmt level    source

   1          /*C**************************************************************************
   2          * $RCSfile: tool_task.c,v $
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2002 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      $Name: DEMO_FAT_1_2_5 $      
   7          * REVISION:     $Revision: 1.7 $     
   8          * FILE_CVSID:   $Id: tool_task.c,v 1.7 2002/06/06 15:28:52 ffosse Exp $       
   9          *----------------------------------------------------------------------------
  10          * PURPOSE:
  11          * This file contains the tool task and attached routines
  12          *
  13          * NOTES:
  14          * Global Variables:
  15          *   - gl_key_press: bit in bdata space
  16          *   - gl_key:       byte in idata space
  17          *****************************************************************************/
  18          
  19          /*_____ I N C L U D E S ____________________________________________________*/
  20          
  21          #include "config.h"                         /* system configuration */
  22          #include "..\..\..\..\lib_demob\board.h"    /* board definition */
  23          #include "..\display\disp.h"                /* display definition */
  24          #include "..\file\file.h"                   /* file definition */
  25          #include "..\..\..\..\lib_mem\df\df.h"      /* dataflash definition */
  26          #include "..\..\..\..\lib_mem\mmc\mmc.h"    /* mmc definition */
  27          #include "..\mem\mem_task.h"                /* memory task definition */
  28          #include "..\mode\mode_task.h"              /* mode task definition */
  29          #include "tool_task.h"                      /* tool task definition */
  30          
  31          
  32          /*_____ M A C R O S ________________________________________________________*/
  33          
  34          
  35          /*_____ D E F I N I T I O N ________________________________________________*/
  36          
  37          extern  bdata   bit     gl_key_press;   /* set to TRUE if a key is decoded */
  38          extern  idata   Byte    gl_key;         /* value of the key pressed */
  39          
  40          code    St_menu tool_menu[] =
  41                          {
  42                            {TOOL_FORMAT,     "\2 Format...     \r"},
  43                            {TOOL_FORMAT_WAV, "\2 Format + voice\r"},
  44                          };
  45          
  46          static  Byte  tool_index;               /* index in tool menu */
  47          static  Byte  tool_state;               /* task state */
  48          
  49          
  50          /*_____ D E C L A R A T I O N ______________________________________________*/
  51          
  52          
  53          /*F**************************************************************************
  54          * NAME: tool_task_init
C51 COMPILER V6.20c  TOOL_TASK                                                             07/10/2002 15:17:42 PAGE 2   

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

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

 179   4            }
 180   3            break;
 181   3          }
 182   2      
 183   2          case TOOL_FORMAT:
 184   2          {
 185   3            print_string(tool_menu[tool_index].disp);
 186   3            print_state_play();                   /* format in progress */
 187   3            Fformat(FALSE);                       /* format without voice wav files */
 188   3            if (mem_select_format() != OK)        /* check file system */
 189   3            {
 190   4              print_string(TOOL_FORMAT_ERROR);
 191   4            }
 192   3            print_state_stop();
 193   3            tool_state = TOOL_IDLE;
 194   3            break;
 195   3          }
 196   2      
 197   2          case TOOL_FORMAT_WAV:
 198   2          {
 199   3            print_string(tool_menu[tool_index].disp);
 200   3            print_state_play();                   /* format in progress */
 201   3            Fformat(TRUE);                        /* format with voice wav files */
 202   3            if (mem_select_format() != OK)        /* check file system */
 203   3            {
 204   4              print_string(TOOL_FORMAT_ERROR);
 205   4            }
 206   3            print_state_stop();
 207   3            tool_state = TOOL_IDLE;
 208   3            break;
 209   3          }
 210   2        }
 211   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    272    ----
   CONSTANT SIZE    =     91    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   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 + -