📄 sky_main.lst
字号:
1150 2 if(i%4==0)
1151 2 w+=2;
1152 2 else
1153 2 w+=1;
1154 2 }
1155 1 for(i=1;i<m;i++)
1156 1 {
1157 2 if(i==4 || i==6 || i==9 || i==11)
1158 2 w+=2;
1159 2 else if(i==2)
1160 2 {
1161 3 if(y%4==0)
1162 3 w+=1;
1163 3 }
1164 2 else
1165 2 w+=3;
1166 2 }
1167 1 w+=d;
1168 1 w-=1;
1169 1 w%=7;
1170 1 return(w);
1171 1 }
1172 void DateTimeSet(void)//日期时间设置
1173 {
1174 1 data UINT8 temp,num,week1,year1,month1,date1,hour1,minute1,second1;
1175 1 bit flag;
1176 1
1177 1 flag=1;
1178 1 num=0;
1179 1 year1=Year;
1180 1 month1=Month;
1181 1 date1=Date;
1182 1 hour1=Hour;
1183 1 minute1=Minute;
1184 1 second1=Second;
1185 1 week1=Week;
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 21
1186 1 while(1)
1187 1 {
1188 2 temp=KeyScan();
1189 2 if(count2>2400)
1190 2 {
1191 3 Function=0;
1192 3 clearRAM(0,8);
1193 3 return;
1194 3 }
1195 2 ClearWatchDog();
1196 2 switch(temp)
1197 2 {
1198 3 case MOVE:
1199 3 num++;
1200 3 if(num>5)
1201 3 num=0;
1202 3 flag=1;
1203 3 break;
1204 3 case UP:
1205 3 switch(num)
1206 3 {
1207 4 case 0:
1208 4 year1+=1;
1209 4 year1%=100;
1210 4 flag=2;
1211 4 break;
1212 4 case 1:
1213 4 month1+=1;
1214 4 if(month1>12)
1215 4 month1=1;
1216 4 flag=2;
1217 4 break;
1218 4 case 2:
1219 4 date1+=1;
1220 4 flag=2;
1221 4 break;
1222 4 case 3:
1223 4 hour1+=1;
1224 4 if(hour1>23)
1225 4 hour1=0;
1226 4 flag=1;
1227 4 break;
1228 4 case 4:
1229 4 minute1+=1;
1230 4 if(minute1>59)
1231 4 minute1=0;
1232 4 flag=1;
1233 4 break;
1234 4 case 5:
1235 4 second1+=1;
1236 4 if(second1>59)
1237 4 second1=0;
1238 4 flag=1;
1239 4 break;
1240 4 }
1241 3 if(flag==2)
1242 3 {
1243 4 if(month1==4 || month1== 6 || month1==9 || month1==11)
1244 4 {
1245 5 if(date1>30)
1246 5 date1=1;
1247 5 }
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 22
1248 4 else if(month1==2)
1249 4 {
1250 5 if(year1 %4==0)
1251 5 {
1252 6 if(date1>29)
1253 6 date1=1;
1254 6 }
1255 5 else if(date1>28)
1256 5 {
1257 6 date1=1;
1258 6 }
1259 5 }
1260 4 else
1261 4 {
1262 5 if(date1>31)
1263 5 date1=1;
1264 5 }
1265 4 week1=Weekjs(year1,month1,date1);
1266 4 }
1267 3 flag=1;
1268 3 break;
1269 3 case DOWN:
1270 3 switch(num)
1271 3 {
1272 4 case 0:
1273 4 if(year1==0)
1274 4 year1=99;
1275 4 else
1276 4 {
1277 5 year1-=1;
1278 5 }
1279 4 flag=2;
1280 4 break;
1281 4 case 1:
1282 4 if(month1==1)
1283 4 month1=12;
1284 4 else
1285 4 month1-=1;
1286 4 flag=2;
1287 4 break;
1288 4 case 2:
1289 4 if(date1==1)
1290 4 date1=28;
1291 4 else
1292 4 date1-=1;
1293 4 flag=2;
1294 4 break;
1295 4 case 3:
1296 4 if(hour1==0)
1297 4 hour1=23;
1298 4 else
1299 4 hour1-=1;
1300 4 flag=1;
1301 4 break;
1302 4 case 4:
1303 4 if(minute1==0)
1304 4 minute1=59;
1305 4 else
1306 4 minute1-=1;
1307 4 flag=1;
1308 4 break;
1309 4 case 5:
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 23
1310 4 if(second1==0)
1311 4 second1=59;
1312 4 else
1313 4 second1-=1;
1314 4 flag=1;
1315 4 break;
1316 4 }
1317 3 if(flag==2)
1318 3 {
1319 4 if(month1==4 || month1== 6 || month1==9 || month1==11)
1320 4 {
1321 5 if(date1>30)
1322 5 date1=1;
1323 5 }
1324 4 else if(month1==2)
1325 4 {
1326 5 if(year1 %4==0)
1327 5 {
1328 6 if(date1>29)
1329 6 date1=1;
1330 6 }
1331 5 else if(date1>28)
1332 5 {
1333 6 date1=1;
1334 6 }
1335 5 }
1336 4 else
1337 4 {
1338 5 if(date1>31)
1339 5 date1=1;
1340 5 }
1341 4 week1=Weekjs(year1,month1,date1);
1342 4 }
1343 3 flag=1;
1344 3 break;
1345 3 case ENTER:
1346 3 Year=year1;
1347 3 Month=month1;
1348 3 Date=date1;
1349 3 Hour=hour1;
1350 3 Minute=minute1;
1351 3 Second=second1;
1352 3 Week=week1;
1353 3 Beep1(3);
1354 3 Function=0;
1355 3 return;
1356 3 case ESC:
1357 3 Function=0;
1358 3 return;
1359 3 }
1360 2 if(flag==1)
1361 2 {
1362 3 flag=0;
1363 3 if(num<3)
1364 3 {
1365 4 Date_display(week1,year1,month1,date1,num);
1366 4 Time_display(5,hour1,minute1,second1,3);
1367 4 }
1368 3 else
1369 3 {
1370 4 Date_display(week1,year1,month1,date1,3);
1371 4 Time_display(5,hour1,minute1,second1,num-3);
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 24
1372 4 }
1373 3 }
1374 2 }
1375 1 }
1376
1377 void ClockTimeset(void)//定时时间设置ok
1378 {
1379 1 data UINT8 temp,num=0,lu=1,date,no=1,sh=23,sm=59,ss=59,eh=23,em=59,es=59;
1380 1 bit flag1=1,flag=0;
1381 1 data UINT16 addr;
1382 1
1383 1 clearRAM(0,8);
1384 1 date=Week;
1385 1 Display_Line(9,0,6,0);
1386 1 Display_Line(10,2,3,0);
1387 1 HzDisplay(system[0],4,112,0);
1388 1 HzDisplay(system[1],6,112,0);
1389 1 addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
1390 1 sh=EEPROMByteRead0(addr);
1391 1 Delay1(100);
1392 1 sm=EEPROMByteRead0(addr+1);
1393 1 Delay1(100);
1394 1 ss=EEPROMByteRead0(addr+2);
1395 1 Delay1(100);
1396 1 eh=EEPROMByteRead0(addr+3);
1397 1 Delay1(100);
1398 1 em=EEPROMByteRead0(addr+4);
1399 1 Delay1(100);
1400 1 es=EEPROMByteRead0(addr+5);
1401 1 Delay1(100);
1402 1 while(1)
1403 1 {
1404 2 temp=KeyScan();
1405 2 if(count2>2400)
1406 2 return;
1407 2 ClearWatchDog();
1408 2 switch(temp)
1409 2 {
1410 3 case ENTER:
1411 3 addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
1412 3 Delay1(2000);
1413 3 EEPROMByteWrite0(addr,sh);
1414 3 Delay1(2000);
1415 3 EEPROMByteWrite0(addr+1,sm);
1416 3 Delay1(2000);
1417 3 EEPROMByteWrite0(addr+2,ss);
1418 3 Delay1(2000);
1419 3 EEPROMByteWrite0(addr+3,eh);
1420 3 Delay1(2000);
1421 3 EEPROMByteWrite0(addr+4,em);
1422 3 Delay1(2000);
1423 3 EEPROMByteWrite0(addr+5,es);
1424 3 Delay1(2000);
1425 3 Display_Save(2,80);
1426 3 Beep1(3);
1427 3 break;
1428 3 case ESC:
1429 3 return;
1430 3 case MOVE:
1431 3 num++;
1432 3 if(num==9)
1433 3 num=0;
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 25
1434 3 flag1=1;
1435 3 break;
1436 3 case UP:
1437 3 switch(num)
1438 3 {
1439 4 case 1:
1440 4 date++;
1441 4 if(date==7)
1442 4 date=0;
1443 4 addr=(date*900+(lu-1)*60+(no-1))*6+0x80;
1444 4 sh=EEPROMByteRead0(addr);
1445 4 Delay1(100);
1446 4 sm=EEPROMByteRead0(addr+1);
1447 4 Delay1(100);
1448 4 ss=EEPROMByteRead0(addr+2);
1449 4 De
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -