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

📄 ex1.lst

📁 ucos2 程序代码!!!!!可用与51单片机
💻 LST
字号:
C51 COMPILER V7.06   EX1                                                                   03/22/2009 22:08:37 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE EX1
OBJECT MODULE PLACED IN ex1.obj
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE Ex1_Keil\ex1.c BROWSE DEBUG OBJECTEXTEND PRINT(.\ex1.lst) OBJECT(ex1.obj)

stmt level    source

   1          #include "..\uc_os_II\includes.h"
   2          #include<reg51.h>
   3          #define uchar unsigned char
   4          #define uint  unsigned int
   5          /*TS12864A-3 端口定义*/
   6          #define LCD_data  P0             //数据口
   7          sbit LCD_RS  =  P3^5;            //寄存器选择输入 
   8          sbit LCD_RW  =  P3^6;            //液晶读/写控制
   9          sbit LCD_EN  =  P3^4;            //液晶使能控制
  10          sbit LCD_PSB =  P3^7;            //串/并方式控制
  11          sbit wela    =  P2^6;
  12          sbit dula    =  P2^7;
  13          uchar code dis[] = {"正在进入UCOS"};
  14          uchar code dis0[] = {"请稍候..."};
  15          uchar code dis1[] = {"任务一 (时间)"};
  16          uchar code dis2[] = {"小时  分钟  秒"};
  17          uchar code dis22[] = {"马上切换"};
  18          uchar code dis3[] = {"任务二(网站)"};
  19          uchar code dis4[] = {"WWW.UESTC.com "};
  20          uchar code dis5[] = {"WWW.BAIDU.com "};
  21          uchar code dis55[] = {"马上切换"};
  22          //uchar count,flag;
  23          #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
  24          uchar IRDIS[2];
  25          uchar IRCOM[4];
  26          void delay0(uchar x);  //x*0.14MS
  27          void beep();
  28          void  dataconv();
  29          void lcd_pos(uchar X,uchar Y);  //确定显示位置
  30          OS_STK xdata Task1Stack[CPU_MAX_STK_SIZE];
  31          OS_STK xdata Task2Stack[CPU_MAX_STK_SIZE];
  32          
  33          
  34          
  35          
  36          void Task1(void xdata * ppdata) reentrant
  37          {
  38   1              uchar i,j,hour0=0x30,hour1=0x30,min0=0x30,min1=0x30,sec0=0x30,sec1=0x30;
  39   1              ppdata = ppdata;
  40   1              while(1)
  41   1              {
  42   2                      OSTimeDlyHMSM(0, 0, 3, 50);
  43   2                       wela=0;
  44   2                      dula=0; 
  45   2                      P1=0X00;
  46   2                  lcd_init();                //初始化LCD             
  47   2                
  48   2                  lcd_pos(0,0);             //设置显示位置为第一行的第1个字符
  49   2                   i = 0;
  50   2                  while(dis1[i] != '\0')
  51   2                   {                         //显示字符
  52   3                     lcd_wdat(dis1[i]);
  53   3                     i++;
  54   3                   }
  55   2                  lcd_pos(1,0);             //设置显示位置为第二行的第1个字符
C51 COMPILER V7.06   EX1                                                                   03/22/2009 22:08:37 PAGE 2   

  56   2                   i = 0;
  57   2                  while(dis2[i] != '\0')
  58   2                   {
  59   3                     lcd_wdat(dis2[i]);      //显示字符
  60   3                     i++;
  61   3                   }
  62   2                      lcd_pos(2,0); 
  63   2                      lcd_wdat(0x20);
  64   2                      lcd_wdat(hour0);      //显示字符
  65   2                      lcd_wdat(hour1);
  66   2                      lcd_wdat(0x20);  
  67   2                      lcd_wdat(0x20);
  68   2                      lcd_wdat(0x20); 
  69   2                      lcd_wdat(0x20);
  70   2                      lcd_wdat(min0);     
  71   2                      lcd_wdat(min1);
  72   2                      lcd_wdat(0x20);         
  73   2                      lcd_wdat(0x20);         
  74   2                      lcd_wdat(0x20);         
  75   2                      lcd_wdat(sec0); 
  76   2                      lcd_wdat(sec1); 
  77   2                      lcd_pos(3,0);             //设置显示位置为第二行的第1个字符
  78   2                   i = 0;
  79   2                  while(dis22[i] != '\0')
  80   2                   {
  81   3                     lcd_wdat(dis22[i]);      //显示字符
  82   3                     i++;
  83   3                   }
  84   2      /*              for(j=0;j<30;j++)
  85   2                                      if(flag==1)
  86   2                                              {
  87   2                                              flag=0;
  88   2                                              sec1++;
  89   2                                              if(sec1==10)    
  90   2                                                      {
  91   2                                                              sec1=0;sec0++;
  92   2                                                      }
  93   2                                              if(sec0==10)
  94   2                                                      {
  95   2                                                              sec0=0;min1++;
  96   2                                                      }
  97   2                                              if(min1==10)
  98   2                                                      {
  99   2                                                              min1=0;min0++;
 100   2                                                      }
 101   2                                              lcd_pos(2,0); 
 102   2                                              lcd_wdat(0x20);
 103   2                                              lcd_wdat(hour0);      //显示字符
 104   2                                              lcd_wdat(hour1);
 105   2                                              lcd_wdat(0x20);  
 106   2                                              lcd_wdat(0x20);
 107   2                                              lcd_wdat(0x20); 
 108   2                                              lcd_wdat(0x20);
 109   2                                              lcd_wdat(min0);     
 110   2                                              lcd_wdat(min1);
 111   2                                              lcd_wdat(0x20);         
 112   2                                              lcd_wdat(0x20);         
 113   2                                              lcd_wdat(0x20);         
 114   2                                              lcd_wdat(sec0); 
 115   2                                              lcd_wdat(sec1); 
 116   2                                              delay(10);
 117   2                                      }*/
C51 COMPILER V7.06   EX1                                                                   03/22/2009 22:08:37 PAGE 3   

 118   2      
 119   2              }
 120   1      }
*** WARNING C280 IN LINE 38 OF EX1_KEIL\EX1.C: 'j': unreferenced local variable
 121          
 122          void Task2(void xdata * ppdata) reentrant
 123          {
 124   1              uchar i;
 125   1              ppdata = ppdata;
 126   1              while(1)
 127   1              {
 128   2                      
 129   2                      OSTimeDlyHMSM(0, 0, 4, 0);
 130   2                      lcd_init();                //初始化LCD         
 131   2                      P1=0XFF;
 132   2                       wela=0;
 133   2                      dula=0;                               
 134   2                       lcd_pos(0,0);             //设置显示位置为第三行的第1个字符
 135   2                   i = 0;
 136   2                  while(dis3[i] != '\0')
 137   2                   {
 138   3                     lcd_wdat(dis3[i]);      //显示字符
 139   3                     i++;
 140   3                   }
 141   2                       lcd_pos(1,0);             //设置显示位置为第四行的第1个字符
 142   2                   i = 0;
 143   2                  while(dis4[i] != '\0')
 144   2                   {
 145   3                     lcd_wdat(dis4[i]);      //显示字符
 146   3                     i++;
 147   3                   }
 148   2                              lcd_pos(2,0);             //设置显示位置为第四行的第1个字符
 149   2                        i = 0;
 150   2                  while(dis5[i] != '\0')
 151   2                   {
 152   3                     lcd_wdat(dis5[i]);      //显示字符
 153   3                     i++;
 154   3                   }
 155   2                      lcd_pos(3,0);             //设置显示位置为第二行的第1个字符
 156   2                   i = 0;
 157   2                  while(dis55[i] != '\0')
 158   2                   {
 159   3                     lcd_wdat(dis55[i]);      //显示字符
 160   3                     i++;
 161   3                   }
 162   2              }
 163   1      }
 164          
 165          void InterruptInitial()
 166          {
 167   1              /* set timer. 50ms, THTL = 3caf when cpu at 11.0592MHz */
 168   1      
 169   1              TMOD |= 0x11;
 170   1              TH0 = 0xB8;
 171   1              TL0 = 0x00;
 172   1              /* TR0 is set in OSStart() */
 173   1              ET0 = 1;
 174   1      /*      TH1 = 0x4C;
 175   1              TL1 = 0x00;
 176   1              ET1 = 1;
 177   1              TR1 = 1;        
 178   1              count=0;*/
C51 COMPILER V7.06   EX1                                                                   03/22/2009 22:08:37 PAGE 4   

 179   1      }
 180          void main()
 181          {
 182   1                      uchar i;
 183   1                      P1=0xF0;
 184   1                  wela=0;
 185   1                      dula=0; 
 186   1                      InterruptInitial();
 187   1                       lcd_init();                //初始化LCD             
 188   1                
 189   1                  lcd_pos(0,0);             //设置显示位置为第一行的第1个字符
 190   1                   i = 0;
 191   1                  while(dis[i] != '\0')
 192   1                   {                         //显示字符
 193   2                     lcd_wdat(dis[i]);
 194   2                     i++;
 195   2                   }
 196   1                       lcd_pos(1,0);             //设置显示位置为第二行的第1个字符
 197   1                   i = 0;
 198   1                  while(dis0[i] != '\0')
 199   1                   {
 200   2                     lcd_wdat(dis0[i]);      //显示字符
 201   2                     i++;
 202   2                   }
 203   1      
 204   1                OSInit();
 205   1      
 206   1               OSTaskCreate(Task1, (void xdata *)0, &Task1Stack[0],2);
 207   1               OSTaskCreate(Task2, (void xdata *)0, &Task2Stack[0],3);
 208   1                      
 209   1      OSStart();
 210   1      }
 211          
 212          /*
 213          void inter(void) interrupt 3 
 214          {
 215                  TH1 = 0x4C;
 216                  TL1 = 0x00;
 217                  count++;
 218                  if(count==20)
 219                          {
 220                                  count=0;
 221                                  flag=1; 
 222                          }
 223          }*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    600    ----
   CONSTANT SIZE    =    115    ----
   XDATA SIZE       =    180    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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