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

📄 main.lst

📁 电热壶烧水程序C51代码
💻 LST
字号:
C51 COMPILER V7.01  MAIN                                                                   06/12/2004 20:53:07 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //**********************************************************************
   2          //功能          : 电热壶烧水程序
   3          //作者          : lihj
   4          //创建日期      : 2004-06-12
   5          //版本          : V1.0
   6          //修改记录      :
   7          //***********************************************************************
   8          #include "REG51.h"
   9          
  10          //系统参数配置
  11          #define  DELTA_T                        -20                                             //沸点偏移量
  12          #define  T_UNIT                         10                                              //温度单位,10表示1摄氏度
  13          #define  BOIL_POINT                     1000                                    //1标准大气压下的沸点
  14          #define  ON                                     1                                               //打开电源或者电源处于开状态
  15          #define  OFF                            0                                               //关闭电源或者电源处于关状态
  16          
  17          //硬件配置
  18          sbit  POWER_CONTROL=P1^0;                                                       //P1.0口控制电源通断
  19          
  20          //外部函数声明
  21          int  GetTemperature(void);                                                      //获取当前温度值
  22          
  23          //内部函数声明
  24          void ControlPwr(unsigned char);                                         //控制电源通断
  25          unsigned char ReadPwrStatus(void);                                      //读取当前电源状态
  26          
  27          //主程序
  28          void main(void)
  29          {
  30   1              int i;
  31   1              int t;                                                                                  //测量得到的当前水温
  32   1      
  33   1              while(1)
  34   1              {
  35   2                      t = DELTA_T+GetTemperature();                           //获取当前测量温度
  36   2                      if(t >= BOIL_POINT + DELTA_T)                           //水已沸腾
  37   2                      {
  38   3                              if(ReadPwrStatus() == OFF)                              //电源已经关闭
  39   3                              {
  40   4                                      break;                                                          //跳出while循环
  41   4                              }
  42   3                              else
  43   3                              {
  44   4                                      ControlPwr(OFF);                                        //关闭电源
  45   4                                      break;                                                          //跳出while循环
  46   4                              }
  47   3                      }
  48   2                      else                                                                            //水还没有开
  49   2                      {
  50   3                              if(ReadPwrStatus() == OFF)                              //电源还没有开
  51   3                              {
  52   4                                      ControlPwr(ON);                                         //打开电源
  53   4                              }
  54   3                              
  55   3                              for(i=0; i<20000; i++);                                 //等待一段时间后开始下一周期
C51 COMPILER V7.01  MAIN                                                                   06/12/2004 20:53:07 PAGE 2   

  56   3                      }
  57   2              }
  58   1      
  59   1              //完成烧水过程
  60   1              while(1);                                                                               //待机
  61   1      }
  62          
  63          //获取当前水温
  64          int  GetTemperature(void)
  65          {
  66   1              return(800);
  67   1      }
  68          
  69          //控制电源通断
  70          void ControlPwr(unsigned char status)
  71          {
  72   1              if(status == ON)
  73   1              {
  74   2                      POWER_CONTROL = 0;                                                      //低电平打开电源
  75   2              }
  76   1              else
  77   1              {
  78   2                      POWER_CONTROL = 1;                                                      //高电平关闭电源
  79   2              }
  80   1      }
  81          
  82          //读取电源通断状态
  83          unsigned char ReadPwrStatus(void)
  84          {
  85   1              if(POWER_CONTROL == 0)                                                  //电源处于打开状态
  86   1              {
  87   2                      return ON;
  88   2              }
  89   1              else                                                                                    //电源处于关闭状态
  90   1              {
  91   2                      return OFF;
  92   2              }
  93   1      }


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