?? 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 + -