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

📄 main.lst

📁 小型便携式温度计的源代码第三版
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  02/14/2009 15:37:25 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE MAIN.C ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include <MAIN.H>
   3          #include <RTX51TNY.H>
   4          
   5          /*******************变量定义**********************/
   6          uchar DispLED[4];//数码管显示缓冲区
   7          uchar code DispDB[15]={//字形码
   8                  0xA0,0xF9,0x92,0xD0,0xC9,0xC4,0x84,0xF1,//0,1,2,3,4,5,6,7
   9                  0x80,0xC0,0xDF,0xD9,0x87,0x81,0xAE};//8,9,-,-1,F,A,L
  10          uchar code DispCon[4]={0xFB,0xF7,0xEF,0xDF};//段位控制码
  11          uchar code DayStr[]=__DATE__;
  12          uchar code TimeStr[]=__TIME__;
  13          uchar Temp[2];//原始温度数据
  14          uchar flag_LED;//数码管显示段位标志
  15          uchar flag;
  16          
  17          /****************外部函数声明*************************/
  18          extern void Temperature_change(void);
  19          extern void init_1820(void);
  20          extern void mDelay(uint num);
  21          
  22          /********************常量定义*************************/
  23          #define start 0
  24          #define DS18B20 2
  25          #define LED 3
  26          #define Conter 1
  27          
  28          /********************程序开始*************************/
  29          void START(void) _task_ start
  30          {
  31   1              os_create_task(DS18B20);
  32   1              os_create_task(LED);
  33   1              os_create_task(Conter);
  34   1              os_delete_task(start);
  35   1      }
  36          
  37          void DS1820(void) _task_ DS18B20
  38          {
  39   1          while(1)
  40   1          {
  41   2                      Temperature_change();
  42   2                      init_1820();
  43   2                      os_send_signal(Conter);
  44   2                      os_wait(K_TMO,10,0);
  45   2              }
  46   1      }
  47          
  48          void DISP(void) _task_ LED
  49          {
  50   1              while (1)
  51   1          {
  52   2                      P3|=0x3C;//关闭显示
  53   2                      P1=DispDB[DispLED[flag_LED]];
  54   2                      switch(flag_LED)
  55   2                      {
C51 COMPILER V8.08   MAIN                                                                  02/14/2009 15:37:25 PAGE 2   

  56   3                              case 0:
  57   3                                      if(DispLED[0]==0)//首位0消隐
  58   3                                      {
  59   4                                              P3&=0xFF;//关闭显示
  60   4                                      }
  61   3                                      else
  62   3                                      {
  63   4                                              P3&=0xFB;
  64   4                                      }
  65   3                                      flag_LED+=1;
  66   3                                      break;
  67   3                              case 1:
  68   3                                      if((DispLED[0]==0) && (DispLED[1]==0))//次位0消隐
  69   3                                      {
  70   4                                              P3&=0xFF;//关闭显示
  71   4                                      }
  72   3                                      else
  73   3                                      {
  74   4                                              P3&=0xF7;
  75   4                                      }
  76   3                                      flag_LED+=1;
  77   3                                      break;
  78   3                              case 2:
  79   3                                      P3&=0xEF;
  80   3                                      flag_LED+=1;
  81   3                                      break;
  82   3                              case 3:
  83   3                                      P3&=0xDF;
  84   3                                      flag_LED=0;
  85   3                                      break;
  86   3                      }
  87   2                      mDelay(2);
  88   2          }
  89   1      }
  90          
  91          void stop(void) _task_ Conter
  92          {
  93   1              static uchar stop_num;//停止计数器
  94   1              while(1)
  95   1              {
  96   2                      stop_num++;
  97   2                      if(stop_num>=12)
  98   2                      {
  99   3                              P3=0XFF;
 100   3                              PCON=STOP_;
 101   3                      }
 102   2                      os_wait(K_SIG,0,0);
 103   2              }
 104   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    139    ----
   CONSTANT SIZE    =     40    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   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 + -