ex1.lst

来自「c8051f020单片机的例程」· LST 代码 · 共 216 行

LST
216
字号
C51 COMPILER V7.06   EX1                                                                   05/31/2008 13:07:10 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE EX1
OBJECT MODULE PLACED IN ex1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ex1.c LARGE BROWSE INCDIR(F:\software\KEIL\) DEBUG OBJECTEXTEND

stmt level    source

   1          #include <includes.h>
   2          #include <cygnalcon.h>
   3          //#include    <ucos_ii.h>
   4          #define uchar unsigned char
   5          #define uint  unsigned int
   6            OS_EVENT  *TASKA1;         
   7          //OS_EVENT  *TASKB1;    
   8          //OS_EVENT  *TASKC1;   
   9          //OS_EVENT  *TASKD1;  
  10          INT8U i;
  11          OS_EVENT *OSSemCreate(INT16U cnt);
  12          //void OSSemPend(OS_EVENT  *pevent,INT16U timeout,INT8U *err);
  13          //INT8U OSSemPost(OS_EVENT  *pevent);
  14          void TaskA(void*) reentrant;
  15          void TaskB(void*) reentrant;
  16          void TaskC(void*) reentrant;
  17          void TaskD(void*) reentrant;
  18          
  19          OS_STK TaskStartStkA[MaxStkSize];//注意:在ASM文件中设置?STACK空间为40H即64。
  20          OS_STK TaskStartStkB[MaxStkSize];
  21          OS_STK TaskStartStkC[MaxStkSize];
  22          OS_STK TaskStartStkD[MaxStkSize];
  23          
  24          void  UART0_SendByte(INT8U data1)
  25          {  SBUF0=data1;
  26   1          while(TI0==0);
  27   1      //      while(!TI);
  28   1              TI0=0;     // &micro;&Egrave;&acute;&yacute;&Ecirc;&yacute;&frac34;&Yacute
  29   1      }
  30          
  31          
  32          
  33          
  34          void main(void)
  35          {        
  36   1          i=0;
  37   1              config();
  38   1        // TASKA1 = OSSemCreate(1);
  39   1          OSInit();
  40   1      
  41   1          InitTimer0();
  42   1      
  43   1         
  44   1          OSTaskCreate(TaskA, (void *)0, TaskStartStkA,1);
  45   1          OSTaskCreate(TaskB, (void *)0, TaskStartStkB,2);
  46   1          OSTaskCreate(TaskC, (void *)0, TaskStartStkC,4);
  47   1              OSTaskCreate(TaskD, (void *)0, TaskStartStkD,5);
  48   1          
  49   1         //TASKA1 = OSSemCreate(1);
  50   1         // TASKB1 = OSSemCreate(0);  
  51   1         // TASKC1 = OSSemCreate(0);     
  52   1         // TASKD1 = OSSemCreate(0); 
  53   1          OSStart();
  54   1      }
  55          
C51 COMPILER V7.06   EX1                                                                   05/31/2008 13:07:10 PAGE 2   

  56          
  57          void TaskA(void *pdat) reentrant
  58                  {
  59   1      
  60   1              pdat=pdat;
  61   1      
  62   1              for(;;){     // OSSemPend(TASKA1,10,&err);
  63   2                                      //INT8U sz=0;
  64   2                                      //INT8U d[10]={63,6,91,79,102,109,124,7,127,103};
  65   2                                      //for( sz=0;sz<10;sz++)
  66   2                                      //      {
  67   2                                              //      P3=d[sz];
  68   2                                         if(i==0)
  69   2                       { UART0_SendByte(0x01);
  70   3                                          i=1;}
  71   2                                       // OSSemPost(TASKA1);
  72   2                                        //OSTimeDly(OS_TICKS_PER_SEC);
  73   2                                        OSTimeDly(1);
  74   2                                        
  75   2                                      //      }
  76   2                      
  77   2                                      } 
  78   1                      /*      OSSemPost(TASKB1);
  79   1               for (;;)
  80   1              {
  81   1                   OSSemPend(TASKB1,10,&err);    
  82   1                   if(err==OS_NO_ERR)
  83   1                   {        
  84   1                  
  85   1                     UART0_SendByte(0x01); 
  86   1                  
  87   1                     OSSemPost(TASKC1);   
  88   1      
  89   1                   }
  90   1             
  91   1              }*/
  92   1      
  93   1      
  94   1              }
  95          
  96          void TaskB(void *pdat) reentrant
  97                  {
  98   1              pdat=pdat; 
  99   1              
 100   1              for(;;){//OSSemPend(TASKA1,10,&err);
 101   2                         if(i==1)
 102   2                      {P3=~P3;
 103   3                              UART0_SendByte(0x02);
 104   3                                      i=2;}
 105   2                     // OSSemPost(TASKA1);
 106   2                              OSTimeDly(2);    
 107   2                              }   
 108   1                                 /* for (;;)
 109   1              {
 110   1                   OSSemPend(TASKC1,10,&err);    
 111   1                   if(err==OS_NO_ERR)
 112   1                   {        
 113   1                  
 114   1                     UART0_SendByte(0x02); 
 115   1                  
 116   1                     OSSemPost(TASKD1);   
 117   1      
C51 COMPILER V7.06   EX1                                                                   05/31/2008 13:07:10 PAGE 3   

 118   1                   }
 119   1             
 120   1              }*/
 121   1              }
 122          
 123          void TaskC(void *pdat) reentrant
 124                  {
 125   1              pdat=pdat; 
 126   1      
 127   1              for(;;){if(i==2)
 128   2      
 129   2                              //      P0=~P0;
 130   2                     {UART0_SendByte(0x03);
 131   3                              
 132   3                                      i=3;}  
 133   2                                      OSTimeDly(3);  
 134   2                              }   
 135   1                              /*       for (;;)
 136   1              {
 137   1                   OSSemPend(TASKD1,10,&err);    
 138   1                   if(err==OS_NO_ERR)
 139   1                   {        
 140   1                  
 141   1                     UART0_SendByte(0x03); 
 142   1                  
 143   1                     OSSemPost(TASKA1);   
 144   1      
 145   1                   }
 146   1             
 147   1              }*/
 148   1       
 149   1              }
 150          
 151          void TaskD(void *pdat) reentrant
 152                  {       
 153   1      
 154   1                      //INT8U sx;
 155   1                      //INT8U e[10]={103,127,7,124,109,102,79,91,6,63};
 156   1      
 157   1              //      pdat=pdat;
 158   1         
 159   1              for(;;){if(i==3)
 160   2                              
 161   2                              //      for( sx=0;sx<10;sx++)
 162   2                                      //      {
 163   2                                              ///     P2=e[sx];
 164   2                     {  UART0_SendByte(0x04);
 165   3                                              
 166   3                                                      i=0;}
 167   2                                      //      }
 168   2                                                      OSTimeDly(4);   
 169   2                              }
 170   1                                      }
*** WARNING C280 IN LINE 151 OF EX1.C: 'pdat': unreferenced local variable
 171                                  /*       for (;;)
 172                  {
 173                       OSSemPend(TASKA1,10,&err);    
 174                       if(err==OS_NO_ERR)
 175                       {        
 176                      
 177                         UART0_SendByte(0x02); 
 178                      
C51 COMPILER V7.06   EX1                                                                   05/31/2008 13:07:10 PAGE 4   

 179                         OSSemPost(TASKA1);   
 180          
 181                       }
 182                                   }
 183             
 184                  }*/
 185          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    489    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    404    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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