📄 main.lst
字号:
473 2 if(h==0&z>60){z=0;}
474 2 n=iic_write[i]&0xf0;
475 2 n>>=4;
476 2 write_byte(h,2,z,&number[n]); //:
477 2 z+=8;
478 2
479 2 n=iic_write[i]&0x0f;
480 2 write_byte(h,2,z,&number[n]);
481 2 z+=8;
482 2
483 2 }
484 1
C51 COMPILER V7.06 MAIN 03/26/2008 16:30:50 PAGE 9
485 1
486 1
487 1 write_word(0,4,0,&chinese[11]); //系统编号
488 1 write_word(0,4,16,&chinese[12]);
489 1 write_word(0,4,32,&chinese[20]);
490 1 write_word(0,4,48,&chinese[21]);
491 1 write_byte(1,4,0,&number[22]); //:
492 1 read_iic_data(1,&iic_read[0],0,1);
493 1 n=iic_read[0]/8;
494 1 z=iic_read[0]%8;
495 1
496 1
497 1
498 1 write_byte(1,4,8,&number[n+10]);
499 1 write_byte(1,4,16,&number[25]); // -
500 1 write_byte(1,4,24,&number[z]);
501 1
502 1
503 1
504 1 write_word(0,6,0,&chinese[25]); // 传感器总数:
505 1 write_word(0,6,16,&chinese[26]);
506 1 write_word(0,6,32,&chinese[17]);
507 1 write_word(0,6,48,&chinese[58]);
508 1 write_word(1,6,0,&chinese[59]);
509 1 write_byte(1,6,16,&number[22]);
510 1 n=iic_read[0]/10;
511 1 z=iic_read[0]%10;
512 1 write_byte(1,6,24,&number[n]);
513 1 write_byte(1,6,32,&number[z]);
514 1 gg: delay_1s(30000);
515 1
516 1 ds18b20_number(&num);
517 1 delay_iic();
518 1 if(num[0]==0x28|num[0]==0x26) goto gg;
519 1 xx: delay_1s(100);
520 1 }
521
522 //************** finding *********************************************/
523 bit finding(void)
524 {
525 1 unsigned int hhhh;
526 1 unsigned char y;
527 1 int w,r,u,n;
528 1
529 1 bit f; ES=0;
530 1 f=0; hhhh=0;
531 1 w=0;r=0;n=0;
532 1 ds18b20_number(&iic_write);
533 1 for(y=0;y<8;y++)
534 1 {
535 2 u=(int)iic_write[y];n+=u;
536 2 }
537 1 ES=0;
538 1
539 1 delay_1s(4000); ES=0;
540 1 ds18b20_number(&iic_write);
541 1 for(y=0;y<8;y++)
542 1 {
543 2 u=(int)iic_write[y];w+=u;
544 2 } ES=0;
545 1 delay_1s(1000); ES=0;
546 1 ds18b20_number(&iic_write);
C51 COMPILER V7.06 MAIN 03/26/2008 16:30:50 PAGE 10
547 1 for(y=0;y<8;y++)
548 1 {
549 2 u=(int)iic_write[y];r+=u;
550 2 } ES=0;
551 1 delay_1s(1000);
552 1 ES=0;
553 1
554 1 if((n==w&w==r&(iic_write[0]==0x28|iic_write[0]==0x26))&(n<1028))
555 1 { f=1;
556 2
557 2
558 2 clear_lcd_screen();
559 2 // 找到新硬件
560 2
561 2
562 2 write_word(0,3,16,&chinese[37]);
563 2 write_word(0,3,32,&chinese[38]);
564 2 write_word(0,3,48,&chinese[39]);
565 2 write_word(1,3,0,&chinese[40]);
566 2 write_word(1,3,16,&chinese[41]);
567 2 write_byte(1,3,32,&number[23]);
568 2 ES=0;
569 2 delay_1s(30000); ES=0;
570 2
571 2 }
572 1
573 1 return f;
574 1 }
575
576 // *************** error ************************************//
577 void error(void)
578 { clear_lcd_screen();
579 1 write_word(0,3,26,&chinese[11]);
580 1 write_word(0,3,42,&chinese[12]);
581 1 write_word(0,3,58,&chinese[51]);
582 1 write_word(1,3,10,&chinese[52]);
583 1 write_byte(1,3,26,&number[23]);
584 1 while(1);
585 1
586 1
587 1
588 1 }
589 void memery_error(void)
590 {
591 1 clear_lcd_screen();
592 1 write_word(0,3,16,&chinese[27]);
593 1 write_word(0,3,32,&chinese[28]);
594 1 write_word(0,3,48,&chinese[17]);
595 1 write_word(1,3,0,&chinese[51]);
596 1 write_word(1,3,16,&chinese[52]);
597 1 write_byte(1,3,32,&number[23]);
598 1
-
-
-
-
-
-
- while(1);
599 1 }
600
601 /************* display temperature *********************************/
C51 COMPILER V7.06 MAIN 03/26/2008 16:30:50 PAGE 11
602 void display_temp(unsigned i,unsigned char j,short int temp)
603 {
604 1 unsigned char y,z,h,w0,w1;
605 1 signed char up,down;
606 1 bit err,qq;
607 1 err=0;
608 1 qq=0;
609 1 w0=28;w1=31;
610 1
611 1 z=0;
612 1 if(j==1|j==5){y=0;}
613 1 if(j==2|j==6){y=2;}
614 1 if(j==3|j==7){y=4;}
615 1 if(j==4|j==8){y=6;}
616 1
617 1 if(temp<-880|temp>2000|temp==-1)
618 1 {if(j<=4){write_word(0,y,28,&chinese[51]);
619 3 write_word(0,y,44,&chinese[52]);}
620 2 else{write_word(1,y,28,&chinese[51]);
621 3 write_word(1,y,44,&chinese[52]);}
622 2 err=1;
623 2 }
624 1 if(temp<0){temp*=(-1);qq=1;}
625 1 temp*=0.0625;
626 1 if(~err)
627 1 {
628 2 read_iic_data(1,&iic_read,0,8); //继电器
629 2 if(iic_read[3]==1){down=iic_read[1]*(-1);}
630 2 else down=iic_read[1];
631 2 if(iic_read[4]==1){up=iic_read[2]*(-1);}
632 2 else {up=iic_read[2];}
633 2 if(temp<=down|temp>=up)
634 2 {
635 3 call=0;
636 3 }
637 2 }
638 1 h=temp/100;
639 1 if(j<=4){ if(h==0){w0-=7;}
640 2
641 2 write_byte(0,y,7,&number[25]);
642 2 write_byte(0,y,18,&number[22]);
643 2
644 2
645 2
646 2 if(~err){if(qq){write_byte(0,y,23,&number[25]);} //负号!
647 3 write_byte(0,y,w0+18,&number[26]);
648 3 write_byte(0,y,w0+26,&number[12]);}
649 2
650 2 write_byte(0,y,0,&number[i+10]); //light this setup
651 2 write_byte(0,y,12,&number[j]);
652 2 if(~err){
653 3 if(h==1)
654 3 {
655 4 write_byte(0,y,w0,&number[h]);}
656 3 z=(temp-(h*100))/10;
657 3 write_byte(0,y,w0+7,&number[z]);
658 3 z=temp%10;
659 3 write_byte(0,y,w0+14,&number[z]);
660 3 }}
661 1 else
662 1 {
663 2 if(h==0){w1-=7;}
C51 COMPILER V7.06 MAIN 03/26/2008 16:30:50 PAGE 12
664 2 write_byte(1,y,10,&number[25]);
665 2 write_byte(1,y,21,&number[22]); //:
666 2 if(~err){if(qq){write_byte(1,y,26,&number[25]);} //负号!
667 3 write_byte(1,y,w1+26,&number[12]);
668 3 write_byte(1,y,w1+18,&number[26]);
669 3 }
670 2
671 2
672 2
673 2 write_byte(1,y,3,&number[i+10]); //right this
674 2 write_byte(1,y,15,&number[j]);
675 2
676 2 if(~err)
677 2 {
678 3
679 3 if(h==1){
680 4 write_byte(1,y,w1,&number[h]);}
681 3 z=(temp-(h*100))/10;
682 3 write_byte(1,y,w1+7,&number[z]);
683 3 z=temp%10;
684 3 write_byte(1,y,w1+14,&number[z]);
685 3 }}
686 1
687 1 // SEND RS485
688 1 if(err){t_buf[(i*8+j)*2-1]=i*8+j; t_buf[(i*8+j)*2]=0xfe;}
689 1 else {t_buf[(i*8+j)*2-1]=i*8+j; t_buf[(i*8+j)*2]=temp&0xff; }
690 1 }
691
692 /************* display temperature *********************************/
693 void display_temp_6(unsigned i,unsigned char j,short int temp)
694 {
695 1 unsigned char y,z,h,w0,w1;
696 1 signed char down,up;
697 1 bit err,qq;
698 1 err=0;
699 1 qq=0;
700 1 w0=28;w1=31;
701 1
702 1 z=0;
703 1 if(j==1|j==4){y=2;}
704 1 if(j==2|j==5){y=4;}
705 1 if(j==3|j==6){y=6;}
706 1 // if(j==4|j==8){y=6;}
707 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -