📄 main.lst
字号:
880 3 Temp_Remain=Temp_Remain%10;
881 3 if(Temp_Divide!=0)
882 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
883 3 else
884 3 Temp_Byte=Display_Lookup_Table(0);
885 3 // if(Test_bit)
886 3 // Temp_Byte=Temp_Byte&0x7f;
887 3
888 3 Set_Display(2,Temp_Byte,address);
889 3
890 3 /* Temp_Divide=Temp_Remain/10;
891 3 Temp_Remain=Temp_Remain%10;
892 3 if(Temp_Divide!=0)
893 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
894 3 else
895 3 Temp_Byte=Display_Lookup_Table(0);
896 3 Set_Display(3,Temp_Byte,address);*/
897 3
898 3 // Temp_Divide=value/1000;
899 3 // Temp_Remain=value%1000;
900 3 if(Temp_Remain!=0)
901 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
902 3 else
903 3 Temp_Byte=Display_Lookup_Table(0);
904 3 Set_Display(3,Temp_Byte,address);
905 3
906 3 }
907 2 }
908 1 /////////////////////////////////////
909 1 else
910 1 if(address==0x8000)
911 1 {
912 2 if(value<0)
913 2 {
914 3 Temp_Byte=Display_Lookup_Table(10);
915 3 Set_Display(1,Temp_Byte,address);
916 3 value=abs(value);
917 3 Temp_Divide=value/100;
918 3 Temp_Remain=value%100;
919 3 if(Temp_Divide!=0)
920 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
921 3 else
C51 COMPILER V7.50 MAIN 07/28/2008 18:17:59 PAGE 16
922 3 Temp_Byte=Display_Lookup_Table(0);
923 3 Set_Display(2,Temp_Byte,address);
924 3
925 3 Temp_Divide=Temp_Remain/10;
926 3 Temp_Remain=Temp_Remain%10;
927 3 if(Temp_Divide!=0)
928 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
929 3 else
930 3 Temp_Byte=Display_Lookup_Table(0);
931 3 Set_Display(3,Temp_Byte,address);
932 3
933 3 // Temp_Divide=value/1000;
934 3 // Temp_Remain=value%1000;
935 3 if(Temp_Remain!=0)
936 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
937 3 else
938 3 Temp_Byte=Display_Lookup_Table(0);
939 3 Set_Display(4,Temp_Byte,address);
940 3 }
941 2 else
942 2 if(value==0)
943 2 {
944 3
945 3 Temp_Byte=Display_Lookup_Table(0);
946 3 Set_Display(1,Temp_Byte,address);
947 3 Set_Display(2,Temp_Byte,address);
948 3 Set_Display(3,Temp_Byte,address);
949 3 Temp_Byte=Display_Lookup_Table(0);
950 3 Set_Display(4,Temp_Byte,address);
951 3 }
952 2 else
953 2 {
954 3 // unsigned int Temp_Remain;
955 3 // unsigned int Temp_Divide;
956 3
957 3 Temp_Divide=value/1000;
958 3 Temp_Remain=value%1000;
959 3 if(Temp_Divide!=0)
960 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
961 3 else
962 3 Temp_Byte=Display_Lookup_Table(0);
963 3 Set_Display(1,Temp_Byte,address);
964 3
965 3 Temp_Divide=Temp_Remain/100;
966 3 Temp_Remain=Temp_Remain%100;
967 3 if(Temp_Divide!=0)
968 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
969 3 else
970 3 Temp_Byte=Display_Lookup_Table(0);
971 3 //Set_Display(2,Temp_Byte,address);
972 3
973 3
974 3 ///////////////-----------
975 3 if(Test_bit)
976 3 Temp_Byte=Temp_Byte&0x7f;
977 3 Set_Display(2,Temp_Byte,address);
978 3
979 3
980 3 Temp_Divide=Temp_Remain/10;
981 3 Temp_Remain=Temp_Remain%10;
982 3 if(Temp_Divide!=0)
983 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
C51 COMPILER V7.50 MAIN 07/28/2008 18:17:59 PAGE 17
984 3 else
985 3 Temp_Byte=Display_Lookup_Table(0);
986 3 Set_Display(3,Temp_Byte,address);
987 3
988 3 // Temp_Divide=value/1000;
989 3 // Temp_Remain=value%1000;
990 3 if(Temp_Remain!=0)
991 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
992 3 else
993 3 Temp_Byte=Display_Lookup_Table(0);
994 3 Set_Display(4,Temp_Byte,address);
995 3
996 3 }
997 2 }//speed is over
998 1 //////////////////////
999 1 else //oil pressure 0x8004
1000 1 {
1001 2
1002 2 value=abs(value);
1003 2 // dispaly_point(0x8004);
1004 2 if(value<0)
1005 2 {
1006 3 Temp_Byte=Display_Lookup_Table(10);
1007 3 Set_Display(1,Temp_Byte,address);
1008 3 value=abs(value);
1009 3 Temp_Divide=value/100;
1010 3 Temp_Remain=value%100;
1011 3 if(Temp_Divide!=0)
1012 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
1013 3 else
1014 3 Temp_Byte=Display_Lookup_Table(0);
1015 3
1016 3 Temp_Byte=Temp_Byte&0x7f;
1017 3 Set_Display(2,Temp_Byte,address);
1018 3
1019 3 Temp_Divide=Temp_Remain/10;
1020 3 Temp_Remain=Temp_Remain%10;
1021 3 if(Temp_Divide!=0)
1022 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
1023 3 else
1024 3 Temp_Byte=Display_Lookup_Table(0);
1025 3 Set_Display(3,Temp_Byte,address);
1026 3
1027 3 // Temp_Divide=value/1000;
1028 3 // Temp_Remain=value%1000;
1029 3 if(Temp_Remain!=0)
1030 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
1031 3 else
1032 3 Temp_Byte=Display_Lookup_Table(0);
1033 3 Set_Display(4,Temp_Byte,address);
1034 3 }
1035 2 else
1036 2 if(value==0)
1037 2 {
1038 3
1039 3 Temp_Byte=Display_Lookup_Table(0);
1040 3 Set_Display(1,Temp_Byte,address);
1041 3 if(Test_bit)
1042 3 Temp_Byte=Temp_Byte&0x7f;
1043 3 Set_Display(2,Temp_Byte,address);
1044 3 Temp_Byte=Display_Lookup_Table(0);
1045 3 Set_Display(3,Temp_Byte,address);
C51 COMPILER V7.50 MAIN 07/28/2008 18:17:59 PAGE 18
1046 3
1047 3 Set_Display(4,Temp_Byte,address);
1048 3 }
1049 2 else
1050 2 {
1051 3 // unsigned int Temp_Remain;
1052 3 // unsigned int Temp_Divide;
1053 3
1054 3 Temp_Divide=value/1000;
1055 3 Temp_Remain=value%1000;
1056 3 if(Temp_Divide!=0)
1057 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
1058 3 else
1059 3 Temp_Byte=Display_Lookup_Table(0);
1060 3 //Temp_Byte=Temp_Byte&0x7f;
1061 3 if(!Test_bit)
1062 3 Temp_Byte=Temp_Byte&0x7f;
1063 3 Set_Display(1,Temp_Byte,address);
1064 3
1065 3 Temp_Divide=Temp_Remain/100;
1066 3 Temp_Remain=Temp_Remain%100;
1067 3 if(Temp_Divide!=0)
1068 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
1069 3 else
1070 3 Temp_Byte=Display_Lookup_Table(0);
1071 3 if(Test_bit)
1072 3 Temp_Byte=Temp_Byte&0x7f;
1073 3 Set_Display(2,Temp_Byte,address);
1074 3
1075 3 Temp_Divide=Temp_Remain/10;
1076 3 Temp_Remain=Temp_Remain%10;
1077 3 if(Temp_Divide!=0)
1078 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Divide));
1079 3 else
1080 3 Temp_Byte=Display_Lookup_Table(0);
1081 3 Set_Display(3,Temp_Byte,address);
1082 3
1083 3 // Temp_Divide=value/1000;
1084 3 // Temp_Remain=value%1000;
1085 3 if(Temp_Remain!=0)
1086 3 Temp_Byte=Display_Lookup_Table((unsigned char)(Temp_Remain));
1087 3 else
1088 3 Temp_Byte=Display_Lookup_Table(0);
1089 3 Set_Display(4,Temp_Byte,address);
1090 3
1091 3 }
1092 2
1093 2 }///////oil pressure is over///
1094 1
1095 1
1096 1 }
1097 float Calculate_Line_k(int x1,int y1,int x2,int y2)
1098 {
1099 1 return ((float)(y2-y1))/(x2-x1);
1100 1 // b=y1-k*x1;
1101 1
1102 1 }
1103 float Calculate_Line_b(int x1,int y1,int x2,int y2)
1104 {
1105 1 return y1-((float)(y2-y1))/(x2-x1)*x1;
1106 1 // b=y1-k*x1;
1107 1
C51 COMPILER V7.50 MAIN 07/28/2008 18:17:59 PAGE 19
1108 1 }
1109
1110 int Calculate_Tem(unsigned int input,bit Bit_Sign_OilWater)//calculate temperature for water and oil
1111 {
1112 1 int Tem;
1113 1 /*
1114 1
1115 1 if( (input>0 && input<128) || input==0)
1116 1 {
1117 1 Tem=(int)((float)70/127*input-20);
1118 1 }
1119 1 else if(input>127 && input<256)
1120 1 {
1121 1 Tem=(int) ( (float)70/128*input+(50-127*((float)70/128)) );
1122 1 }
1123 1 */
1124 1 Tem=(int)( (float)Calculate_Line_k(573,30,684,97)*input+ Calculate_Line_b(573,30,684,97) );
1125 1
1126 1 if(Bit_Sign_OilWater)////Bit_Sign_OilWater为1时为油温
1127 1 Tem=Tem*( (float)Para_Setting_OilTem_K/100 ) + Para_Setting_OilTem_b-60;
1128 1 else////Bit_Sign_OilWater为0时为水温
1129 1 Tem=Tem*( (float)Para_Setting_WaterTem_K/100 ) + Para_Setting_WaterTem_b-60;
1130 1 if(input==0)
1131 1 Tem=-20;
1132 1 if(Tem<-20) Tem=-20;
1133 1 if(Tem>120) Tem=120;
1134 1 return Tem;
1135 1 }
1136
1137 /*
1138 unsigned int Calculate_Vol(unsigned char input)
1139 {
1140 int Vol;
1141
1142 Tem=(int)( (float)Calculate_Line_k(0,-20,255,150)*input+ Calculate_Line_b(0,-20,255,150) );
1143 return Tem;
1144
1145 }
1146 */
1147
1148 /*
1149 unsigned int Calculate_Pre(unsigned int input)
1150 {
1151 //unsigned int Pre1;
1152 float Pre;
1153 float k,b;
1154 if( (input>0 && input<68) || input==0)
1155 {
1156 Pre=0;
1157 }
1158 if(input>67 && input<298)
1159 {
1160 // Calculate_Line(17,0,77,500,*k,*b);
1161
1162 k=Calculate_Line_k(67,0,298,200);
1163 b=Calculate_Line_b(67,0,298,200);
1164 Pre=(k*input+b);
1165 // Pre=(int) ( (float)500/60*input+(-((float)500/60*17)) );
1166 }
1167 if(input>297&& input<492)
1168 {
1169 k=Calculate_Line_k(297,200,492,400);
C51 COMPILER V7.50 MAIN 07/28/2008 18:17:59 PAGE 20
1170 b=Calculate_Line_b(297,200,492,400);
1171 Pre=(k*input+b);
1172 //Pre=(int) ((float)500/46*input+(500-77*((float)500/46)));
1173 }
1174
1175 if(input>491 && input<647)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -