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