📄 main.lst
字号:
1136 2 case 9:
1137 2 {
1138 3 if(ubit<=3)
1139 3 {
1140 4 U_Buf[ubit]=9;
1141 4 Disp_changei(U_Buf[ubit]);
1142 4 ubit=ubit+1;
1143 4 }
1144 3 else
1145 3 {
1146 4 ubit=0;
1147 4 }
1148 3 }break;
1149 2
1150 2 case ESC:
1151 2 {
1152 3 i_ds = 0;
1153 3 Sys_sta = IDLE_STA;
1154 3 }break;
1155 2
1156 2 case OK:
1157 2 case USET:
1158 2 {
1159 3 if(uset == 0)
1160 3 {
1161 4 if (ubit == 4)
1162 4 {
1163 5 if((U_Buf[0]==1 && U_Buf[2]==2 && U_Buf[3]>=4) || U_Buf[0]>=2)
1164 5 {
1165 6 user[userbit].U = U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
1166 6 }
1167 5 else
1168 5 {
1169 6 user[userbit].U = U_Buf[0]*1000+U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
1170 6 }
1171 5 }
C51 COMPILER V7.09 MAIN 12/06/2007 09:33:57 PAGE 20
1172 4 else if(ubit == 3)
1173 4 {
1174 5 user[userbit].U = U_Buf[0]*100+U_Buf[1]*10+U_Buf[2];
1175 5 }
1176 4 else if(ubit == 2)
1177 4 {
1178 5 user[userbit].U = U_Buf[0]*10+U_Buf[1];
1179 5 }
1180 4 else if(ubit == 1)
1181 4 {
1182 5 user[userbit].U = U_Buf[0];
1183 5 }
1184 4 U_Buf[0]=0;
1185 4 U_Buf[1]=0;
1186 4 U_Buf[2]=0;
1187 4 U_Buf[3]=0;
1188 4
1189 4 i_ds = 0;
1190 4 u_ds=0;
1191 4 ubit=0;
1192 4 i_ds = 0;
1193 4 uset=~uset;
1194 4 }
1195 3 else if(uset == 1)
1196 3 {
1197 4
1198 4 if (ubit == 4)
1199 4 {
1200 5 if((U_Buf[0]==1 && U_Buf[2]==2 && U_Buf[3]>=4) || U_Buf[0]>=2)
1201 5 {
1202 6 user[userbit].I = U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
1203 6 }
1204 5 else
1205 5 {
1206 6 user[userbit].I = U_Buf[0]*1000+U_Buf[1]*100+U_Buf[2]*10+U_Buf[3];
1207 6 }
1208 5 }
1209 4 else if(ubit == 3)
1210 4 {
1211 5 user[userbit].I = U_Buf[0]*100+U_Buf[1]*10+U_Buf[2];
1212 5 }
1213 4 else if(ubit == 2)
1214 4 {
1215 5 user[userbit].I = U_Buf[0]*10+U_Buf[1];
1216 5 }
1217 4 else if(ubit == 1)
1218 4 {
1219 5 user[userbit].I = U_Buf[0];
1220 5 }
1221 4
1222 4 U_Buf[0]=0;
1223 4 U_Buf[1]=0;
1224 4 U_Buf[2]=0;
1225 4 U_Buf[3]=0;
1226 4
1227 4 userbit = userbit+1;
1228 4 if(userbit == 7)
1229 4 {
1230 5 userbit = 0;
1231 5 }
1232 4
1233 4 i_ds = 0;
C51 COMPILER V7.09 MAIN 12/06/2007 09:33:57 PAGE 21
1234 4 u_ds=0;
1235 4 ubit=0;
1236 4 uset=~uset;
1237 4 Sys_sta = IDLE_STA;
1238 4 }
1239 3 }break;
1240 2 }
1241 1 while(keytemp!=0xff)
1242 1 {
1243 2 keytemp = Key();
1244 2 Disp();
1245 2 Delay(10);
1246 2 }
1247 1 //==============
1248 1 }
1249 //调用用户预置状态下的服务程序
1250 void CALL_USER_Mange(void)
1251 {
1252 1 unsigned int temp1,temp2;
1253 1
1254 1 if(i_ds==0)
1255 1 {
1256 2 i_ds=1;//显示call
1257 2 Disp_Buf[0]=12;
1258 2 Disp_Buf[1]=10;
1259 2 Disp_Buf[2]=20;
1260 2 Disp_Buf[3]=20;
1261 2 Disp_Buf[4]=18;
1262 2 Disp_Buf[5]=18;
1263 2 Disp_Buf[6]=18;
1264 2 Disp_Buf[7]=18;
1265 2
1266 2 Disp();
1267 2 }
1268 1 Disp();
1269 1 keytemp = Key();
1270 1
1271 1 switch(keytemp)
1272 1 {
1273 2 case 0:
1274 2 {
1275 3 Disp_Buf[7]=0;
1276 3 temp1=user[0].U;
1277 3 temp2=user[0].I;
1278 3
1279 3 }break;
1280 2
1281 2 case 1:
1282 2 {
1283 3 Disp_Buf[7]=1;
1284 3 temp1=user[1].U;
1285 3 temp2=user[1].I;
1286 3 }break;
1287 2
1288 2 case 2:
1289 2 {
1290 3 Disp_Buf[7]=2;
1291 3 temp1=user[2].U;
1292 3 temp2=user[2].I;
1293 3 }break;
1294 2 case 3:
1295 2 {
C51 COMPILER V7.09 MAIN 12/06/2007 09:33:57 PAGE 22
1296 3 Disp_Buf[7]=3;
1297 3 temp1=user[3].U;
1298 3 temp2=user[3].I;
1299 3 }break;
1300 2
1301 2 case 4:
1302 2 {
1303 3 Disp_Buf[7]=4;
1304 3 temp1=user[4].U;
1305 3 temp2=user[4].I;
1306 3 }break;
1307 2 case 5:
1308 2 {
1309 3 Disp_Buf[7]=5;
1310 3 temp1=user[5].U;
1311 3 temp2=user[5].I;
1312 3 }break;
1313 2
1314 2 case 6:
1315 2 {
1316 3 Disp_Buf[7]=6;
1317 3 temp1=user[6].U;
1318 3 temp2=user[6].I;
1319 3 }break;
1320 2
1321 2 case 7:
1322 2 {
1323 3 Disp_Buf[7]=7;
1324 3 temp1=500;
1325 3 temp2=800;
1326 3 }break;
1327 2
1328 2 case 8:
1329 2 {
1330 3 Disp_Buf[7]=8;
1331 3 temp1=330;
1332 3 temp2=500;
1333 3 }break;
1334 2
1335 2 case 9:
1336 2 {
1337 3 Disp_Buf[7]=9;
1338 3 temp1=180;
1339 3 temp2=300;
1340 3 }break;
1341 2
1342 2 case ESC:
1343 2 {
1344 3 i_ds=0;
1345 3 Sys_sta = IDLE_STA;
1346 3 }break;
1347 2
1348 2 case OK:
1349 2 case ISET:
1350 2 {
1351 3 i_ds=0;
1352 3 I_data = temp2;
1353 3 U_data = temp1;
1354 3
1355 3 SEND_5615_I(I_data);
1356 3 SEND_5615_U(U_data);
1357 3
C51 COMPILER V7.09 MAIN 12/06/2007 09:33:57 PAGE 23
1358 3 Sys_sta = IDLE_STA;
1359 3 }break;
1360 2 }
1361 1
1362 1 while(keytemp!=0xff)
1363 1 {
1364 2 keytemp = Key();
1365 2 Disp();
1366 2 Delay(10);
1367 2 }
1368 1 }
1369
1370 //主函数
1371 void main (void)
1372 {
1373 1 Init();
1374 1
1375 1 while(1)
1376 1 {
1377 2 Delay(5);//状态机
1378 2 switch(Sys_sta)
1379 2 {
1380 3 case IDLE_STA:
1381 3 {
1382 4 IDLE_Mange();//for idle state
1383 4 }break;
1384 3
1385 3 case U_SET_STA:
1386 3 {
1387 4 U_SET_Mange();//set u by 4*4
1388 4 }break;
1389 3
1390 3 case I_SET_STA://set i by 4*4
1391 3 {
1392 4 I_SET_Mange();
1393 4 }break;
1394 3
1395 3 case U_SETu://set u by 1*8
1396 3 {
1397 4 U_SETu_Mange();
1398 4 }break;
1399 3
1400 3 case I_SETi://set i by 1*8
1401 3 {
1402 4 I_SETi_Mange();
1403 4 }break;
1404 3
1405 3 case USER_SET_STA://for user set
1406 3 {
1407 4 USER_SET_Mange();
1408 4 }break;
1409 3
1410 3 case CALL_USER_STA://for user call
1411 3 {
1412 4 CALL_USER_Mange();
1413 4 }break;
1414 3
1415 3 default:break;
1416 3 }
1417 2 }
1418 1 }
1419
C51 COMPILER V7.09 MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -