📄 index.lst
字号:
C51 COMPILER V7.50 INDEX 10/02/2008 21:03:27 PAGE 10
552 4 if(year>8)
553 4 year--;
554 4 else
555 4 year=32;
556 4 }
557 3 if(m==1)
558 3 {
559 4 if(month>1)
560 4 month--;
561 4 else
562 4 month=12;
563 4 }
564 3 if(m==2)
565 3 {
566 4 if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
567 4 {
568 5 if(date>1)
569 5 date--;
570 5 else
571 5 date=31;
572 5 }
573 4 if(month==4||month==6||month==9||month==11)
574 4 {
575 5 if(date>1)
576 5 date--;
577 5 else
578 5 date=30;
579 5 }
580 4 if(month==2)
581 4 {
582 5 if(year%4==0 && year%100!=0 || year%400==0)
583 5 {
584 6 if(date>1)
585 6 date--;
586 6 else
587 6 date=29;
588 6 }
589 5 if(!(year%4==0 && year%100!=0 || year%400==0))
590 5 {
591 6 if(date>1)
592 6 date--;
593 6 else
594 6 date=28;
595 6 }
596 5 }
597 4 }
598 3 if(m==3)
599 3 {
600 4 if(hour>0)
601 4 hour--;
602 4 else
603 4 hour=23;
604 4 }
605 3 if(m==4)
606 3 {
607 4 if(minute>0)
608 4 minute--;
609 4 else
610 4 minute=59;
611 4 }
612 3 if(m==5)
613 3 {
C51 COMPILER V7.50 INDEX 10/02/2008 21:03:27 PAGE 11
614 4 if(second>0)
615 4 second--;
616 4 else
617 4 second=59;
618 4 }
619 3 if(m==6)
620 3 {
621 4 if(week>1)
622 4 week--;
623 4 else
624 4 week=7;
625 4 }
626 3 }
627 2 if(keytype==0) ///////////跳出温度设置
628 2 {
629 3 keyon=0;
630 3 keytype=4;
631 3 out=1;
632 3 }
633 2 if(keytype==5)
634 2 {
635 3 keyon=0;
636 3 keytype=4;
637 3 out=1;
638 3 out2=1;
639 3 }
640 2 keyon=0;
641 2 keytype=4;
642 2 }
643 1 }
644
645 ////////////////////////////////时间设置结束/////////////////////////////////////
646 void main()
647 {
648 1 unsigned char i;
649 1 P1=0XFF;
650 1 BLUE=1;
651 1 RED=1;
652 1 SPEAKER=1;
653 1 DS1302_init();
654 1 lcd_init();
655 1 lcd_pos(0);
656 1 i=0;
657 1 while(dis1[i]!='\0')
658 1 {
659 2 lcd_wdat(dis1[i]);
660 2 i++;
661 2 }
662 1 lcd_pos(0x40);
663 1 i=0;
664 1 while(dis2[i]!='\0')
665 1 {
666 2 lcd_wdat(dis2[i]);
667 2 i++;
668 2 }
669 1 while(1)
670 1 {
671 2 ReadTemperature();
672 2 t_codechange();
673 2 DS1302_readdate();
674 2 ds_codechange();
675 2 lcd_pos(0);
C51 COMPILER V7.50 INDEX 10/02/2008 21:03:27 PAGE 12
676 2 i=0;
677 2 while(dis1[i]!='\0')
678 2 {
679 3 lcd_wdat(dis1[i]);
680 3 i++;
681 3 }
682 2 lcd_pos(0x40);
683 2 i=0;
684 2 while(dis2[i]!='\0')
685 2 {
686 3 lcd_wdat(dis2[i]);
687 3 i++;
688 3 }
689 2
690 2 if(SET==0) /////////////////////////进入报警温度设定
691 2 {
692 3 out=0;
693 3 delay(300);
694 3 while(SET==0);
695 3 strcpy(dis1,"ALARM-H: OFF 35 \0");
696 3 strcpy(dis2,"ALARM-L: OFF 00 \0");
697 3 lcd_init2();
698 3 lcd_pos(0);
699 3 i=0;
700 3 while(dis1[i]!='\0')
701 3 {
702 4 lcd_wdat(dis1[i]);
703 4 i++;
704 4 }
705 3 lcd_pos(0x40);
706 3 i=0;
707 3 while(dis2[i]!='\0')
708 3 {
709 4 lcd_wdat(dis2[i]);
710 4 i++;
711 4 }
712 3 lcd_pos(0x0a);//光标显示在高温开关位置
713 3 m=0;
714 3 keyon=0;
715 3 keytype=4;
716 3 while(1)
717 3 {
718 4 Display2();
719 4 seting();
720 4 if (out==1)
721 4 {
722 5 lcd_init();
723 5 strcpy(dis1,"03-11 19:57:00 2\0");
724 5 strcpy(dis2,"NOW TEMP: 015.0 \0");
725 5 break;
726 5 }
727 4 delay(1000);
728 4 }
729 3 delay(200);
730 3 while(SET==0);
731 3 }
732 2 if(SET2==0) /////////////////////////进入时间设定
733 2 {
734 3 out=0;
735 3 out2=0;
736 3 delay(300);
737 3 while(SET2==0);
C51 COMPILER V7.50 INDEX 10/02/2008 21:03:27 PAGE 13
738 3 strcpy(dis1,"TIME SET: 2008 \0");
739 3 strcpy(dis2,"10-11 19:57:00 2\0");
740 3 lcd_init2();
741 3 lcd_pos(0);
742 3 i=0;
743 3 while(dis1[i]!='\0')
744 3 {
745 4 lcd_wdat(dis1[i]);
746 4 i++;
747 4 }
748 3 lcd_pos(0x40);
749 3 i=0;
750 3 while(dis2[i]!='\0')
751 3 {
752 4 lcd_wdat(dis2[i]);
753 4 i++;
754 4 }
755 3 lcd_pos(0x0d);//光标显示在高温开关位置
756 3 m=0;
757 3 keyon=0;
758 3 keytype=4;
759 3 while(1)
760 3 {
761 4 Display3();
762 4 seting2();
763 4 if (out==1)
764 4 {
765 5 lcd_init();
766 5 strcpy(dis1,"03-11 19:57:00 2\0");
767 5 strcpy(dis2,"NOW TEMP: 015.0 \0");
768 5 if(out2==0) DS1302_writedate();
769 5 break;
770 5 }
771 4 delay(1000);
772 4 }
773 3 delay(200);
774 3 while(SET2==0);
775 3 while(SET==0);
776 3 }
777 2 delay(30000);
778 2 if(tH==1)
779 2 RED=1;
780 2 else if(tH==-1&&temperature>=temperatureH)
781 2 {
782 3 RED=0;
783 3 SPEAKER=1;
784 3 delay(10000);
785 3 SPEAKER=0;
786 3 RED=1;
787 3 delay(10000);
788 3 SPEAKER=1;
789 3 Too_hot();
790 3 delay(50000);
791 3 } //////满足条件是开启高温报警
792 2 else if(temperature<(temperatureH-0.2))
793 2 RED=1;
794 2 if(tL==1)
795 2 BLUE=1;
796 2 if(tL==-1&&temperature<=temperatureL)
797 2 {
798 3 BLUE=0;
799 3 SPEAKER=1;
C51 COMPILER V7.50 INDEX 10/02/2008 21:03:27 PAGE 14
800 3 delay(10000);
801 3 SPEAKER=0;
802 3 BLUE=1;
803 3 delay(10000);
804 3 SPEAKER=1;
805 3 Too_cold();
806 3 delay(50000);
807 3 }//////满足条件时开启低温报警
808 2 else if(temperature>(temperatureL+0.2))
809 2 BLUE=1;
810 2 if(RED==1&&BLUE==1)
811 2 SPEAKER=0;
812 2 }
813 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4821 ----
CONSTANT SIZE = 218 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 69 3
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -