📄 gy33485.lst
字号:
1124 //////////////////////////////////////////////////
1125 //**********************eeprom stop******************************//
1126 void DisStartT(uchar id,uint Eeprom)
1127 {
1128 1 IdNum = id;
1129 1 a_start = 1;
1130 1 a_stop = 0;
1131 1 rd_s_eeprom(FaultTime,Eeprom,sizeof(FaultTime));
1132 1 switch(Key3Num)
1133 1 {
1134 2 case 1:
1135 2 case 2:
1136 2 case 3:
1137 2 DispIC1_start_stop(S1,FaultTime);
1138 2 break;
1139 2 case 4:
1140 2 case 5:
1141 2 DispIC1_start_stop(S2,FaultTime);
1142 2 break;
1143 2 case 6:
1144 2 DispIC1_start_stop(S3,FaultTime);
1145 2 break;
1146 2 }
1147 1 }
1148 void DisStopT(uchar id,uint Eeprom)
1149 {
1150 1 IdNum = id;
1151 1 a_start = 0;
1152 1 a_stop = 1;
1153 1 rd_s_eeprom(FaultTime,Eeprom,sizeof(FaultTime));
1154 1 switch(Key3Num)
1155 1 {
1156 2 case 1:
1157 2 case 2:
1158 2 case 3:
1159 2 DispIC1_start_stop(S1,FaultTime);
1160 2 break;
1161 2 case 4:
1162 2 case 5:
1163 2 DispIC1_start_stop(S2,FaultTime);
1164 2 break;
1165 2 case 6:
1166 2 DispIC1_start_stop(S3,FaultTime);
1167 2 break;
1168 2 }
1169 1 }
1170 uchar Key2(void)
1171 {
C51 COMPILER V6.00i GY33485 08/16/2007 20:55:35 PAGE 20
1172 1 uchar flag=0;
1173 1 if(P3_5==0)
1174 1 flag=1;
1175 1 else flag=0;
1176 1 return(flag);
1177 1 }
1178 uchar Key3(void)
1179 {
1180 1 uchar flag=0;
1181 1 if(P2_4==0)
1182 1 flag=1;
1183 1 else flag=0;
1184 1 return(flag);
1185 1 }
1186
1187 void main()
1188 {
1189 1 uchar idata warning_flag;
1190 1 int i;
1191 1 uchar disp_buf[6];
1192 1 uchar msec;
1193 1
1194 1 uchar num1 = 0;//5-23 added
1195 1 uchar num2 = 0;//5-25 added
1196 1 uchar num3 = 0;//5-25 added
1197 1 uchar num4 = 0;//5-25 added
1198 1 uchar num5 = 0;//5-25 added
1199 1 uchar num6 = 0;//5-25 added
1200 1 InitSci();//设置2400波特率,用来产生载波的定时器T0初值//
1201 1
1202 1
1203 1
1204 1 P2_5 = 0;
1205 1 fbase = 0;
1206 1 prefbase = 0;
1207 1 disnum_flag = 0;
1208 1
1209 1 rd_s_eeprom(disp_buf, EMPTY_EEPROM, 6);
1210 1 warning_flag = 0;
1211 1 for(i=0;i<6;i++)
1212 1 {
1213 2 if(disp_buf[i]!='A') warning_flag++;
1214 2 }
1215 1 if(warning_flag) //initialize eeprom value
1216 1 {
1217 2 for(i=0;i<6;i++) disp_buf[i]='A';
1218 2 wr_s_eeprom(disp_buf, EMPTY_EEPROM, 6);
1219 2 for(i=0;i<sizeof(Ua_fault);i++) disp_buf[i]=0;
1220 2 wr_s_eeprom(disp_buf, Ua_EEPROM, sizeof(Ua_fault));
1221 2 wr_s_eeprom(disp_buf, Ub_EEPROM, sizeof(Ua_fault));
1222 2 wr_s_eeprom(disp_buf, Uc_EEPROM, sizeof(Ua_fault));
1223 2 wr_s_eeprom(disp_buf, Ia_EEPROM, sizeof(Ua_fault));
1224 2 wr_s_eeprom(disp_buf, Ib_EEPROM, sizeof(Ua_fault));
1225 2 wr_s_eeprom(disp_buf, Ic_EEPROM, sizeof(Ua_fault));
1226 2 wr_s_eeprom(disp_buf, Ip_EEPROM, sizeof(Ua_fault));
1227 2 wr_s_eeprom(disp_buf, UX_EEPROM, sizeof(Ua_fault));
1228 2
1229 2 wr_s_eeprom(disp_buf, Num_EEPROM, sizeof(disnum[0]));//initialize all fault times
1230 2
1231 2 for(i=0;i<20;i++)
1232 2 {
1233 3 wr_s_eeprom(disp_buf, UaStartEeprom, sizeof(FaultTime));//initialize all fault times
C51 COMPILER V6.00i GY33485 08/16/2007 20:55:35 PAGE 21
1234 3 UaStartEeprom += 6;
1235 3 }
1236 2 for(i=0;i<20;i++)
1237 2 {
1238 3 wr_s_eeprom(disp_buf, UbStartEeprom, sizeof(FaultTime));//initialize all fault times
1239 3 UbStartEeprom += 6;
1240 3 }
1241 2 for(i=0;i<20;i++)
1242 2 {
1243 3 wr_s_eeprom(disp_buf, UcStartEeprom, sizeof(FaultTime));//initialize all fault times
1244 3 UcStartEeprom += 6;
1245 3 }
1246 2 for(i=0;i<20;i++)
1247 2 {
1248 3 wr_s_eeprom(disp_buf, IaStartEeprom, sizeof(FaultTime));//initialize all fault times
1249 3 IaStartEeprom += 6;
1250 3 }
1251 2 for(i=0;i<20;i++)
1252 2 {
1253 3 wr_s_eeprom(disp_buf, IcStartEeprom, sizeof(FaultTime));//initialize all fault times
1254 3 IcStartEeprom += 6;
1255 3 }
1256 2 for(i=0;i<20;i++)
1257 2 {
1258 3 wr_s_eeprom(disp_buf, IpStartEeprom, sizeof(FaultTime));//initialize all fault times
1259 3 IpStartEeprom += 6;
1260 3 }
1261 2 }
1262 1 rd_s_eeprom((uchar *)(&Ua_fault), Ua_EEPROM, sizeof(Ua_fault));
1263 1 rd_s_eeprom((uchar *)(&Ub_fault), Ub_EEPROM, sizeof(Ub_fault));
1264 1 rd_s_eeprom((uchar *)(&Uc_fault), Uc_EEPROM, sizeof(Uc_fault));
1265 1
1266 1 rd_s_eeprom((uchar *)(&Ia_fault), Ia_EEPROM, sizeof(Ia_fault));
1267 1 rd_s_eeprom((uchar *)(&Ib_fault), Ib_EEPROM, sizeof(Ib_fault));
1268 1 rd_s_eeprom((uchar *)(&Ic_fault), Ic_EEPROM, sizeof(Ic_fault));
1269 1 rd_s_eeprom((uchar *)(&Ip_fault), Ip_EEPROM, sizeof(Ip_fault));
1270 1 rd_s_eeprom((uchar *)(&UX_fault), UX_EEPROM, sizeof(UX_fault));
1271 1
1272 1 rd_s_eeprom(disnum, Num_EEPROM, sizeof(disnum[0])); //read all fault times
1273 1
1274 1 rd_s_eeprom(disnum+1, 66, sizeof(disnum[1])); //read each fault times
1275 1 if(disnum[1]&&!UaIflag)
1276 1 {
1277 2 UaStartEeprom += disnum[1]*12;
1278 2 UaIflag = 1;
1279 2 }
1280 1 rd_s_eeprom(disnum+2, 67, sizeof(disnum[2])); //read each fault times
1281 1 if(disnum[2]&&!UbIflag)
1282 1 {
1283 2 UbStartEeprom += disnum[2]*12;
1284 2 UbIflag = 1;
1285 2 }
1286 1 rd_s_eeprom(disnum+3, 68, sizeof(disnum[3])); //read each fault times
1287 1 if(disnum[3]&&!UcIflag)
1288 1 {
1289 2 UcStartEeprom += disnum[3]*12;
1290 2 UcIflag = 1;
1291 2 }
1292 1 rd_s_eeprom(disnum+4, 69, sizeof(disnum[4])); //read each fault times
1293 1 if(disnum[4]&&!IaIflag)
1294 1 {
1295 2 IaStartEeprom += disnum[4]*12;
C51 COMPILER V6.00i GY33485 08/16/2007 20:55:35 PAGE 22
1296 2 IaIflag = 1;
1297 2 }
1298 1 rd_s_eeprom(disnum+6, 70, sizeof(disnum[6])); //read each fault times
1299 1 if(disnum[6]&&!IcIflag)
1300 1 {
1301 2 IcStartEeprom += disnum[6]*12;
1302 2 IcIflag = 1;
1303 2 }
1304 1 rd_s_eeprom(disnum+7, 71, sizeof(disnum[7])); //read each fault times
1305 1 if(disnum[7]&&!IpIflag)
1306 1 {
1307 2 IpStartEeprom += disnum[7]*12;
1308 2 IpIflag = 1;
1309 2 }
1310 1
1311 1
1312 1 beep = 1;
1313 1 clrbit = 1;
1314 1
1315 1
1316 1 /*InitTimer0();*///5_17 shaded
1317 1 InitTimer2();//5_17 shaded
1318 1 //InitSci();//设置2400波特率,用来产生载波的定时器T0初值//
1319 1 warning_flag = 0;
1320 1
1321 1 /////////LCD///////////////
1322 1 LCD_Reset(0x01); //reset LCD_IC1
1323 1 LCD_Reset(0x02); //reset LCD_IC2
1324 1 Init_IC1(); //initialize LCD_IC1
1325 1 Init_IC2(); //initialize LCD_IC2
1326 1
1327 1 Set1302(Curtime);
1328 1 W1302(0x90,0x0A5); //enable charge 1302 connected
1329 1 Curtime[6] = R1302(0x81);
1330 1 Curtime[6] = hex_to_dec(Curtime[6]);
1331 1 // rd_s_eeprom(FaultTime,200,sizeof(FaultTime));
1332 1 //FaultTime[6];
1333 1
1334 1 while(1) //for test
1335 1 { Change_phase();
1336 2 SciSend();
1337 2 if(SpIntval==0) TotalNumOfTrb(disnum[0]);
1338 2
1339 2 KickDog();
1340 2 msec = R1302(0x81);
1341 2 msec = hex_to_dec(msec);
1342 2 if(Curtime[6] != msec)
1343 2 {
1344 3 Curtime[6] = msec;
1345 3 mail_box_flag = 1;
1346 3 }
1347 2 loop();
1348 2
1349 2 if(mail_box_flag)
1350 2 {
1351 3 //xx(); //clear all fault_flag
1352 3 gzsmdy(); //find fault and add fault_time
1353 3 faultcount();
1354 3 }
1355 2 ///////////////////////////////////////////
1356 2 if(Key3())
1357 2 {
C51 COMPILER V6.00i GY33485 08/16/2007 20:55:35 PAGE 23
1358 3 P2_5 = 1;
1359 3 // TR0 = 0;
1360 3 TR2 = 0;
1361 3 delay(1000);
1362 3 while(Key3()) KickDog();
1363 3 Key3Num %= 6;
1364 3 Key3Num ++;
1365 3 a_start = 0;
1366 3 a_stop = 0;
1367 3 IdNum = 0;
1368 3 switch(Key3Num)
1369 3 {
1370 4 case 1:
1371 4 TotalNumOfTrb(disnum[1]);
1372 4 Phase_select(Phase_A);
1373 4 DispIC1(S1,Ua_fault);
1374 4 num1 = 0;
1375 4 break;
1376 4 case 2:
1377 4 TotalNumOfTrb(disnum[2]);
1378 4 Phase_select(Phase_B);
1379 4 DispIC1(S1,Ub_fault);
1380 4 num2 = 0;
1381 4 break;
1382 4 case 3:
1383 4 TotalNumOfTrb(disnum[3]);
1384 4 Phase_select(Phase_C);
1385 4 DispIC1(S1,Uc_fault);
1386 4 num3 = 0;
1387 4 break;
1388 4 case 4:
1389 4 TotalNumOfTrb(disnum[4]);
1390 4 Phase_select(Phase_A);
1391 4 DispIC1(S2,Ia_fault);
1392 4 num4 = 0;
1393 4 break;
1394 4 case 5:
1395 4 TotalNumOfTrb(disnum[6]);
1396 4 Phase_select(Phase_C);
1397 4 DispIC1(S2,Ic_fault);
1398 4 num5 = 0;
1399 4 break;
1400 4 case 6:
1401 4 TotalNumOfTrb(disnum[7]);
1402 4 LCD_WD2(26,0x08); //no display A,B,C
1403 4 DispIC1(S3,Ip_fault);
1404 4 num6 = 0;
1405 4 break;
1406 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -