📄 my1.lst
字号:
C51 COMPILER V7.00 MY1 09/28/2002 15:23:02 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE MY1
OBJECT MODULE PLACED IN .\my1.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\qw\my1.c BROWSE DEBUG OBJECTEXTEND PRINT(.\my1.lst) OBJECT(.\my1.obj)
stmt level source
1 /*******************************************************************************
2 //测量水的温度并进行相应控制
3 //程序代码
4 //2003。3。31
5 /*******************************************************************************/
6
7 #include <reg51.h>
8 #include <main1.h>
*** ERROR C318 IN LINE 8 OF ..\qw\my1.c: can't open file 'main1.h'
9
10
11 //extern int click_5s; //用于5秒记数
12 extern int count_time; //实时记数
13 extern void init_t0();
14 extern byte temp_c; //由定时器0中断服务程序得出温度值,以便进行处理
*** ERROR C129 IN LINE 14 OF ..\QW\MY1.C: missing ';' before 'temp_c'
15 extern int i;
16
17 byte bdata flag;
18 sbit flag_5=flag^0;
19 sbit flag_8=flag^1;
20 sbit flag_10=flag^2;
21 sbit flag_12=flag^3;
22 sbit flag_15=flag^4;
23 sbit flag_18=flag^5;
24 sbit flag_20=flag^6;
25
26 byte user_plan; //定义用户设定温度变量
27 int total_time;
28 /*******************************************************8
29 //延时等待放电完成
30 //wait_1()
31 /***********************************************************/
32 void wait_1(){
33 byte i;
34 for (i=0;i<200;i++)
35 ;
36 }
37
38
39 /*******************************************************8
40 //延时等待放电完成
41 //delay1()
42 /***********************************************************/
43 void delay1(){
44 byte i;
45 for (i=0;i<100;i++)
46 ;
47 }
48 /***************************************************************
49 //delay_5() 子程序功能是延时,可以不用定时器1,这样避免了一些因为处理
50 //
51 中断服务程序,又不能及时处理其它事,实时性更好些
52 //
53 /***************************************************************/
C51 COMPILER V7.00 MY1 09/28/2002 15:23:02 PAGE 2
54 bit delay_5()
55 {
56 long i;
57 for (i=40000;i>=0;i--){
58
59 if(key_inc==0){ //在延时中查询按键,可以有较好的实时性
60 delay1();
61 if(key_inc==0) {
62 //flag=1;
63 return(1);
64 }
65 }//end if
66 else if (key_dec==0){
67 delay1();
68 if(key_dec==0) {
69 //flag=1;
70 return(1);
71 }//end if
72 }//end else
73 }//end for
74
75 }//end
76
77 /***********************************************************************
78 //子程序 manage_5() 对不同温度下的状态进行处理
79 //
80 /**************************************************************************/
81 void manage_5(){
82 led_5=1;
83 led_y=1;
84 led_10=0;
85 led_15=0;
86 led_20=0;
87 led_warn=0;
88 }
89
90 /***********************************************************************
91 //子程序 manage_8() 对不同温度下的状态进行处理
92 //
93 /**************************************************************************/
94 void manage_8(){
95 led_5=1;
96 led_y=0; //或者led_n=1;
97 led_10=0;
98 led_15=0;
99 led_20=0;
100 led_warn=0;
101 }
102
103 /***********************************************************************
104 //子程序 manage_10() 对不同温度下的状态进行处理
105 //
106 /**************************************************************************/
107 void manage_10(){
108 led_5=0;
109 led_y=1;
110 led_10=1;
111 led_15=0;
112 led_20=0;
113 led_warn=0;
114 }
115
C51 COMPILER V7.00 MY1 09/28/2002 15:23:02 PAGE 3
116 /***********************************************************************
117 //子程序 manage_12() 对不同温度下的状态进行处理
118 //
119 /**************************************************************************/
120 void manage_12(){
121 led_5=0;
122 led_y=0; //led_n=1;
123 led_10=1;
124 led_15=0;
125 led_20=0;
126 led_warn=0;
127 }
128
129 /***********************************************************************
130 //子程序 manage_15() 对不同温度下的状态进行处理
131 //
132 /**************************************************************************/
133 void manage_15(){
134 led_5=0;
135 led_y=1;
136 led_10=0;
137 led_15=1;
138 led_20=0;
139 led_warn=0;
140 }
141
142 /***********************************************************************
143 //子程序 manage_18() 对不同温度下的状态进行处理
144 //
145 /**************************************************************************/
146 void manage_18(){
147 led_5=0;
148 led_y=0; //led_n=1;
149 led_10=0;
150 led_15=1;
151 led_20=0;
152 led_warn=0;
153 }
154
155 /***********************************************************************
156 //子程序 manage_20() 对不同温度下的状态进行处理
157 //
158 /**************************************************************************/
159 void manage_20(){
160 led_5=0;
161 led_y=1;
162 led_10=0;
163 led_15=0;
164 led_20=1;
165 led_warn=0;
166 }
167
168 /***********************************************************************
169 //子程序 manage_warn() 对不同温度下的状态进行处理
170 //
171 /**************************************************************************/
172 void manage_warn(){
173 led_5=0;
174 led_y=0;
175 led_10=0;
176 led_15=0;
177 led_20=0;
C51 COMPILER V7.00 MY1 09/28/2002 15:23:02 PAGE 4
178 led_warn=1;
179 }
180
181 /*****************************************************************************
182 //manage_plan() 此程序用到了递归,不知堆栈是否溢出??
183 //
184 /*****************************************************************************/
185 void manage_sub( byte user_plan) reentrant {
186
187 switch(user_plan) {
188 case 5: { user_plan=5;
189 manage_5();
190 flag_5=1;
191 if(key_inc==0){ //查询按键,
192 delay1();
193 if(key_inc==0&&flag_5==1) {
194 user_plan=10; //=10
195 ;// manage_10();
196 flag_10=1;
197 flag_5=0;
198 manage_sub(user_plan);
199 }
200 }//end 10
201
202 else if(key_dec==0){ //查询按键,
203 delay1();
204 if(key_dec==0) {
205 manage_warn();
206 }
207 }//end else
208 }
209 break;
210
211 case 8: { user_plan=5;
212 manage_8();
213 flag_5=1;
214 if(key_inc==0){ //查询按键,
215 delay1();
216 if(key_inc==0&&flag_5==1) {
217 user_plan=10; //=10
218 ;// manage_10();
219 ;// flag_10=1;
220 flag_5=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -