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

📄 test.lst

📁 让Keil 的 RTX51 运行在 P89C669 让Keil 的 RTX51 运行在 P89C669
💻 LST
字号:
CX51 COMPILER V8.01   TEST                                                                 11/28/2005 14:44:50 PAGE 1   


CX51 COMPILER V8.01, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN .\Keil\test.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\CX51.EXE test.c ROM(HUGE) BROWSE DEBUG PRINT(.\Keil\test.lst) OBJECT(.\Keil\test.ob
                    -j)

line level    source

   1          #include <rtx51tny.h>
   2          #include <reg669.h>
   3          #include <intrins.h>
   4          #define TASK_INIT               0                                       /* 初始化任务(包括超时处理和脉冲、遥信采样)     */
   5          #define TASK_CLOCK              1                                       /* 时钟秒任务                   */
   6          #define TASK_I2C                2                                       /* I2C通信、计算、控制任务  */
   7          #define TASK_FK2004             3
   8          
   9          #define TASK_SPI                4                                       /* SPI总线处理任务              */
  10          
  11          struct task_def{
  12          void (*taskfunc)(void);         // 任务函数地址
  13          };
  14          
  15          void task_init (void);
  16          void task_clock (void);
  17          void task_i2c (void);
  18          void task_fk2004 (void);
  19          void task_spi (void);
  20          struct task_def const far TASK_ENTRY[]={
  21                  {*task_init},
  22                  {*task_clock},
  23                  {*task_i2c},
  24                  {*task_fk2004},
  25                  {*task_spi}
  26          };
  27          unsigned long far sz = TASK_ENTRY;      /* 消除告警 */
  28          void task_clock (void)          /* 任务1: */
  29          {       
  30   1              while(1) {
  31   2              os_wait(K_TMO,100,0);
  32   2              T2 = ~T2;               /* 此处T2连接到一灯,用来监视程序的运行 
  33   2                                                 正常运行时 T2 每秒变换一次
  34   2                                                 显示在 板子上的 L21
  35   2                                              */
  36   2              }
  37   1      }
  38          void task_i2c (void)            /* 任务2: */
  39          {       while(1) os_wait(K_TMO,10,0);
  40   1      }
  41          void task_fk2004 (void)         /* 任务3: */
  42          {       while(1) os_wait(K_SIG,10,0);
  43   1      }
  44          void task_spi (void)            /* 任务4: */
  45          {       while(1) os_wait(K_TMO,10,0);
  46   1      }
  47          /* 以下三个中断:仅仅在此定义并未让其执行 
  48             仿真时不正常,若去掉则正常
  49          */
  50          void serial(void) interrupt 4           //UART0
  51          {
  52   1      
  53   1      }
  54          void serial1(void) interrupt 10         //UART1
CX51 COMPILER V8.01   TEST                                                                 11/28/2005 14:44:50 PAGE 2   

  55          {
  56   1      
  57   1      }
  58          void i2c_isr(void) interrupt 11         //I2C
  59          {       
  60   1      }
  61          /* 我的程序中用到 Keil 的 RTX TINY51 Ver2
  62             针对89C669我做了一些改动,我在模拟仿真时操作系统运行正常
  63                  
  64          */
  65          void task_init()
  66          {       if(0){
  67   2              // ENABLE UART0
  68   2              SCON  = 0x50;                           /* mode 1: 8-bit UART, enable receiver  */
  69   2              TMOD |= 0x20;                           /* timer 1 mode 2: 8-Bit reload         */
  70   2              TH1   = 0xfd;
  71   2              TR1 = 1;
  72   2              ES0 = 1;
  73   2              // ENABLE UART1
  74   2              S1STAT = 0x00;
  75   2              S1CON = 0x00;
  76   2              REN_1 = 1;
  77   2              SM0_1 = 1;
  78   2              SM1_1 = 0;
  79   2              BRGCON = 0x00;
  80   2              BRGR1 = 0x10;
  81   2              BRGR0 = 0x10;
  82   2              BRGCON = 0x01;
  83   2              ES1R = 1;
  84   2              
  85   2          // ENABLE I2C
  86   2              EI2C = 1;                               // disable I2C interrupts
  87   2      
  88   2              EA = 1;
  89   2              }
  90   1              
  91   1              os_create_task (TASK_CLOCK);                    /* 启动时钟任务           */
  92   1              
  93   1              os_create_task (TASK_I2C);                              /* 启动20毫秒(脉冲采样\I2C通信)任务*/
  94   1      
  95   1              os_create_task (TASK_FK2004);                   /* 启动负控规约解释任务           */
  96   1      
  97   1              os_create_task (TASK_SPI);                              /* 轮次控制任务                   */
  98   1              while(1) os_wait(K_TMO,2,0);    
  99   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    118    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =      4    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =     15    ----
END OF MODULE INFORMATION.


CX51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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