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

📄 ex1.lst

📁 ucosii移植到C8051F023上的源代码。 有三个任务
💻 LST
字号:
C51 COMPILER V8.05a   EX1                                                                  03/02/2007 11:12:45 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE EX1
OBJECT MODULE PLACED IN ex1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ex1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "..\uc_os_II\includes.h"
   2          
   3          OS_STK xdata Task1Stack[CPU_MAX_STK_SIZE];
   4          OS_STK xdata Task2Stack[CPU_MAX_STK_SIZE];
   5          OS_STK xdata Task3Stack[CPU_MAX_STK_SIZE];
   6          
   7          
   8          void Task1(void xdata * ppdata) reentrant
   9          {
  10   1              ppdata = ppdata;
  11   1              while(1)
  12   1              {
  13   2                      OSTimeDlyHMSM(0, 0, 2, 0);
  14   2                      printf("\n\n\n\n\n");
  15   2                      printf("\n这里是任务1 的输出!!!!!!");
  16   2                      printf("\n-------------------------------");
  17   2                      printf("\n恭喜发财!!!");
  18   2                      printf("\nuC/OS II 正在运行");
  19   2                      printf("\nuC/OS II 源码开放的嵌入式实时操作系统");
  20   2              }
  21   1      }
  22          
  23          void Task2(void xdata * ppdata) reentrant
  24          {
  25   1              ppdata = ppdata;
  26   1              while(1)
  27   1              {
  28   2                      OSTimeDlyHMSM(0, 0, 8, 0);
  29   2                      printf("\n\n\n\n\n");
  30   2                      printf("\n这里是任务2 的输出!!!!!!");
  31   2                      printf("\n-------------------------------");
  32   2                      printf("\n");
  33   2                      printf("本工程移植时间:");
  34   2                      printf(__DATE__);
  35   2                      printf(" ");
  36   2                      printf(__TIME__);
  37   2              }
  38   1      }
  39          
  40          void Task3(void xdata * ppdata) reentrant
  41          {
  42   1              ppdata = ppdata;
  43   1              while(1)
  44   1              {
  45   2                      OSTimeDlyHMSM(0, 0, 16, 0);
  46   2                      printf("\n\n\n\n\n");
  47   2                      printf("\n这里是任务3 的输出!!!!!!");
  48   2                      printf("\n-------------------------------");
  49   2                      printf("\n高时兵");
  50   2                      printf("\nceeback@qq.com");
  51   2                      printf("\n福建泉州铁通电子设备有限公司");
  52   2              }
  53   1      }
  54          
  55          void SerialInitial()
C51 COMPILER V8.05a   EX1                                                                  03/02/2007 11:12:45 PAGE 2   

  56          {
  57   1              /* set TI to 1, set TR1 to 1 */
  58   1              SCON = 0x52;/* SM0 SM1 =1 SM2 REN TB8 RB8 TI RI */
  59   1              TMOD = 0x20;/* GATE=0 C/T-=0 M1 M0=2 GATE C/T- M1 M0 */
  60   1              TH1 = 0xfd;     /* 19200*/
  61   1              PCON = 0x80;    // 38400
  62   1              TCON = 0x40;/* 01101001 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT */
  63   1      }
  64          
  65          void InterruptInitial()
  66          {
  67   1              /* set timer. 50ms, THTL = 3caf when cpu at 12MHz */
  68   1              TMOD |= 0x01;
  69   1              TH0 = 0x70;
  70   1              TL0 = 0x00;
  71   1              /* TR0 is set in OSStart() */
  72   1              ET0 = 1;
  73   1      }
  74          
  75          sfr WDTCN    =   0xFF;  
  76          sfr CKCON    =   0x8E;
  77          sfr EMI0CF   =  0xA3;
  78          sfr XBR0     =  0xE1;
  79          sfr XBR2     =  0xE3;
  80          sfr OSCXCN   =  0xB1;
  81          sfr OSCICN   =  0xB2;
  82          
  83          
  84          void initial_cpu(void)
  85          {
  86   1              unsigned int idata i = 0;
  87   1      //Reset_Sources_Init()
  88   1      //      EA = 0;
  89   1              WDTCN     =     0xDE;
  90   1              WDTCN     =     0xAD;
  91   1      //      EA = 1;
  92   1              //RSTSRC        = 0x02; 
  93   1      
  94   1      //Timer_Init()                  // T0 为系统计时,10     ms 中断一次     
  95   1              CKCON     =     0x00;   // T0 使用的是系统时钟的 12     分频,其计数每 1 约为 0.5425     us.     
  96   1              TMOD      =     0x21;
  97   1              TH0               =     0xB8;   // T0:10 ms     中断一次
  98   1              TH1               =     0xFa;
  99   1              TCON      =     0x50;   //启动定时器.
 100   1      /*      T2CON     =     0x34;
 101   1              RCAP2L    =     0xB8;
 102   1              RCAP2H    =     0xFF;
 103   1              //TMR3CN          =     0x04;   // T3:  us 中断一次,用于 DAC 输出,其中断标志必须手动清 0
 104   1              TMR3H     =     0xff;
 105   1              TMR3RLH   =     0xff;   // T3 总是16 位自动重载方式
 106   1              TMR3RLL   =     0xf4;   
 107   1      */
 108   1      //UART_Init()
 109   1              //PCON    =     0x80;
 110   1              SCON      =     0x50;
 111   1              //SCON1   =     0x50;
 112   1      
 113   1      //EMI_Init()
 114   1              EMI0CF    =     0x07;
 115   1      
 116   1      
 117   1      
C51 COMPILER V8.05a   EX1                                                                  03/02/2007 11:12:45 PAGE 3   

 118   1              //P0MDOUT         =     0x50;   // /RD,/CWR,/INT0,A11 设置为推挽输出方式.
 119   1              //P2MDOUT         =     0x01;
 120   1              //P2MDOUT         =     0x08;
 121   1              XBR0      =     0x04;
 122   1              //XBR1    =     0x04;
 123   1              XBR2      =     0x46;
 124   1      
 125   1      //Oscillator_Init()     
 126   1              OSCXCN    =     0x67;
 127   1              for     (i = 0; i <     5000; i++);      //     Wait 1ms for initialization     
 128   1              while ((OSCXCN & 0x80) == 0);
 129   1              OSCICN    =     0x08;
 130   1      }
 131          
 132          main()
 133          {
 134   1              initial_cpu();
 135   1              SerialInitial();
 136   1              InterruptInitial();
 137   1          OSInit();
 138   1          printf("\nstart");
 139   1          OSTaskCreate(Task1, (void xdata *)0, &Task1Stack[0],2);
 140   1              OSTaskCreate(Task2, (void xdata *)0, &Task2Stack[0],3);
 141   1              OSTaskCreate(Task3, (void xdata *)0, &Task3Stack[0],4);
 142   1          OSStart();
 143   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    498    ----
   CONSTANT SIZE    =    290    ----
   XDATA SIZE       =    192    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----       2
   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 + -