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

📄 yy.lst

📁 找了很久,这里的C8051F020的UCOS移植.020没有SFRPAGE. KEIL下的C8051F040的UCOS的源代码,用YY的改写的,增加了对页寄存器SFRPAGE和PSBANK寄存器的保
💻 LST
字号:
C51 COMPILER V8.08   YY                                                                    03/20/2008 12:09:20 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE YY
OBJECT MODULE PLACED IN yy.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE yy.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <includes.h>
   2          #include "key7279.h"
   3          void TaskStartyya(void *yydata) reentrant;
   4          void TaskStartyyb(void *yydata) reentrant;
   5          void TaskStartyyc(void *yydata) reentrant;
   6          void TaskStartyyd(void *yydata) reentrant;
   7          void config();
   8          OS_STK TaskStartStkyya[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
   9          OS_STK TaskStartStkyyb[MaxStkSize];
  10          OS_STK TaskStartStkyyc[MaxStkSize];
  11          OS_STK TaskStartStkyyd[MaxStkSize];
  12          extern uchar ab[8];
  13          
  14          OS_EVENT *CommMbox,*sem,*qbox;
  15          void *Commsg[4] ;
  16          
  17          void config()
  18          {//看门狗禁止   
  19   1       WDTCN=0x07;
  20   1       WDTCN=0xde;
  21   1       WDTCN=0xad;                                                     
  22   1       SFRPAGE=0x0f;                                      
  23   1      
  24   1      //交叉开关使能,但没有进行外围设备配置           
  25   1       XBR0=0x00;      //IIC配置到引脚 
  26   1                               //SPI配置到引脚  三线四线由SPI寄存器决定 
  27   1       XBR1=0x00;//INT0和INT1配置到管脚       
  28   1                              //xbrP1.7置位输出系统时钟频率 
  29   1       XBR3=0x00;                                                                                             
  30   1       XBR2=0x42;//不将P0.5 P0.6 P0.7 分配到管脚              
  31   1                              //将T4分配到引脚,输出方波  
  32   1       //XBR2=0x41;            //ADC0引脚连接到端口     
  33   1      
  34   1      //引脚输出配置                                                                    
  35   1      SFRPAGE=0x0f;
  36   1      P0MDOUT  = 0xff; //sclk和NSS为开漏输出 ,MOSI为主输出      
  37   1      P1MDOUT  = 0xff;
  38   1      P2MDOUT  = 0xff;
  39   1      P3MDOUT  = 0xff;
  40   1      P5MDOUT  = 0xff;                       // P5口设为推挽方式          
  41   1      //P5MDOUT  = 0xf8; 
  42   1      P6MDOUT  = 0x00;
  43   1      P7MDOUT  = 0xff;
  44   1      P3MDIN   = 0xff;
  45   1      //晶振配置,采用内部晶振 内部晶振是24.5M                    
  46   1      SFRPAGE=0x0f;
  47   1      CLKSEL =0x00;
  48   1      OSCXCN =0x00;
  49   1      OSCICN =0x83;
  50   1      }
  51            
  52          void main(void)
  53          {
  54   1              config();
  55   1          OSInit();    
C51 COMPILER V8.08   YY                                                                    03/20/2008 12:09:20 PAGE 2   

  56   1          InitTimer0();
  57   1         
  58   1          OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],2);
  59   1          OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],3);
  60   1          OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],4);    
  61   1          OSTaskCreate(TaskStartyyd, (void *)0, &TaskStartStkyyd[0],5);
  62   1      
  63   1              CommMbox        =   OSMboxCreate((void *)0);
  64   1              qbox            =       OSQCreate(&Commsg[0],4);
  65   1              sem                     =       OSSemCreate(1);
  66   1      
  67   1          OSStart();
  68   1      }
  69          
  70          
  71          void TaskStartyya(void *yydata) reentrant
  72          {       INT8U err;
  73   1              INT8U  *msg;
  74   1          yydata=yydata;
  75   1              qp7279(ab);
  76   1          for(;;){
  77   2                      msg=OSQPend(qbox,0,&err);
  78   2                      if(err==OS_NO_ERR)
  79   2                      { 
  80   3                      displ(ab,*msg);
  81   3                      play7279(ab);
  82   3                      }
  83   2                      else
  84   2                      { 
  85   3                      displ(ab,0);
  86   3                      play7279(ab);
  87   3                      }
  88   2      
  89   2          }    
  90   1      }
  91          void TaskStartyyb(void *yydata) reentrant
  92          {       INT8U err;
  93   1              INT8U  *msg;
  94   1          yydata=yydata;
  95   1          for(;;){
  96   2                      msg=OSMboxPend(CommMbox,0,&err);
  97   2                      if(err==OS_NO_ERR)
  98   2                      { 
  99   3                      displ(ab,*msg);
 100   3                      play7279(ab);
 101   3                      }
 102   2                      else
 103   2                      { 
 104   3                      displ(ab,0);
 105   3                      play7279(ab);
 106   3                      }          
 107   2          }      
 108   1      }
 109          void TaskStartyyc(void *yydata) reentrant
 110          {       INT8U err;
 111   1          yydata=yydata;
 112   1          for(;;){
 113   2                      OSSemPend(sem,0,&err);
 114   2                      if(err==OS_NO_ERR)
 115   2                      { 
 116   3                      displ(ab,3);
 117   3                      play7279(ab);
C51 COMPILER V8.08   YY                                                                    03/20/2008 12:09:20 PAGE 3   

 118   3                      }
 119   2                      else
 120   2                      { 
 121   3                      displ(ab,0);
 122   3                      play7279(ab);
 123   3                      }          
 124   2          }  
 125   1      }
 126          void TaskStartyyd(void *yydata) reentrant
 127          {       INT8U err;
 128   1              INT8U   youxia=0x02,yx=0x07;
 129   1          yydata=yydata;
 130   1          for(;;){
 131   2      //              err=OSQPostFront(qbox,(void *)&yx);
 132   2                      err=OSQPost(qbox,(void *)&yx);
 133   2      
 134   2                      OSTimeDly(OS_TICKS_PER_SEC);
 135   2      
 136   2                      err=OSMboxPost(CommMbox,(void *)&youxia) ;
 137   2      
 138   2                      OSTimeDly(OS_TICKS_PER_SEC*2);  
 139   2      
 140   2                      err=OSSemPost(sem);
 141   2      
 142   2                      OSTimeDly(OS_TICKS_PER_SEC*3);                    
 143   2      //              youxia++;if(youxia==10)youxia=1;
 144   2      //              yx--; if(yx==0) yx=9;
 145   2          }      
 146   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1076    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    421    ----
   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 + -