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

📄 scheduler.lst

📁 基于AT89C51SND1的MP3的程序设计(包括播放mp3和录音功能)
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   SCHEDULER                                                             05/05/2005 12:12:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SCHEDULER
OBJECT MODULE PLACED IN scheduler.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE scheduler.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\system;.\;.\;.\lib_re
                    -fd) DEFINE(KEIL) DEBUG OBJECTEXTEND

stmt level    source

   1          /*C**************************************************************************
   2          * NAME:         scheduler.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.8     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE:
  10          * This file contains the scheduler routines
  11          *
  12          * NOTES:
  13          * Configuration:
  14          *   - SCH_TYPE in scheduler.h header file
  15          *   - SCH_TIMER in scheduler.h header file
  16          * Global Variables:
  17          *   - gl_cpt_tick: byte in data space
  18          *   - gl_kbd_tick: byte in data space
  19          *   - gl_mem_tick: byte in data space
  20          *
  21          *****************************************************************************/
  22          
  23          /*_____ I N C L U D E S ____________________________________________________*/
  24          
  25          #include "config.h"                         /* system definition */
  26          #include "lib_mcu\timer\timer_drv.h"        /* timer definition */
  27          #include "scheduler.h"                      /* scheduler definition */
  28          #include "board.h"
  29          
  30          
  31          /*_____ M A C R O S ________________________________________________________*/
  32          
  33          
  34          /*_____ D E F I N I T I O N ________________________________________________*/
  35          
  36          extern  data    Byte    mode_state;         /* task state */
  37          extern  data    Byte    gl_cpt_tick;        /* general tick counter */
  38          extern  data    Byte    gl_kbd_tick;        /* keypad tick counter */
  39          extern  data    Byte    gl_mem_tick;        /* memory tick counter */
  40          extern  data    Byte    gl_led_tick;        /* led tick counter */
  41          extern  idata   Uint16  gl_act_tick;        /* led tick counter */
  42          
  43          #if (SCH_TYPE != SCH_FREE)
                bit   sch_tick_flag;
              #endif
  46          
  47          
  48          /*_____ D E C L A R A T I O N ______________________________________________*/
  49          
  50          static  void sch_time_init (void);
  51          
  52          
  53          /*F**************************************************************************
  54          * NAME:     sch_scheduler_init
C51 COMPILER V7.06   SCHEDULER                                                             05/05/2005 12:12:00 PAGE 2   

  55          *----------------------------------------------------------------------------
  56          * PARAMS:
  57          *
  58          * return:
  59          *----------------------------------------------------------------------------
  60          * PURPOSE: 
  61          *   Scheduler initialization
  62          *----------------------------------------------------------------------------
  63          * EXAMPLE:
  64          *----------------------------------------------------------------------------
  65          * NOTE:
  66          *   Task_x_init() and Task_x_fct() are defined in scheduler.h
  67          *----------------------------------------------------------------------------
  68          * REQUIREMENTS:
  69          *****************************************************************************/
  70          void sch_scheduler_init (void)
  71          {
  72   1        Task_1_init();  
  73   1        Task_2_init();  
  74   1        Task_4_init();  
  75   1        Task_5_init();  
  76   1        sch_time_init();                /* start time base */
  77   1        Task_6_init();  
  78   1      }
  79          
  80          
  81          /*F**************************************************************************
  82          * NAME:     sch_scheduler
  83          *----------------------------------------------------------------------------
  84          * PARAMS:
  85          *
  86          * return:
  87          *----------------------------------------------------------------------------
  88          * PURPOSE:
  89          *   Task execution scheduler 
  90          *----------------------------------------------------------------------------
  91          * EXAMPLE:
  92          *----------------------------------------------------------------------------
  93          * NOTE:
  94          *----------------------------------------------------------------------------
  95          * REQUIREMENTS:
  96          *****************************************************************************/
  97          void sch_scheduler (void)
  98          {
  99   1        while (1)
 100   1        {
 101   2          Task_1_fct();
 102   2          Sch_call_next_task();
 103   2      
 104   2          Task_2_fct();
 105   2          Sch_call_next_task();
 106   2      
 107   2          Task_3_fct();
 108   2          Sch_call_next_task();
 109   2      
 110   2          Task_4_fct();
 111   2          Sch_call_next_task();
 112   2      
 113   2      
 114   2          Task_5_fct();
 115   2          Sch_call_next_task();
 116   2        }
C51 COMPILER V7.06   SCHEDULER                                                             05/05/2005 12:12:00 PAGE 3   

 117   1      }
 118          
 119          
 120          /*F**************************************************************************
 121          * NAME:    sch_default_fct
 122          *----------------------------------------------------------------------------
 123          * PARAMS:
 124          *
 125          * return:
 126          *----------------------------------------------------------------------------
 127          * PURPOSE:
 128          *   This function does nothing 
 129          *----------------------------------------------------------------------------
 130          * EXAMPLE:
 131          *----------------------------------------------------------------------------
 132          * NOTE:
 133          *----------------------------------------------------------------------------
 134          * REQUIREMENTS:
 135          *****************************************************************************/
 136          void sch_default_fct (void)
 137          {
 138   1      }
 139          
 140          
 141          #if (SCH_TIMER == SCH_TIMER0)
 142          /*F**************************************************************************
 143          * NAME:     sch_time_init
 144          *----------------------------------------------------------------------------
 145          * PARAMS:
 146          *
 147          * return:
 148          *----------------------------------------------------------------------------
 149          * PURPOSE:
 150          *   Scheduler time base (timer 0) initialization
 151          *----------------------------------------------------------------------------
 152          * EXAMPLE:
 153          *----------------------------------------------------------------------------
 154          * NOTE:
 155          *   mode 16-bit Timer, Time counter
 156          *   T0_PRIO to be defined in config.h
 157          *   TIM_LOW & TIM_HIGH defined in scheduler.h
 158          *----------------------------------------------------------------------------
 159          * REQUIREMENTS:
 160          *****************************************************************************/
 161          void sch_time_init (void)
 162          {
 163   1        T0_init(T0_NOT_GATED, T0_TIMER, T0_MODE_1);
 164   1        TL0 = TIM_LOW;
 165   1        TH0 = TIM_HIGH;
 166   1        t0_set_prio(T0_PRIO);         /* set-up priority */
 167   1        T0_enable_int();              /* enable interrupt */
 168   1        T0_start();                   /* start time base */

⌨️ 快捷键说明

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