📄 all-test.lst
字号:
667 2 Read_N_Bytes(eeprom_buffer,5,addr);
668 2 TR0=1;
669 2 check_eeprom(5);
670 2 if(bfail||un_effect)
671 2 {
672 3 b_ini_fail=1;
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 12
673 3 pr=0;
674 3 flashzero=1;
675 3 cut_time=49;
676 3 TR0=1;
677 3 while(flashzero);
678 3
679 3 }
680 2 else
681 2 {
682 3 temp=eeprom_buffer[0]*10000+eeprom_buffer[1]*1000+eeprom_buffer[2]*100+eeprom_buffer[3]*10+eeprom_buff
-er[4];
683 3 switch(i)
684 3 {
685 4 case 0:
686 4 {
687 5 r457zeroflag=1;
688 5 r457ad0=temp/10;
689 5 break;
690 5 }
691 4 case 1:
692 4 {
693 5 ryzeroflag=1;
694 5 ryad0=temp/10;
695 5 break;
696 5 }
697 4 case 2:
698 4 {
699 5 ryadflag=1;
700 5 ryade=temp/10;
701 5 break;
702 5 }
703 4 case 3:
704 4 {
705 5 r457adflag=1;
706 5 r457ade=temp/10;
707 5 break;
708 5 }
709 4 default: break;
710 4 }
711 3 }
712 2 bfail=0;
713 2 }
714 1
715 1 for(i=4;i<14;i++) //对数值进行校验 ,无有效位 //add r457s0 and rys0 to the module
716 1 {
717 2 switch(i)
718 2 {
719 3 case 4:
720 3 addr=0x08; break; //0x08 标准值(调准值)
721 3 case 5:
722 3 addr=0x0c; break; //
723 3 case 6:
724 3 addr=0x38; break; //0x28
725 3 case 7:
726 3 addr=0x40; break; //0x30
727 3 case 8:
728 3 addr=0x48; break;
729 3 case 9:
730 3 addr=0x50; break;
731 3 case 10:
732 3 addr=0x28; break;
733 3 case 11:
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 13
734 3 addr=0x30; break;
735 3 case 12:
736 3 addr=0x58; break;
737 3 case 13:
738 3 addr=0x60; break;
739 3 default: break;
740 3 }
741 2 TR0=0;
742 2 Read_N_Bytes(eeprom_buffer,4,addr);
743 2 TR0=1;
744 2 check_eeprom(4);
745 2 if(bfail)
746 2 {
747 3 b_ini_fail=1;
748 3 pr=0;
749 3
750 3 switch(i) //如果出错,清零
751 3 {
752 4 case 4:
753 4 r457se=0; break;
754 4 case 5:
755 4 ryse=0; break;
756 4 case 6:
757 4 ucof=0; break;
758 4 case 7:
759 4 gcof=0; break;
760 4 case 8:
761 4 r457s0=0; break;
762 4 case 9:
763 4 rys0=0; break;
764 4 case 10:
765 4 standard_L=0; break;
766 4 case 11:
767 4 standard_H=0; break;
768 4 case 12:
769 4 u_B=0; break;
770 4 case 13:
771 4 u_A=0; break;
772 4 default: break;
773 4 }
774 3 flashzero=1;
775 3 cut_time=49;
776 3 TR0=1;
777 3 while(flashzero);
778 3
779 3 }
780 2 else
781 2 {
782 3 temp=eeprom_buffer[0]*1000+eeprom_buffer[1]*100+eeprom_buffer[2]*10+eeprom_buffer[3];
783 3 switch(i)
784 3 {
785 4 case 4:
786 4 {
787 5 r457se=temp/100;
788 5 break;
789 5 }
790 4 case 5:
791 4 {
792 5 ryse=temp/100;
793 5 break;
794 5 }
795 4 case 6:
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 14
796 4 {
797 5 ucof=temp/100;
798 5 break;
799 5 }
800 4 case 7:
801 4 {
802 5 gcof=temp/100;
803 5 break;
804 5 }
805 4 case 8:
806 4 {
807 5 r457s0=temp/100;
808 5 break;
809 5 }
810 4 case 9:
811 4 {
812 5 rys0=temp/100;
813 5 break;
814 5 }
815 4 case 10:
816 4 {
817 5 standard_L=temp/100;
818 5 break;
819 5 }
820 4 case 11:
821 4 {
822 5 standard_H=temp/100;
823 5 break;
824 5 }
825 4 case 12:
826 4 {
827 5 u_B=temp/1000;
828 5 break;
829 5 }
830 4 case 13:
831 4 {
832 5 u_A=temp/1000;
833 5 break;
834 5 }
835 4 default: break;
836 4 }
837 3 }
838 2 bfail=0;
839 2 }
840 1
841 1 if(!b_ini_fail) //初始化加载成功提示
842 1 {
843 2 pr=0;
844 2 lcddis_series(0,11,init_result,0,0);
845 2 lcddis_series(21,4,init_result,11,0);
846 2 wr_lcd (comm,0x0c,1); /*开显示,关光标*/
847 2 flashzero=1;
848 2 cut_time=300;
849 2 while(flashzero); // Good
850 2 wr_lcd (comm,0x01,1); /*清屏,地址指针指向00H*/
851 2
852 2 }
853 1 else //初始化加载失败提示
854 1 {
855 2 pr=0;
856 2 flashzero=1;
857 2 cut_time=29;
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 15
858 2 TR0=1;
859 2 while(flashzero); // Fail
860 2
861 2 }
862 1 //------------------------------// 自检结束================================//
863 1 }
864
865 void main(void)
866 {
867 1 TMOD=0x01; // 0.01s定时 6M晶振
868 1 TF0=0;
869 1 TH0=0xec;
870 1 TL0=0x78;
871 1 EA=1;
872 1 ET0=1;
873 1
874 1
875 1 e_key=0;
876 1
877 1 init_lcd ();
878 1 TR0=1;
879 1
880 1 // iniatial();
881 1
882 1 // lcddis_series(0,10,pre,0,0);
883 1 // write_DDRAM(24,'s');
884 1 // down_time=1;
885 1 // count=1;
886 1
887 1 // do
888 1 // {
889 1 // write_DDRAM(21,count/10+48);
890 1 // write_DDRAM(22,count%10+48);
891 1 //
892 1 // wr_lcd (comm,0x0c,1); /*开显示,关光标*/
893 1 // }
894 1 // while(count);
895 1
896 1
897 1
898 1 e_key=0;
899 1 down_time=0;
900 1
901 1 cgram_wr(0x00,1,*cgram_char); // 自定义下标4
902 1 cgram_wr(0x01,2,*cgram_char); // 自定义下标5
903 1 cgram_wr(0x02,3,*cgram_char); // 自定义下标7
904 1 cgram_wr(0x03,4,*cgram_char); // 自定义下标y
905 1
906 1 wr_lcd (comm,0x01,1); /*清屏,地址指针指向00H*/
907 1 wr_lcd (comm,0x08,1); //关显示
908 1 lcddis_series(0,13,name,0,0);
909 1 wr_lcd (comm,0x0c,1); /*开显示,关光标*/
910 1
911 1 while(1)
912 1 {
913 2 key_response();
914 2 }
915 1 }
916
917 void time0 (void) interrupt 1 using 1
918 { //uchar i;
919 1 TH0=0xec;
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 16
920 1 TL0=0x78;
921 1 if(down_time) //用于开机预热
922 1 {
923 2 if(time_inc==100)
924 2 {
925 3 time_inc=0;
926 3 count--;
927 3 }
928 2 time_inc++;
929 2 }
930 1 if(flashzero)
931 1 {
932 2 zero_inc++;
933 2 if(zero_inc>cut_time)
934 2 {
935 3 zero_inc=0;
936 3 flashzero=0;
937 3 }
938 2 }
939 1
940 1 if(bell) //报警
941 1 {
942 2 cs_temp|=0x20;
943 2 P0=cs_temp;
944 2 P2_7=0;
945 2 P2_6=1;
946 2 P3_6=0;
947 2 P3_6=1;
948 2 delayms(8);
949 2 }
950 1 else
951 1 {
952 2 cs_temp&=0xdf;
953 2 P0=cs_temp;
954 2 P2_7=0;
955 2 P2_6=1;
956 2 P3_6=0;
957 2 P3_6=1;
958 2 }
959 1
960 1 keyscan();
961 1 if((P1&0x20)==0x20)
962 1 {
963 2 r457=1;
964 2 }
965 1 else
966 1 {
967 2 r457=0;
968 2 }
969 1 //---------------------//
970 1
971 1 if(pr)
972 1 {
973 2 if(inc<51)
974 2 flash=1;
975 2 else
976 2 {
977 3 if(inc<101)
978 3 flash=0;
979 3 else
980 3 {
981 4 other_flash_cnt++;
C51 COMPILER V8.02 ALL_TEST 06/15/2007 10:53:26 PAGE 17
982 4 inc=0;
983 4 }
984 3 }
985 2 inc++;
986 2 }
987 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4025 ----
CONSTANT SIZE = 98 ----
XDATA SIZE = 313 4
PDATA SIZE = ---- ----
DATA SIZE = 7 44
IDATA SIZE = ---- ----
BIT SIZE = 16 8
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -