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

📄 caozuo.lst

📁 51操作系统RTX51应用,对任务的调度会有很好的了解,很适合初学操作系统的人,另外加了PROTUES对操作系统的仿真
💻 LST
字号:
C51 COMPILER V8.02   CAOZUO                                                                04/25/2007 20:57:32 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CAOZUO
OBJECT MODULE PLACED IN caozuo.OBJ
COMPILER INVOKED BY: D:\生成的应用程序\keil\keil 8.02\C51\BIN\C51.EXE caozuo.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND LI
                    -STINCLUDE SYMBOLS

line level    source

   1          #include<rtx51tny.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  RTX51TNY.H
   3      =1  
   4      =1  Prototypes for RTX51 Tiny Real-Time Operating System Version 2.02
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __RTX51TNY_H__
  10      =1  #define __RTX51TNY_H__
  11      =1  
  12      =1  
  13      =1  /* constants for os_wait function */
  14      =1  #define K_SIG      0x01              /* Wait for Signal   */
  15      =1  #define K_TMO      0x02              /* Wait for Timeout  */
  16      =1  #define K_IVL      0x80              /* Wait for Interval */
  17      =1  
  18      =1  /* function return values */
  19      =1  #define NOT_OK     0xFF              /* Parameter Error */
  20      =1  #define TMO_EVENT  0x08              /* Timeout Event   */
  21      =1  #define SIG_EVENT  0x04              /* Signal  Event   */
  22      =1  #define RDY_EVENT  0x80              /* Ready   Event   */
  23      =1  
  24      =1  extern unsigned char os_create_task     (unsigned char task_id);
  25      =1  extern unsigned char os_delete_task     (unsigned char task_id);
  26      =1  
  27      =1  extern unsigned char os_wait            (unsigned char typ, 
  28      =1                                           unsigned char ticks,
  29      =1                                           unsigned int dummy);
  30      =1  extern unsigned char os_wait1           (unsigned char typ);
  31      =1  extern unsigned char os_wait2           (unsigned char typ,
  32      =1                                           unsigned char ticks);
  33      =1  
  34      =1  extern unsigned char os_send_signal     (unsigned char task_id);
  35      =1  extern unsigned char os_clear_signal    (unsigned char task_id);
  36      =1  extern unsigned char isr_send_signal    (unsigned char task_id);
  37      =1  
  38      =1  extern void          os_set_ready       (unsigned char task_id);
  39      =1  extern void          isr_set_ready      (unsigned char task_id);
  40      =1  
  41      =1  extern unsigned char os_running_task_id (void);
  42      =1  extern unsigned char os_switch_task     (void); 
  43      =1  
  44      =1  extern void          os_reset_interval  (unsigned char ticks);
  45      =1  
  46      =1  #endif
   2          #include<reg51.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  REG51.H
   3      =1  
   4      =1  Header file for generic 80C51 and 80C31 microcontroller.
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
C51 COMPILER V8.02   CAOZUO                                                                04/25/2007 20:57:32 PAGE 2   

   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __REG51_H__
  10      =1  #define __REG51_H__
  11      =1  
  12      =1  /*  BYTE Register  */
  13      =1  sfr P0   = 0x80;
  14      =1  sfr P1   = 0x90;
  15      =1  sfr P2   = 0xA0;
  16      =1  sfr P3   = 0xB0;
  17      =1  sfr PSW  = 0xD0;
  18      =1  sfr ACC  = 0xE0;
  19      =1  sfr B    = 0xF0;
  20      =1  sfr SP   = 0x81;
  21      =1  sfr DPL  = 0x82;
  22      =1  sfr DPH  = 0x83;
  23      =1  sfr PCON = 0x87;
  24      =1  sfr TCON = 0x88;
  25      =1  sfr TMOD = 0x89;
  26      =1  sfr TL0  = 0x8A;
  27      =1  sfr TL1  = 0x8B;
  28      =1  sfr TH0  = 0x8C;
  29      =1  sfr TH1  = 0x8D;
  30      =1  sfr IE   = 0xA8;
  31      =1  sfr IP   = 0xB8;
  32      =1  sfr SCON = 0x98;
  33      =1  sfr SBUF = 0x99;
  34      =1  
  35      =1  
  36      =1  /*  BIT Register  */
  37      =1  /*  PSW   */
  38      =1  sbit CY   = 0xD7;
  39      =1  sbit AC   = 0xD6;
  40      =1  sbit F0   = 0xD5;
  41      =1  sbit RS1  = 0xD4;
  42      =1  sbit RS0  = 0xD3;
  43      =1  sbit OV   = 0xD2;
  44      =1  sbit P    = 0xD0;
  45      =1  
  46      =1  /*  TCON  */
  47      =1  sbit TF1  = 0x8F;
  48      =1  sbit TR1  = 0x8E;
  49      =1  sbit TF0  = 0x8D;
  50      =1  sbit TR0  = 0x8C;
  51      =1  sbit IE1  = 0x8B;
  52      =1  sbit IT1  = 0x8A;
  53      =1  sbit IE0  = 0x89;
  54      =1  sbit IT0  = 0x88;
  55      =1  
  56      =1  /*  IE   */
  57      =1  sbit EA   = 0xAF;
  58      =1  sbit ES   = 0xAC;
  59      =1  sbit ET1  = 0xAB;
  60      =1  sbit EX1  = 0xAA;
  61      =1  sbit ET0  = 0xA9;
  62      =1  sbit EX0  = 0xA8;
  63      =1  
  64      =1  /*  IP   */ 
  65      =1  sbit PS   = 0xBC;
  66      =1  sbit PT1  = 0xBB;
  67      =1  sbit PX1  = 0xBA;
  68      =1  sbit PT0  = 0xB9;
