📄 settime.lst
字号:
314 3 }
315 2 }
316 1
317 1 if(flag1 == 3) //设置月状态时
318 1 {
319 2 if(add == 0)
320 2 delay_50us(100);
321 2 if(add == 0)
322 2 {
323 3 while(!add);
324 3 if(month == 12)
325 3 month = 1;
326 3 else
327 3 month++;
328 3 }
329 2 if(dec == 0)
330 2 delay_50us(100);
331 2 if(dec == 0)
332 2 {
333 3 while(!dec);
334 3 if(month == 1)
335 3 month = 12;
336 3 else
337 3 month--;
338 3 }
339 2 }
340 1
341 1 if(flag1 == 4) //设置日期状态时
342 1 {
343 2 if(add == 0)
344 2 delay_50us(100);
345 2 if(add == 0)
346 2 {
347 3 while(!add);
348 3 if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (mo
-nth == 12))
349 3 {
350 4 if(date == 31)
351 4 date = 1;
352 4 else
353 4 date++;
354 4 }
355 3 if((month == 4) || (month == 6) || (month == 9) || (month == 11))
356 3 {
357 4 if(date == 30)
358 4 date = 1;
359 4 else
360 4 date++;
361 4 }
362 3 else
363 3 {
364 4 if(date == 29)
C51 COMPILER V7.50 SETTIME 04/12/2008 21:12:31 PAGE 7
365 4 date = 1;
366 4 else
367 4 date++;
368 4 }
369 3 }
370 2 if(dec == 0)
371 2 delay_50us(100);
372 2 if(dec == 0)
373 2 {
374 3 while(!dec);
375 3 if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (m
-onth == 12))
376 3 {
377 4 if(date == 1)
378 4 date = 31;
379 4 else
380 4 date--;
381 4 }
382 3 if((month == 4) || (month == 6) || (month == 9) || (month == 11))
383 3 {
384 4 if(date == 1)
385 4 date = 30;
386 4 else
387 4 date--;
388 4 }
389 3 else
390 3 {
391 4 if(date == 1)
392 4 date = 29;
393 4 else
394 4 date--;
395 4 }
396 3 }
397 2 }
398 1 //在正常时间显示状态时按下dec键,可以在时间显示和温度显示状态之间切换
399 1 if(dec == 0)
400 1 delay_50us(100);
401 1 if(dec == 0)
402 1 {
403 2 while(!dec);
404 2 flag2 = !flag2;
405 2 }
406 1 //esc键按下,推出设置及温度显示状态,返回到时间显示
407 1 if(esc == 0)
408 1 delay_50us(100);
409 1 if(esc == 0)
410 1 {
411 2 while(!esc);
412 2 flag1 = 0;
413 2 flag2 = 0;
414 2 }
415 1 //else
416 1 // settime();
417 1 }
418
419 void showmin()
420 {
421 1 uchar n,w;
422 1 Num[0]=min % 10;
423 1 Num[1]=min / 10;
424 1 Num[2]=hour % 10;
425 1 Num[3]=hour / 10;
C51 COMPILER V7.50 SETTIME 04/12/2008 21:12:31 PAGE 8
426 1 for(n=80;n>0;n--)
427 1 {
428 2 for(w=0;w<4;w++)
429 2 {
430 3 P0 = 0xff;
431 3 P2=SW[w];
432 3 P0=table[Num[w]];
433 3 delay_50us(10);
434 3 }
435 2 }
436 1 for(n=200;n>0;n--)
437 1 {
438 2 for(w=2;w<4;w++)
439 2 {
440 3 P0 = 0xff;
441 3 P2=SW[w];
442 3 P0=table[Num[w]];
443 3 delay_50us(10);
444 3 }
445 2 }
446 1 }
447
448 void showhour()
449 {
450 1 uchar n,w;
451 1 Num[0]=min % 10;
452 1 Num[1]=min / 10;
453 1 Num[2]=hour % 10;
454 1 Num[3]=hour / 10;
455 1 for(n=80;n>0;n--)
456 1 {
457 2 for(w=0;w<4;w++)
458 2 {
459 3 P0 = 0xff;
460 3 P2=SW[w];
461 3 P0=table[Num[w]];
462 3 delay_50us(10);
463 3 }
464 2 }
465 1 for(n=200;n>0;n--)
466 1 {
467 2 for(w=0;w<2;w++)
468 2 {
469 3 P0 = 0xff;
470 3 P2=SW[w];
471 3 P0=table[Num[w]];
472 3 delay_50us(10);
473 3 }
474 2 }
475 1 }
476
477 void showdate()
478 {
479 1 uchar n,w;
480 1 Num[0]=date % 10;
481 1 Num[1]=date / 10;
482 1 Num[2]=month % 10;
483 1 Num[3]=month / 10;
484 1 for(n=80;n>0;n--)
485 1 {
486 2 for(w=0;w<4;w++)
487 2 {
C51 COMPILER V7.50 SETTIME 04/12/2008 21:12:31 PAGE 9
488 3 P0 = 0xff;
489 3 P2=SW[w];
490 3 P0=table[Num[w]];
491 3 delay_50us(10);
492 3 }
493 2 }
494 1 for(n=200;n>0;n--)
495 1 {
496 2 for(w=2;w<4;w++)
497 2 {
498 3 P0 = 0xff;
499 3 P2=SW[w];
500 3 P0=table[Num[w]];
501 3 delay_50us(10);
502 3 }
503 2 }
504 1 }
505
506 void showmonth()
507 {
508 1 uchar n,w;
509 1 Num[0]=date % 10;
510 1 Num[1]=date / 10;
511 1 Num[2]=month % 10;
512 1 Num[3]=month / 10;
513 1 for(n=80;n>0;n--)
514 1 {
515 2 for(w=0;w<4;w++)
516 2 {
517 3 P0 = 0xff;
518 3 P2=SW[w];
519 3 P0=table[Num[w]];
520 3 delay_50us(10);
521 3 }
522 2 }
523 1 for(n=200;n>0;n--)
524 1 {
525 2 for(w=0;w<2;w++)
526 2 {
527 3 P0 = 0xff;
528 3 P2=SW[w];
529 3 P0=table[Num[w]];
530 3 delay_50us(10);
531 3 }
532 2 }
533 1 }
534
535 void showtime()
536 {
537 1 uchar n,w;
538 1 Num[0]=min % 10;
539 1 Num[1]=min / 10;
540 1 Num[2]=hour % 10;
541 1 Num[3]=hour / 10;
542 1 for(n=10;n>0;n--)
543 1 {
544 2 for(w=0;w<4;w++)
545 2 {
546 3 P0 = 0xff;
547 3 P2=SW[w];
548 3 P0=table[Num[w]];
549 3 delay_50us(10);
C51 COMPILER V7.50 SETTIME 04/12/2008 21:12:31 PAGE 10
550 3 }
551 2 }
552 1 }
553
554 void main()
555 {
556 1 uchar temp;
557 1 flag1 = 0;
558 1 Start_ds18b20();
559 1 delay_50us(10);
560 1 temp = ReadTemp();
561 1 Init1302();
562 1 while(1)
563 1 {
564 2 Gettime();
565 2 //Start_ds18b20();
566 2 //if((sec%16) > 4)
567 2 //for(i=5;i>0;i--)
568 2 //{
569 2 showtime();
570 2 // }
571 2 /*else
572 2 {
573 2 temp = ReadTemp();
574 2 for(i=10;i>0;i--)
575 2 {
576 2 showtemp(temp);
577 2 }
578 2 }*/
579 2 scankey();
580 2 while(flag2)
581 2 {
582 3 flag1 = 0;
583 3 scankey();
584 3 Start_ds18b20();
585 3 delay_50us(10);
586 3 temp = ReadTemp();
587 3 showtemp(temp);
588 3 }
589 2 while(flag1)
590 2 {
591 3 scankey();
592 3 flag2 = 0;
593 3 /* if(flag1 == 1)
594 3 {
595 3 Start_ds18b20();
596 3 delay_50us(10);
597 3 temp = ReadTemp();
598 3 showtemp(temp);
599 3 }*/
600 3 if(flag1 == 1)
601 3 showhour();
602 3 if(flag1 == 2)
603 3 showmin();
604 3 if(flag1 == 3)
605 3 showmonth();
606 3 if(flag1 == 4)
607 3 showdate();
608 3 if(flag1 == 5)
609 3 {
610 4 settime();
611 4 flag1 = 0;
C51 COMPILER V7.50 SETTIME 04/12/2008 21:12:31 PAGE 11
612 4 }
613 3 }
614 2 }
615 1 }
616
617
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1494 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 3
IDATA SIZE = ---- ----
BIT SIZE = 1 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -