📄 text1.lst
字号:
160 2 case BT_OFF:
161 2
162 2 BellType = BT_OFF;
163 2 BellCount = 0;
164 2 break;
165 2 case BT_BUTTON:
166 2 BellType = BT_BUTTON;
167 2 BellCount = 4; // 按键声响0.1秒
168 2 break;
169 2 case BT_WARN:
170 2 BellType = BT_WARN;
171 2 BellCount = 200; //
172 2 break;
173 2 default:
174 2 break;
175 2 }
176 1 }
177 void main()
178 {
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 4
179 1 float k,temp1;
180 1 unsigned char tmpl,BellType = BT_OFF,BellCount=0;
181 1 wendu_up=50;//******** wen du shang xian definde zhi 50;
182 1 wendu_low=5;//******** wen du xia xian definde zhi 5;
183 1 Bell = 1;
184 1 TMOD=0x21;
185 1 PT1=1;
186 1 EA=1;
187 1 ET0=1;
188 1 ET1=1;
189 1 TH0=0x4c;//*********************
190 1 TL0=0x00;//**********************
191 1 TH1=0x6c;
192 1 TL1=0x6c;
193 1 timesyb=6;
194 1 TR0=0;//ding shi 0
195 1 TR1=1;//start ding shi 1
196 1 delay_ms();
197 1 while(1)
198 1 { tmpl=adc_conv();
199 2 temp1=(float)tmpl;
200 2 k=log(temp1/(255-temp1));
201 2 temp1=k/3380+1/298.15;
202 2 temp1=1/temp1-270.15;
203 2 tmpl=(unsigned char)temp1;
204 2 led[0]=(tmpl%100)/10;
205 2 led[1]=tmpl%10;
206 2 show[0]=table[led[0]];//******************
207 2 show[1]=table[led[1]];//************
208 2 show[2]=0xbf;//******************
209 2 show[3]=0xbf;//************
210 2 if(tmpl>wendu_up||tmpl<wendu_low)
211 2 {BellCtrl(BT_WARN);}
212 2 checkkey4();
213 2 display();
214 2 }
215 1
216 1 }
217 /*--------------------------------------------------------------------------------------------------------
--------------------------------*/
218
219 void restart_time0(void)
220 { TR0=0;
221 1 TH0=0x4c;
222 1 TL0=0x00;
223 1 dscount=0;
224 1 TR0=1;
225 1 }
226 void showtime(void)
227 {
228 1 ledbuf[0]=minute/10;
229 1 ledbuf[1]=minute%10;
230 1 ledbuf[2]=scend/10;
231 1 ledbuf[3]=scend%10;
232 1 show[0]=table[ledbuf[0]];
233 1 show[1]=table[ledbuf[1]]&0x7f;
234 1 show[2]=table[ledbuf[2]];
235 1 show[3]=table[ledbuf[3]];
236 1 display();
237 1 }
238 void time1(void)interrupt 3 //multiple 80*80=1s
239 { if(mi<80)
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 5
240 1 { if(mj<80)
241 2 mj++;
242 2 else {mj=0;mi++;
243 3 if(key4syb==0)display();
244 3 else showtime();//+++++++++++++++++主要的显示与叫;
245 3 }
246 2 }
247 1 else {mi=0;scend++;
248 2 if(scend==60){scend=0;minute++;
249 3 if(minute==60)
250 3 minute=0;
251 3 }
252 2 }
253 1 }
254 /*--------------------------------------------------------------------------------------------------------
------------------------------*/
255 void time0(void)interrupt 1 //ding shi 50ms
256 { TR0=0;
257 1 if(out_out==0)
258 1 {
259 2
260 2 if(key4syb==1&&setsyb==0)
261 2 {key4=1;display();delay_ms();
262 3 if(key4==0)
263 3 {judgeset++;TR0=1;}
264 3 else
265 3 {judgeset=0;key4syb=0;}
266 3 if(judgeset==60) //have keeping key4 for 3s,enter set state;
267 3 {setsyb=1;
268 4 key4syb=0;
269 4 TR0=0;TH0=0x4c;TL0=0x00;TR0=1;
270 4 set(); //______-where to get into the set state
271 4 }
272 3 }
273 2 if(dscount<100) /*count 5 scends*/
274 2 {dscount++;TH0=0x4c;TL0=0x00;TR0=1;}
275 2 else {
276 3 setsyb=0; //return to normal state
277 3 show[0]=table[led[0]]; //set to the run state
278 3 show[1]=table[led[1]];
279 3 show[2]=table[led[2]];
280 3 show[3]=table[led[3]];
281 3 TR0=0;TH0=0x4c;TL0=0x00; out_out=1;
282 3 }
283 2 }
284 1 else out_out=0;
285 1 }
286 /*--------------------------------------------------------------------------------------------------------
---------------------------*/
287
288 void checkkey4(void)
289 { if(setsyb==0)
290 1 {key4=1;Wait8us//+++++++++++++++++++++++++++++++++have key
291 2 if(key4==0){key4syb=1;
292 3 TR0=1;BellSet(BT_BUTTON);
293 3 showtime();}//+++++++++++++++++++++++++++++++++++++=show time
294 2 }
295 1
296 1 }
297 void set(void)
298 {
299 1 unsigned char state=0;
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 6
300 1 unsigned char facestate=0,set_up_tempt=1,set_donw_temp=2,set_time=3,set_scend=4,set_minute=5;
301 1 do
302 1 switch (state)
303 1 {case 0:led[0]=wendu_up/10;
304 2 led[1]=wendu_up%10;
305 2 led[2]=wendu_low/10;
306 2 led[3]=wendu_low%10;
307 2 show[0]=table[led[0]]; //show tempter
308 2 show[1]=table[led[1]];
309 2 show[2]=table[led[2]];
310 2 show[3]=table[led[3]];
311 2 display();
312 2 if(key1==0)
313 2 {key1=1;display();delay_ms();
314 3 if(key1==0) //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++hav
-e key
315 3 {restart_time0();BellSet(BT_BUTTON);
316 4 state=set_time;
317 4 showtime();while(key1==0);}break;
318 3 }
319 2 if(key2==0)
320 2 {key2=1;display();delay_ms();
321 3 if(key2==0) //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++hav
-e key
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -