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

📄 main.lst

📁 模仿ucos ii和RTX Tiny写的一个小操作系统
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  05/09/2008 17:57:18 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil808\C51\BIN\C51.EXE main.c ROM(COMPACT) DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include <AT89X52.H>
   3          
   4          #include "os_core.h"
   5          #include "main.h"
   6          #include "task_switch.h"
   7          #include "sem.h"
   8          #include "uart.h"
   9          #include "q.h"
  10          
  11          //任务0
  12           void task_0(void)  
  13          {
  14   1        static uint8 i ;
  15   1       OSSemCreat(0,0);
  16   1       while(1)
  17   1       {
  18   2          i++;
  19   2          P0=0x01<<(i%8);
  20   2          OSTaskSemPend(0,0);
  21   2        }
  22   1      }
  23          
  24          //任务1
  25           void task_1(void)      
  26          { 
  27   1        static uint8 i,err ; static void * msg;
  28   1       while(1)
  29   1       {  
  30   2          i++;
  31   2          P1=0x01<<(i%8);
  32   2          OSTaskSemPend(0,100); 
  33   2              msg=OSTaskWaitMsg(&err,0);
  34   2          prints(msg);
  35   2        }
  36   1      }
  37          
  38          //任务2
  39          void task_2(void)
  40          {
  41   1       static uint8 i ;
  42   1      
  43   1       while(1)
  44   1       {  
  45   2          i++;
  46   2          P2=0x01<<(i%8       );
  47   2              OSWait(K_TMO,100);
  48   2              sendbyte(getbyte());    
  49   2              prints("I send a sem\n");    
  50   2          OSSemPost(0);
  51   2        }
  52   1      }
  53          //任务3
  54          void task_3(void)
  55          {
C51 COMPILER V8.08   MAIN                                                                  05/09/2008 17:57:18 PAGE 2   

  56   1       static uint8 i ;
  57   1       while(1)
  58   1       {  
  59   2          i++;
  60   2          P3=0x01<<(i%8);
  61   2              OSWait(K_TMO,255);
  62   2          OSSendMsg("I get the msg\n");
  63   2        }
  64   1      }
  65          //任务IDLE
  66          void task_idle(void)
  67          {
  68   1        OSSched();
  69   1        while(1)
  70   1       {
  71   2        }
  72   1      }       
  73          
  74          
  75          ///////////////////////////////////主函数//////////////////////////////////////////////
  76          void main(void)
  77          {
  78   1      
  79   1       OS_Init();       //OS初始化
  80   1      
  81   1       uart_init();
  82   1      
  83   1       OS_Task_Create(0,0,(uint16)(&task_0),OS_TCB[0].Task_SP);   //创建任务0
  84   1      
  85   1       OS_Task_Create(0,1,(uint16)(&task_1),OS_TCB[1].Task_SP);   //创建任务1
  86   1      
  87   1       OS_Task_Create(1,2,(uint16)(&task_2),OS_TCB[2].Task_SP);   //创建任务2
  88   1      
  89   1       OS_Task_Create(1,3,(uint16)(&task_3),OS_TCB[3].Task_SP);   //创建任务3
  90   1      
  91   1       OS_Task_Create(255,TASK_NUM-1,(uint16)(&task_idle),OS_TCB[TASK_NUM-1].Task_SP);   //创建任务idel
  92   1      
  93   1       OS_Start();      //OS启动
  94   1      
  95   1      }
  96          
  97          
  98          


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