C51 COMPILER V8.02   CAOZUO                                                                04/25/2007 20:57:32 PAGE 3   

  69      =1  sbit PX0  = 0xB8;
  70      =1  
  71      =1  /*  P3  */
  72      =1  sbit RD   = 0xB7;
  73      =1  sbit WR   = 0xB6;
  74      =1  sbit T1   = 0xB5;
  75      =1  sbit T0   = 0xB4;
  76      =1  sbit INT1 = 0xB3;
  77      =1  sbit INT0 = 0xB2;
  78      =1  sbit TXD  = 0xB1;
  79      =1  sbit RXD  = 0xB0;
  80      =1  
  81      =1  /*  SCON  */
  82      =1  sbit SM0  = 0x9F;
  83      =1  sbit SM1  = 0x9E;
  84      =1  sbit SM2  = 0x9D;
  85      =1  sbit REN  = 0x9C;
  86      =1  sbit TB8  = 0x9B;
  87      =1  sbit RB8  = 0x9A;
  88      =1  sbit TI   = 0x99;
  89      =1  sbit RI   = 0x98;
  90      =1  
  91      =1  #endif
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          sbit light0=P0^0;
   6          sbit light1=P0^1;
   7          sbit light2=P0^2;
   8          sbit switch0=P1^0;
   9          
  10          int counter0;
  11          int counter1;
  12          
  13           void delay(uint k)
  14          {uchar idata j;
  15   1      unsigned int i;
  16   1      for(i=0;i<k;i++)
  17   1      for(j=0;j<255;j++);
  18   1      } 
  19          
  20          
  21          void job0 (void)_task_ 0
  22          {  os_create_task(1);
  23   1         os_create_task(2);
  24   1         while(1)
  25   1                      { counter0++;
  26   2                        light0=0;
  27   2                        if(switch0==1)
  28   2                        os_send_signal(2);//如果按下,就向任务2发送信号
  29   2                         os_wait(K_TMO,100,0);//向内核发出让出处理器的信号,将任务挂起。(处理器这时处理其他
  30   2                                                                       //任务了)参数1000是延时的tick数。到延时结束后任务就返回到处于
  31   2                                                                       //就绪的状态并可被内核调度执行了。 
  32   2                       light2=0;
  33   2                       }
  34   1      }
  35          void job1 (void)  _task_ 1
  36          {  while(1)
  37   1                      { counter1++;
  38   2                        light0=1;
  39   2                         os_wait(K_TMO,100,0);
  40   2                       }
  41   1      }  
C51 COMPILER V8.02   CAOZUO                                                                04/25/2007 20:57:32 PAGE 4   

  42          void job2 (void)_task_ 2
  43          {os_create_task(1);
  44   1       while(1)
  45   1                      { os_wait(K_SIG,0,0);//受到信号,该任务由挂起状态就绪的状态并可被内核调度执行。
  46   2                        counter0++;
  47   2                        light1=0;
  48   2                        delay(100);
  49   2                        light1=1;
  50   2                        delay(100);
  51   2                       }
  52   1       }
  53          
  54                   
C51 COMPILER V8.02   CAOZUO                                                                04/25/2007 20:57:32 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
_os_create_task. . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_os_send_signal. . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
counter0 . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0000H  2
counter1 . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0002H  2
switch0. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
light0 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0080H  1
light1 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0081H  1
light2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0082H  1
_os_wait . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
job0 . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
job1 . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
job2 . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  k. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  j. . . . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    131    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =   ----       1
   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 + -