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

📄 test.lst

📁 一个关于UCOS的KEIL工程
💻 LST
字号:
C51 COMPILER V8.08   TEST                                                                  04/08/2008 09:22:25 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TEST.C LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/OS-II
   4          *                                          The Real-Time Kernel
   5          *
   6          *                           (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
   7          *                                           All Rights Reserved
   8          *
   9          *                                               EXAMPLE #1
  10          *********************************************************************************************************
  11          */
  12          
  13          #include "includes.h"
  14          #include "display.h"
  15          
  16          /*
  17          *********************************************************************************************************
  18          *                                               CONSTANTS
  19          *********************************************************************************************************
  20          */
  21          
  22          #define  TASK_STK_SIZE                 512       /* Size of each task's stacks (# of WORDs)            */
  23          #define  N_TASKS                        10       /* Number of identical tasks                          */
  24          
  25          
  26          /*
  27          *********************************************************************************************************
  28          *                                               VARIABLES
  29          *********************************************************************************************************
  30          */
  31          
  32          OS_STK        TaskStk[N_TASKS][TASK_STK_SIZE];        /* Tasks stacks                                  */
  33          OS_STK        TaskStartStk[TASK_STK_SIZE];
  34          char          TaskData[N_TASKS];                      /* Parameters to pass to each task               */
  35          OS_EVENT     *RandomSem;
  36          
  37          /*
  38          *********************************************************************************************************
  39          *                                           FUNCTION PROTOTYPES
  40          *********************************************************************************************************
  41          */
  42          
  43                  void  Task(void *pd) reentrant;                       /* Function prototypes of tasks             
             -     */
  44                  void  TaskStart(void *pdata) reentrant;                  /* Function prototypes of Startup task   
             -        */
  45          static  void  TaskStartCreateTasks(void) reentrant;
  46          unsigned char HexToAscii (unsigned char num) reentrant;
  47          
  48          /*
  49          *********************************************************************************************************
  50          *                                                MAIN
  51          *********************************************************************************************************
  52          */
  53          
C51 COMPILER V8.08   TEST                                                                  04/08/2008 09:22:25 PAGE 2   

  54          void main (void)
  55          {
  56   1          OSInit();                                              /* Initialize uC/OS-II                      */
  57   1              
  58   1              OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
  59   1              
  60   1          OSStart();                                             /* Start multitasking                       */
  61   1      }
  62          
  63          /*
  64          *********************************************************************************************************
  65          *                                              STARTUP TASK
  66          *********************************************************************************************************
  67          */
  68          
  69          void TaskStart (void *pdata) reentrant
  70          {
  71   1              INT8U i = 0;
  72   1              INT32U time = 0;
  73   1              
  74   1              pdata = pdata;                                         /* Prevent compiler warning                 */
  75   1              
  76   1              nt7606_init();
  77   1              
  78   1              OS_ENTER_CRITICAL();
  79   1          // clock init
  80   1          TMOD = 0x11;
  81   1          ET0 = 1;
  82   1          TR0 = 1;
  83   1          OS_EXIT_CRITICAL();
  84   1              
  85   1              OSStatInit();                                          /* Initialize uC/OS-II's statistics         */
  86   1              
  87   1              TaskStartCreateTasks();                                /* Create all the application tasks         */
  88   1              
  89   1              i = 0;
  90   1              OSTimeSet(0);
  91   1              while (1)
  92   1              {
  93   2              time = OSTimeGet() / 20;
  94   2              
  95   2              movcur(1, 5);
  96   2              if ((time / 1000) > 0)
  97   2              {
  98   3                      putch(HexToAscii(time / 1000));
  99   3              }
 100   2              else
 101   2              {
 102   3                      putch('0');
 103   3              }
 104   2              if ((time % 1000 / 100) > 0)
 105   2              {
 106   3                      putch(HexToAscii(time % 1000 / 100));
 107   3              }
 108   2              else
 109   2              {
 110   3                      putch('0');
 111   3              }
 112   2              
 113   2              putch(HexToAscii(time % 100 / 10));
 114   2              putch(HexToAscii(time % 10));
 115   2              putch('s');
C51 COMPILER V8.08   TEST                                                                  04/08/2008 09:22:25 PAGE 3   

 116   2              
 117   2              OSTimeDlyHMSM(0, 0, 1, 0);                         /* Wait one second                          */
 118   2              }
 119   1      }
 120          
 121          /*
 122          *********************************************************************************************************
 123          *                                             CREATE TASKS
 124          *********************************************************************************************************
 125          */
 126          
 127          static  void  TaskStartCreateTasks (void) reentrant
 128          {
 129   1          INT8U  i;
 130   1      
 131   1          for (i = 0; i < N_TASKS; i++) {                        /* Create N_TASKS identical tasks           */
 132   2              TaskData[i] = '0' + i;                             /* Each task will display its own letter    */
 133   2              OSTaskCreate(Task, (void *)&TaskData[i], &TaskStk[i][TASK_STK_SIZE - 1], i + 1);
 134   2          }
 135   1      }
 136          
 137          
 138          /*
 139          *********************************************************************************************************
 140          *                                                  TASKS
 141          *********************************************************************************************************
 142          */
 143          
 144          void  Task (void *pd) reentrant
 145          {
 146   1          INT8U i;
 147   1          INT8U * p;
 148   1          
 149   1          //pdata = pdata;
 150   1          
 151   1          i = 0;
 152   1          for (;;) {
 153   2              OSTimeDly(OS_TICKS_PER_SEC);              /* Delay 1 clock tick                                 */
 154   2              
 155   2              i = TL0 % 17;
 156   2              if (i == 0)
 157   2              {
 158   3                      i = 16;
 159   3              }
 160   2              
 161   2              movcur(2, i);
 162   2              p = (char *)pd;
 163   2              putch(*p);
 164   2          }
 165   1      }
 166          
 167          
 168          unsigned char HexToAscii (unsigned char num) reentrant
 169          {
 170   1              num &= 0x0F;
 171   1              
 172   1              if (num < 10)
 173   1              {
 174   2                      return (num + 0x30);
 175   2              }
 176   1              else
 177   1              {
C51 COMPILER V8.08   TEST                                                                  04/08/2008 09:22:25 PAGE 4   

 178   2                      return (num + 0x37);
 179   2              }
 180   1      }


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