📄 main.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 + -