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

📄 mode_task.lst

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


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

stmt level    source

   1          /*C**************************************************************************
   2          * $RCSfile: mode_task.c,v $
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2002 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      $Name: DEMO_FAT_1_2_5 $      
   7          * REVISION:     $Revision: 1.5 $     
   8          * FILE_CVSID:   $Id: mode_task.c,v 1.5 2002/06/07 15:46:56 ffosse Exp $       
   9          *----------------------------------------------------------------------------
  10          * PURPOSE:
  11          * This file contains the  mode 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          *   - gl_cpt_tick:  byte in data space
  18          *****************************************************************************/
  19          
  20          
  21          /*_____ I N C L U D E S ____________________________________________________*/
  22          
  23          #include "config.h"                         /* system configuration */
  24          #include "..\..\..\..\lib_demob\board.h"    /* board definition */
  25          #include "..\display\disp.h"                /* display definition */
  26          #include "..\song\song_task.h"              /* song task definition */
  27          #include "..\voice\voice_task.h"            /* voice task definition */
  28          #include "..\tool\tool_task.h"              /* tool task definition */
  29          #include "..\kbd\kbd_task.h"                /* keyboard task definition */
  30          #include "..\mem\mem_task.h"                /* memory task definition */
  31          #include "mode_task.h"                      /* mode task definition */
  32          
  33          
  34          /*_____ M A C R O S ________________________________________________________*/
  35          
  36          
  37          /*_____ D E F I N I T I O N ________________________________________________*/
  38          
  39          extern  bdata bit     gl_key_press;     /* set to TRUE if a key is decoded */
  40          extern  idata Byte    gl_key;           /* value of the key pressed */
  41          extern  data  Byte    gl_cpt_tick;      /* general tick counter */
  42          
  43          static  data  Byte    mode_state;       /* task state */
  44          
  45          
  46          /*_____ D E C L A R A T I O N ______________________________________________*/
  47          
  48          
  49          /*F**************************************************************************
  50          * NAME: mode_task_init
  51          *----------------------------------------------------------------------------
  52          * PARAMS:
  53          *
  54          * return:
C51 COMPILER V6.20c  MODE_TASK                                                             07/10/2002 15:17:41 PAGE 2   

  55          *----------------------------------------------------------------------------
  56          * PURPOSE: 
  57          *   Mode task initialization 
  58          *----------------------------------------------------------------------------
  59          * EXAMPLE:
  60          *----------------------------------------------------------------------------
  61          * NOTE:
  62          *----------------------------------------------------------------------------
  63          * REQUIREMENTS:
  64          *****************************************************************************/
  65          void mode_task_init (void)
  66          {
  67   1        mode_state = MODE_BOOT;
  68   1        song_task_init();
  69   1        voice_task_init();
  70   1        tool_task_init();
  71   1      }
  72          
  73          
  74          /*F**************************************************************************
  75          * NAME: mode_task
  76          *----------------------------------------------------------------------------
  77          * PARAMS:
  78          *
  79          * return:
  80          *----------------------------------------------------------------------------
  81          * PURPOSE: 
  82          *   Mode task 
  83          *----------------------------------------------------------------------------
  84          * EXAMPLE:
  85          *----------------------------------------------------------------------------
  86          * NOTE:
  87          *   STATES:
  88          *   MODE_BOOT     boot state
  89          *   MODE_SPLASH   wait splash time
  90          *   MODE_DOWNLOAD file download mode
  91          *   MODE_SONG     song playing mode
  92          *   MODE_VOICE    voice playing & recording mode
  93          *   MODE_TOOL     tool mode
  94          *   MODE_IDLE     idle mode (switch back to first task)
  95          *----------------------------------------------------------------------------
  96          * REQUIREMENTS:
  97          *****************************************************************************/
  98          void mode_task (void)
  99          {
 100   1        switch (mode_state)
 101   1        {
 102   2          case MODE_BOOT:
 103   2          {
 104   3            if ((NVERS != CHIP_VERSION) && (NVERS != (CHIP_VERSION + 1)))
 105   3            {
 106   4              print_screen(FATAL_SCREEN);
 107   4              while (1);                          /* stop if bad chip version */
 108   4            }
 109   3            else
 110   3            {
 111   4              print_screen(SPLASH_SCREEN);
 112   4              print_string(SYS_VERSION);
 113   4              mode_state = MODE_SPLASH;
 114   4              gl_cpt_tick = SPLASH_TEMPO_INIT;
 115   4            }
 116   3            break;
C51 COMPILER V6.20c  MODE_TASK                                                             07/10/2002 15:17:41 PAGE 3   

 117   3          }
 118   2      
 119   2          case MODE_SPLASH:
 120   2          {
 121   3            if (gl_key_press || (gl_cpt_tick > SPLASH_TEMPO))
 122   3            {
 123   4              if (gl_key == KEY_LOCK)
 124   4              {
 125   5                print_kbd_lock();                 /* print keyboard status */
 126   5              }
 127   4              gl_key_press = FALSE;               /* ack possible key press */
 128   4              mode_state = MODE_SONG;
 129   4            }
 130   3            break;
 131   3          }
 132   2      
 133   2          case MODE_DOWNLOAD:
 134   2          {
 135   3            break;
 136   3          }
 137   2      
 138   2          case MODE_SONG:
 139   2          {
 140   3            song_task();                          /* song mode */
 141   3            break;
 142   3          }
 143   2      
 144   2          case MODE_VOICE:
 145   2          {
 146   3            voice_task();                         /* voice mode */
 147   3            break;
 148   3          }
 149   2      
 150   2          case MODE_TOOL:
 151   2          {
 152   3            tool_task();                          /* tool mode */
 153   3            break;
 154   3          }
 155   2      
 156   2          case MODE_IDLE: 
 157   2          {
 158   3            mode_state = MODE_SONG;
 159   3            break;
 160   3          }
 161   2        }
 162   1      }
 163          
 164          
 165          /*F**************************************************************************
 166          * NAME: mode_set_init
 167          *----------------------------------------------------------------------------
 168          * PARAMS:
 169          *
 170          * return:
 171          *----------------------------------------------------------------------------
 172          * PURPOSE: 
 173          *   Sets mode task in init state
 174          *----------------------------------------------------------------------------
 175          * EXAMPLE:
 176          *----------------------------------------------------------------------------
 177          * NOTE:
 178          *   Called from song, voice, mass, tool, usb tasks before stopping
C51 COMPILER V6.20c  MODE_TASK                                                             07/10/2002 15:17:41 PAGE 4   

 179          *----------------------------------------------------------------------------
 180          * REQUIREMENTS:
 181          *****************************************************************************/
 182          void mode_set_init (void)
 183          {
 184   1        mode_state++;
 185   1      }
 186          
 187          
 188          /*F**************************************************************************
 189          * NAME: mode_set_download
 190          *----------------------------------------------------------------------------
 191          * PARAMS:
 192          *
 193          * return:
 194          *----------------------------------------------------------------------------
 195          * PURPOSE: 
 196          *   Set mode task in download state
 197          *----------------------------------------------------------------------------
 198          * EXAMPLE:
 199          *----------------------------------------------------------------------------
 200          * NOTE:
 201          *   Called from usb task to stop the current task and switch to download task
 202          *----------------------------------------------------------------------------
 203          * REQUIREMENTS:
 204          *****************************************************************************/
 205          void mode_set_download (void)
 206          {
 207   1        mem_card_select(FALSE);                   /* try selecting card */
 208   1        switch (mode_state)
 209   1        {
 210   2          case MODE_SONG:
 211   2          {
 212   3            while (mode_state == MODE_SONG)
 213   3            {
 214   4              kbd_set_stop();
 215   4              song_task();                        /* exit song task */
 216   4            }
 217   3            mode_state = MODE_DOWNLOAD;
 218   3            break;
 219   3          }
 220   2        
 221   2          case MODE_VOICE:
 222   2          {
 223   3            while (mode_state == MODE_VOICE)
 224   3            {
 225   4              kbd_set_stop();
 226   4              voice_task();                       /* exit voice task */
 227   4            }
 228   3            mode_state = MODE_DOWNLOAD;
 229   3            break;
 230   3          }
 231   2        
 232   2          case MODE_TOOL:
 233   2          {
 234   3            while (mode_state == MODE_TOOL)
 235   3            {
 236   4              kbd_set_stop();
 237   4              tool_task();                        /* exit tool task */
 238   4            }
 239   3            mode_state = MODE_DOWNLOAD;
 240   3            break;
C51 COMPILER V6.20c  MODE_TASK                                                             07/10/2002 15:17:41 PAGE 5   

 241   3          }
 242   2      
 243   2          default:
 244   2          {
 245   3            mode_state = MODE_DOWNLOAD;
 246   3            break;
 247   3          }
 248   2        }
 249   1      }
 250          
 251          
 252          /*F**************************************************************************
 253          * NAME: mode_exit_download
 254          *----------------------------------------------------------------------------
 255          * PARAMS:
 256          *
 257          * return:
 258          *----------------------------------------------------------------------------
 259          * PURPOSE: 
 260          *   Switch mode task from download to song state
 261          *----------------------------------------------------------------------------
 262          * EXAMPLE:
 263          *----------------------------------------------------------------------------
 264          * NOTE:
 265          *   Called from usb task when disconnecting
 266          *----------------------------------------------------------------------------
 267          * REQUIREMENTS:
 268          *****************************************************************************/
 269          void mode_exit_download (void)
 270          {
 271   1        if (mode_state == MODE_DOWNLOAD)
 272   1        {
 273   2          mode_state++;
 274   2          mem_card_select(FALSE);                   /* force reselect memory */
 275   2        }
 276   1      }
 277          
 278          
 279          


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