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

📄 main.lst

📁 实施操作系统的设计和开发
💻 LST
字号:
C51 COMPILER V7.02b   MAIN                                                                 11/29/2006 14:48:11 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\main.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\main.lst) OBJECT(
                    -.\obj\main.obj)

stmt level    source

   1          /*
   2          
   3          www.mcu123.net/bbs
   4          学习论坛
   5          
   6          本例程ucOS-II 版本为2.51
   7          
   8           注:
   9           此例程运行于内RAM > 1024 Byte的51内核的单片机即可。
  10           比     如 :  SST89E564RD ,STC89C516RD 等
  11          
  12          
S
  13          */
  14          
  15          
  16          #include "includes.h"
  17          #include "serial.h"
  18          
  19           sbit LED1=P1^5;
  20           sbit LED2=P1^6;
  21           unsigned char xdata strbuf[8];
  22          
  23          OS_STK TaskStartStk1[MaxStkSize],TaskStartStk2[MaxStkSize],TaskStartStk3[MaxStkSize];
  24          
  25          void Task1(void *nouse) reentrant;
  26          void Task2(void *nouse) reentrant;
  27          void Task3(void *nouse) reentrant;
  28          
  29          void DecTochar(unsigned int n,unsigned char *buf) 
  30          {       unsigned char i;
  31   1              unsigned char buffer[8];
  32   1              for(i=0;i<5;i++)
  33   1              {
  34   2              buffer[i]=n%10+0x30;
  35   2              n=n/10;
  36   2              if(n==0)break;
  37   2              }
  38   1              
  39   1              for(;i>0;i--)*buf++=buffer[i];
  40   1      
  41   1              *buf++=buffer[i];
  42   1              *buf='\r';
  43   1              buf++;
  44   1              *buf='\n';
  45   1      }
  46          
  47          void main(void)
  48          {
  49   1          OSInit();
  50   1          InitHardware();
  51   1          OSTaskCreate(Task1, (void *)0, &TaskStartStk1[0],2);
  52   1          OSTaskCreate(Task2, (void *)0, &TaskStartStk2[0],3);
  53   1              OSTaskCreate(Task3, (void *)0, &TaskStartStk3[0],4);
  54   1          OSStart();
C51 COMPILER V7.02b   MAIN                                                                 11/29/2006 14:48:11 PAGE 2   

  55   1      }
  56          
  57          void Task1(void *nouse) reentrant
  58          {
  59   1         unsigned char const Str0[]="Welcome to MCU123.COM \r\n";
  60   1              unsigned char const Str1[]="Task1 is running! LED1=ON \r\n";
  61   1              unsigned char const Strv[]="uCosII_Ver";
  62   1              nouse=nouse;
  63   1          
  64   1              SendStr(Str0, sizeof(Str0));
  65   1              DecTochar(OSVersion(),strbuf);
  66   1              SendStr(Strv,sizeof(Strv));
  67   1              SendStr(strbuf, sizeof(strbuf));
  68   1          for(;;)
  69   1          {
  70   2                      LED1 = 0;
  71   2              SendStr(Str1, sizeof(Str1));
  72   2                      
  73   2              OSTimeDly(OS_TICKS_PER_SEC*2);
  74   2          }    
  75   1      }
  76          
  77          void Task2(void *nouse) reentrant
  78          {  unsigned char const Str2[]="Task2 is running! LED2=ON \r\n";
  79   1          nouse=nouse;
  80   1          for(;;)
  81   1          {
  82   2                      LED2 = 0;
  83   2              SendStr(Str2, sizeof(Str2));
  84   2              OSTimeDly(OS_TICKS_PER_SEC*2);
  85   2          }
  86   1      }
  87          
  88          void Task3(void *nouse) reentrant
  89          {  unsigned char const Str3[]="Task3 is running! LED1=OFF LED2=OFF \r\n";
  90   1          nouse=nouse;
  91   1          for(;;)
  92   1          {
  93   2                      LED1 = 1;
  94   2                      LED2 = 1;
  95   2              SendStr(Str3, sizeof(Str3));
  96   2              OSTimeDly(OS_TICKS_PER_SEC);
  97   2          }
  98   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    847    ----
   CONSTANT SIZE    =    133    ----
   XDATA SIZE       =    308      14
   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 + -