📄 温度测量.lst
字号:
287 2 digit=Dat<<1; //循环左移1位
288 2 Dat=digit;
289 2 }
290 1 }
291
292
293
294
295 void KeyAndDis_Time0(void) interrupt 1 using 1 //定时器0中断外理中键扫描和显示
296 {
297 1 TR0=0;
298 1 TH0=0xD8;
299 1 TL0=0xF0; //设定时值为20000us(20ms)
300 1 time();
301 1 TR0=1;
302 1 }
303
C51 COMPILER V7.09 温度瞋量 06/23/2005 21:02:16 PAGE 6
304 void time () //计时处理模块
305 {
306 1 sec20++;
307 1
308 1 if (sec20>=50) // 50 * 20 ms = 1 s
309 1 {
310 2 cl=1;
311 2 sec20=0;
312 2 e=~e;
313 2 if (e==1)
314 2 sec++; //秒计时
315 2 if (sec>=200) //
316 2 {
317 3 sec=0;
318 3 }
319 2 }
320 1 }
321
322 void jpcl()
323 {
324 1 k11=k1;
325 1 if (!k12&&k11)
326 1 b=1;
327 1 k12=k11;
328 1 k11=k1;
329 1 k21=k2;
330 1 if (b==1)
331 1 {
332 2 while(b)
333 2 {
334 3 buffer[0]=0x77;
335 3 buffer[1]=0x77;
336 3 buffer[2]=0x77;
337 3 sec=0;
338 3 c=0;
339 3 while(!c)
340 3 {
341 4 if (sec>=2)
342 4 {
343 5 c=1;
344 5 }
345 4 scanLED();
346 4 }
347 3 c=0;
348 3 zzbl=jsz;
349 3 jsz=zzz;
350 3 timeToBuffer();
351 3 while(!c)
352 3 {
353 4 k11=k1;
354 4 k21=k2;
355 4 if (!k22&&k21)
356 4 {
357 5 xm0++;
358 5 if (xm0>9)
359 5 xm0=0;
360 5 }
361 4 if (e==1)
362 4 buffer[2]=0x40;
363 4 else buffer[2]=convert[xm0];
364 4 scanLED();
365 4 if (!k12&&k11)
C51 COMPILER V7.09 温度瞋量 06/23/2005 21:02:16 PAGE 7
366 4 {
367 5 c=1;
368 5 }
369 4 k22=k21;
370 4 k12=k11;
371 4 }
372 3 buffer[2]=convert[xm0];
373 3 c=0;
374 3 while(!c)
375 3 {
376 4 k11=k1;
377 4 k21=k2;
378 4 if (!k22&&k21)
379 4 {
380 5 xm1++;
381 5 if (xm1>9)
382 5 xm1=0;
383 5 }
384 4 if (e==1)
385 4 buffer[1]=0x40;
386 4 else buffer[1]=convert[xm1];
387 4 scanLED();
388 4 if (!k12&&k11)
389 4 {
390 5 c=1;
391 5 }
392 4 k22=k21;
393 4 k12=k11;
394 4 }
395 3 buffer[1]=convert[xm1];
396 3 c=0;
397 3 while(!c)
398 3 {
399 4 k11=k1;
400 4 k21=k2;
401 4 if (!k22&&k21)
402 4 {
403 5 xm2++;
404 5 if (xm2>9)
405 5 xm2=0;
406 5 }
407 4 if (e==1)
408 4 buffer[0]=0x40;
409 4 else buffer[0]=convert[xm2];
410 4 scanLED();
411 4 if (!k12&&k11)
412 4 {
413 5 c=1;
414 5 b=0;
415 5 zzz=xm0*100+xm1*10+xm2;
416 5 }
417 4 k22=k21;
418 4 k12=k11;
419 4 }
420 3 buffer[0]=convert[xm2];
421 3 }
422 2 b=1;
423 2 while(b)
424 2 {
425 3 buffer[0]=0x7C;
426 3 buffer[1]=0x7C;
427 3 buffer[2]=0x7C;
C51 COMPILER V7.09 温度瞋量 06/23/2005 21:02:16 PAGE 8
428 3 sec=0;
429 3 c=0;
430 3 while(!c)
431 3 {
432 4 if (sec>=2)
433 4 {
434 5 c=1;
435 5 }
436 4 scanLED();
437 4 }
438 3 c=0;
439 3 jsz=dz;
440 3 timeToBuffer();
441 3 while(!c)
442 3 {
443 4 k11=k1;
444 4 k21=k2;
445 4 if (!k22&&k21)
446 4 {
447 5 xm0++;
448 5 if (xm0>1)
449 5 xm0=0;
450 5 }
451 4 if (e==1)
452 4 buffer[2]=0x40;
453 4 else buffer[2]=convert[xm0];
454 4 scanLED();
455 4 if (!k12&&k11)
456 4 {
457 5 c=1;
458 5 }
459 4 k22=k21;
460 4 k12=k11;
461 4 }
462 3 buffer[2]=convert[xm0];
463 3 c=0;
464 3 while(!c)
465 3 {
466 4 k11=k1;
467 4 k21=k2;
468 4 if (!k22&&k21)
469 4 {
470 5 xm1++;
471 5 if (xm1>9)
472 5 xm1=0;
473 5 }
474 4 if (e==1)
475 4 buffer[1]=0x40;
476 4 else buffer[1]=convert[xm1];
477 4 scanLED();
478 4 if (!k12&&k11)
479 4 {
480 5 c=1;
481 5 }
482 4 k22=k21;
483 4 k12=k11;
484 4 }
485 3 buffer[1]=convert[xm1];
486 3 c=0;
487 3 while(!c)
488 3 {
489 4 k11=k1;
C51 COMPILER V7.09 温度瞋量 06/23/2005 21:02:16 PAGE 9
490 4 k21=k2;
491 4 if (!k22&&k21)
492 4 {
493 5 xm2++;
494 5 if (xm2>9)
495 5 xm2=0;
496 5 }
497 4 if (e==1)
498 4 buffer[0]=0x40;
499 4 else buffer[0]=convert[xm2];
500 4 scanLED();
501 4 if (!k12&&k11)
502 4 {
503 5 c=1;
504 5 b=0;
505 5 dz=xm0*100+xm1*10+xm2;
506 5 jsz=zzbl;
507 5 }
508 4 k22=k21;
509 4 k12=k11;
510 4 }
511 3 buffer[1]=convert[xm2];
512 3 }
513 2
514 2 }
515 1 }
516
517
518 void jy()
519 {
520 1 TR0=0;
521 1 Number[0]=zzz/256;
522 1 Number[1]=zzz%256;
523 1 Number[2]=dz;
524 1 Number[3]=jsz/256;
525 1 Number[4]=jsz%256;
526 1 WrToROM(Number,0,5);
527 1 delay(50);
528 1 TR0=1;
529 1 }
530
531
532
533 void adzhh()
534 {
535 1 if(cl==1)
536 1 {
537 2 TR0=0;
538 2 TR1=0;
539 2 TH1=0x00;
540 2 TL1=0x00;
541 2 adk=1;
542 2 delay(50);
543 2 p36=0;
544 2 i=0;
545 2 adk=0;
546 2 TR1=1;
547 2 while(~p36)
548 2 {
549 3 i++;
550 3 if(i>=900) //上限值
551 3 p36=1;
C51 COMPILER V7.09 温度瞋量 06/23/2005 21:02:16 PAGE 10
552 3 }
553 2 TR1=0;
554 2 t=TH1;
555 2 t=t*256+TL1;
556 2 jsz=(t-134)/31;
557 2 TH0=0xD8;
558 2 TL0=0xF0;
559 2 TR0=1;
560 2 cl=0;
561 2 }
562 1 }
563
564
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1478 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 44 17
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 + -