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

📄 main.lst

📁 Easy51RTOS应用Easy51RTOS应用
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  04/23/2007 09:34:34 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN E:\TEMP\main.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND OBJECT(E:\TEMP\main.obj)

line level    source

   1          #include "os_cfg.h"      //Easy51RTOS操作系统头文件
   2          #include "51board.h" //51板硬件接口定义头文件
   3          #include "ds18b20.h" //51板标配温度传感器头文件
   4          #include "51bdlcd.h" //51板LCD函数
   5          #include "51bdkey.h" //51板4X4矩阵键盘函数
   6          #include "functns.h" //常用一些功能函数
   7          #include "24CxxWR.h" //串行存储读写头文件
   8          
   9          
  10          #define Taskturn P16 = ~P16
  11          
  12          uchar Temp_Str[16]="     ";
  13          uchar Key_Str[16]="                "; //16位空格是必须的
  14          bit key_flag; 
  15          uchar counter1;
  16          
  17          
  18          //任务0:测温度送显
  19          void task0(void)
  20          {       
  21   1       uint tmp;
  22   1       tmp=ReadTemperature();
  23   1       Int_to_Str(tmp,Temp_Str);
  24   1       Add_Dot(3,5, Temp_Str);
  25   1       LCD_w_data(1,1,"Home Temp:");  
  26   1       LCD_w_data(1,11,Temp_Str);  
  27   1      }
  28          
  29          //任务1:键盘扫描,LCD显示 
  30          void task1(void)
  31          {
  32   1       uchar key_num,j; 
  33   1      
  34   1      
  35   1       key_num = Key_Scan();  
  36   1       if ((key_num != 0xff) & key_flag )
  37   1       {
  38   2         key_flag=0;   
  39   2         for(j=0;j<16;j++) Key_Str[j]=Key_Str[j+1];
  40   2         Key_Str[15]=key_num;
  41   2         Write24C16(0x0, Key_Str,16);//往24C16里写入字符串
  42   2         //LCD_w_data(2,1,Key_Str);
  43   2       }
  44   1       else if (key_num == 0xff) key_flag = 1;  
  45   1      }
  46          
  47          //任务2
  48          void task2()
  49          {  
  50   1        uchar Disp_Str[17]="                ";
  51   1        Read24C16(0x0, Disp_Str,16); //从24C16里读出字符串
  52   1        Disp_Str[16]='\0';
  53   1        LCD_w_data(2,1,Disp_Str);    //显示读出的字符串,验证是否正确
  54   1      }
  55          
C51 COMPILER V8.02   MAIN                                                                  04/23/2007 09:34:34 PAGE 2   

  56          //任务3
  57          void task3()
  58          {
  59   1        P1=In_P0; 
  60   1      }
  61          
  62          //任务4
  63          void task4(void)
  64          {       
  65   1        counter1++;
  66   1        Out_P0 = counter1;
  67   1        Out_P1 = counter1;
  68   1        Out_P2 = counter1;
  69   1        Out_P3 = counter1;  
  70   1      }
  71          
  72          //任务5 
  73          void task5(void)
  74          {
  75   1      
  76   1      }
  77          
  78          //任务6 
  79          void task6()
  80          {
  81   1      
  82   1      }
  83          
  84          //任务7
  85          void task7()
  86          {
  87   1      }
  88          
  89          //main主函数
  90          void main(void)
  91          {                
  92   1       OS_InitTimer0();
  93   1       EA=1;
  94   1       LCD_Init();
  95   1       LCD_w_data(1,1,Temp_Str);
  96   1       LCD_w_data(2,1,Key_Str);
  97   1      
  98   1       while(1)
  99   1       {
 100   2        if (OS_Delay[0]==0){task0();OS_Delay[0]=100;} //温度测量,每秒1次
 101   2        if (OS_Delay[1]==0){task1();OS_Delay[1]=10;}  //键盘扫描,键值存储
 102   2        if (OS_Delay[2]==0){task2();OS_Delay[2]=100;} //读出存储的键值,LCD显示 
 103   2        if (OS_Delay[3]==0){task3();OS_Delay[3]=50;}  
 104   2        if (OS_Delay[4]==0){task4();OS_Delay[4]=100;}
 105   2        if (OS_Delay[5]==0){task5();OS_Delay[5]=60;}
 106   2        if (OS_Delay[6]==0){task6();OS_Delay[6]=70;}  
 107   2        if (OS_Delay[7]==0){task7();OS_Delay[7]=80;}
 108   2        Delay(50);
 109   2        //Taskturn;
 110   2       }
 111   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1338    ----
   CONSTANT SIZE    =     28    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V8.02   MAIN                                                                  04/23/2007 09:34:34 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =     49      64
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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