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

📄 main.lst

📁 该源码是本人经调试通过的UCOS2操作系统在51单片机上移植好的源代码
💻 LST
字号:
C51 COMPILER V7.20   MAIN                                                                  09/30/2006 10:50:42 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <includes.h>
   2          
   3          #define MAX_STK_SIZE 64
   4          extern void serial_initial(void);
   5          void TaskStartyya(void *yydata) reentrant;
   6          void TaskStartyyb(void *yydata) reentrant;
   7          void TaskStartyyc(void *yydata) reentrant;
   8          
   9          OS_STK TaskStartStkyya[MAX_STK_SIZE+1];//注意:我在ASM文件中设置?STACK空间为40H即64,不要超出范围。
  10          OS_STK TaskStartStkyyb[MAX_STK_SIZE+1];//用户栈多一个字节存长度
  11          OS_STK TaskStartStkyyc[MAX_STK_SIZE+1];
  12          
  13          void *MessageStorage[2];
  14          OS_EVENT *Uart0ReviceMbox;
  15          INT8U err,i;
  16          INT8U *cp,*Buf;
  17          INT8U *o,*t,*th,*f;
  18          
  19          void main(void)
  20          {
  21   1      o="one";
  22   1      t="two";
  23   1      th="three";
  24   1      f="four";
  25   1      OSInit();
  26   1      serial_initial();
  27   1      InitTimer0();
  28   1      Uart0ReviceMbox = OSQCreate(MessageStorage,2);
  29   1      OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],2);
  30   1      OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],3);
  31   1      OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],4);
  32   1      
  33   1      OSStart();
  34   1      }
  35          
  36          void TaskStartyya(void *yydata) reentrant
  37          {
  38   1      yydata=yydata;
  39   1      
  40   1      
  41   1      
  42   1      for(;;){
  43   2            cp = (INT8U *)OSQPend(Uart0ReviceMbox, 80, &err);         /* 接收数据 */  
  44   2            if(cp==o) {
  45   3                        printf("one\n");
  46   3                       
  47   3                                      }
  48   2            else if(cp==t) printf("two\n");
  49   2            else if (cp==th) printf("three\n");
  50   2            else if(cp==f)  printf("four\n");
  51   2                else printf("wait timeout\n");
  52   2             } 
  53   1       
  54   1      }
  55          
C51 COMPILER V7.20   MAIN                                                                  09/30/2006 10:50:42 PAGE 2   

  56          void TaskStartyyb(void *yydata) reentrant
  57          {
  58   1      yydata=yydata; 
  59   1      
  60   1      for(;;){
  61   2      i=P0;
  62   2      switch(i)
  63   2      {
  64   3        case 1:  Buf="one";break;
  65   3        case 2:  Buf="two";break;
  66   3        case 4:  Buf="three";break;
  67   3        case 8:  Buf="four";break;
  68   3        default: Buf="error";break;
  69   3      }
  70   2      if((Buf==o)||(Buf==t)||(Buf==th)||(Buf==f)) OSQPost(Uart0ReviceMbox, (void *)Buf);
  71   2      
  72   2      //OSTimeDly(2*OS_TICKS_PER_SEC); 
  73   2      } 
  74   1      
  75   1      }
  76          
  77          void TaskStartyyc(void *yydata) reentrant
  78          {
  79   1      yydata=yydata; 
  80   1      
  81   1      for(;;){
  82   2      
  83   2      
  84   2      printf("t3.\n");
  85   2      
  86   2      //OSTimeDly(3*OS_TICKS_PER_SEC); 
  87   2      
  88   2      } 
  89   1      }
  90          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1019    ----
   CONSTANT SIZE    =     67    ----
   XDATA SIZE       =    224    ----
   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 + -