📄 show_window.lst
字号:
432 3 }
433 2 if(Bhour/10==0)
434 2 {
435 3 Display_Char(3,3,0);
436 3 }
437 2 else
438 2 {
439 3 Display_Char(3,3,Bhour/10);
440 3 }
441 2 Display_Char(4,3,Bhour%10);
442 2 Display_Char(5,3,62); // :
443 2 Display_Char(6,3,time[2]-0x30);
444 2 Display_Char(7,3,time[3]-0x30);
445 2 Display_Char(8,3,62);
446 2 Display_Char(9,3,time[4]-0x30);
447 2 Display_Char(10,3,time[5]-0x30);
448 2 /*
449 2 Display_Char(9,1,Bhour%10-0x30);
450 2 Display_Char(10,1,10);
451 2 Display_Char(11,1,time[2]-0x30);
452 2 Display_Char(12,1,time[3]-0x30);
453 2 Display_Char(13,1,10);
454 2 Display_Char(14,1,time[4]-0x30);
455 2 Display_Char(15,1,time[5]-0x30);
456 2 */
457 2 buf_full&=~0x08;
458 2 dsp_count=0;
459 2 }
460 1 }
461
462 /*****************************************************************/
463 /* 窗口显示函数:基本信息 :第三屏 : */
464 /* 窗口模式: 00000 */
465 /*
466 / ----------------------- ------- ------------------------\
467 | 水平定位误差 3 单位为“米” |
468 | ----------------------- ------- ------------------------ |
469 | 高度符号 1 '+' 或 '-' |
470 | ----------------------- ------- ------------------------ |
471
472
473 */
474 /*****************************************************************/
475 void show_menu_GaoDu()
476 {
477 1
478 1 Display_Char(0,5,43); // H
479 1 Display_Char(1,5,62); // :
480 1 Display_Char(2,5,Height[0]-0x30); // 0
481 1 Display_Char(3,5,Height[1]-0x30); // 1
482 1 Display_Char(4,5,Height[2]-0x30); // 2
483 1
484 1 Display_Char(5,5,66); // .
485 1
486 1 Display_Char(6,5,Height[4]-0x30); // 4
487 1 Display_Char(7,5,Height[5]-0x30); // 5
488 1
489 1 }
C51 COMPILER V8.02 SHOW_WINDOW 05/16/2008 10:44:20 PAGE 9
490 /*****************************************************************/
491 /* 窗口显示函数:基本信息 :第三屏 : */
492 /* 窗口模式: */
493 /*
494
495 ----------------------- ------- ------------------------
496 /东/西 速度方向 1 'E' 或 'W'
497 | ----------------------- ------- ------------------------
498 | 东/西速度 4 单位是“米/秒”,在第三位后省略了一个小数点,
499 | ("1234" = 123.4 m/s)
500 V | ----------------------- ------- ------------------------
501 e | 南/北 速度方向 1 'S' 或 'N'
502 l |
503 o | ----------------------- ------- ------------------------
504 c | 南/北 速度 4 单位是“米/秒”,在第三位后省略了一个小数点,
505 i | ("1234" = 123.4 m/s )
506 t | ----------------------- ------- ------------------------
507
508 */
509 /*****************************************************************/
510 void show_menu_SuDu()
511 {
512 1
513 1
514 1 Display_Char(1,1,57); // V
515 1 Display_Char(2,1,62); // :
516 1
517 1 Display_Char(4,1,speed[0]-0x30); // 0
518 1
519 1 Display_Char(5,1,66);
520 1 Display_Char(6,1,speed[2]-0x30); // 1
521 1 Display_Char(7,1,speed[3]-0x30); // 2
522 1 Display_Char(8,1,speed[4]-0x30); // 3
523 1
524 1 }
525 void show_menu_sat()
526 {
527 1 unsigned char usesat=0;
528 1 unsigned char use_n=0;
529 1
530 1 Display_Char(1,3,use_sat[0]-0x30); // 0
531 1 Display_Char(2,3,use_sat[1]-0x30); // 1
532 1 usesat=(use_sat[0]-0x30)*10+(use_sat[1]-0x30);
533 1
534 1 switch(usesat)
535 1 {
536 2 case 0: break;
537 2 // 无卫星
538 2 case 1: Display_Char(4,3,69);
539 2 break;
540 2 // 一颗卫星
541 2 case 2: for(use_n=0;use_n<2;use_n++)
542 2 {
543 3 Display_Char(4+use_n,3,69);
544 3 }
545 2 break;
546 2 // 二颗卫星
547 2 case 3: for(use_n=0;use_n<3;use_n++)
548 2 {
549 3 Display_Char(4+use_n,3,69);
550 3 }
551 2 break;
C51 COMPILER V8.02 SHOW_WINDOW 05/16/2008 10:44:20 PAGE 10
552 2 // 三颗卫星
553 2 case 4: for(use_n=0;use_n<4;use_n++)
554 2 {
555 3 Display_Char(4+use_n,3,69);
556 3 }
557 2 break;
558 2 // 四颗卫星
559 2 case 5: for(use_n=0;use_n<5;use_n++)
560 2 {
561 3 Display_Char(4+use_n,3,69);
562 3 }
563 2 break;
564 2 // 五颗卫星
565 2 case 6: for(use_n=0;use_n<6;use_n++)
566 2 {
567 3 Display_Char(4+use_n,3,69);
568 3 }
569 2 break;
570 2 // 六颗卫星
571 2 case 7: for(use_n=0;use_n<7;use_n++)
572 2 {
573 3 Display_Char(4+use_n,3,69);
574 3 }
575 2 break;
576 2 // 七颗卫星
577 2 case 8: for(use_n=0;use_n<8;use_n++)
578 2 {
579 3 Display_Char(4+use_n,3,69);
580 3 }
581 2 break;
582 2 // 八颗卫星
583 2 default:break;
584 2
585 2 }
586 1 }
587 void show_sum_sat()
588 {
589 1
590 1 unsigned char sum_sat=0;
591 1 unsigned char sum_n=0;
592 1
593 1 Display_Char(1,5,total_sat[0]-0x30); // 0
594 1 Display_Char(2,5,total_sat[1]-0x30); // 1
595 1 sum_sat=(total_sat[0]-48)*10+(total_sat[1]-48);
596 1
597 1 if(sum_sat>12)sum_sat=12;
598 1 for(sum_n=0;sum_n<sum_sat;sum_n++)
599 1 {
600 2
601 2 Display_Char(4+sum_n,5,69);
602 2 }
603 1
604 1 }
605
606
607 //计算星期
608 unsigned char week(unsigned char year, unsigned char mon, unsigned char day)
609 {
610 1 unsigned char Weekdays[12] = {0,3,3,6,1,4,6,2,5,0,3,5}; // 31 28 31 30 31 30 31 31 30 31 30
611 1
612 1 return (6-1 + (year>>2) + year + Weekdays[mon-1] + day + (((year & 3) || mon > 2)? 1 : 0)) % 7;
613 1 //完整的计算星期的公式:
C51 COMPILER V8.02 SHOW_WINDOW 05/16/2008 10:44:20 PAGE 11
614 1 //(year>>2) - (year / 100) + (year/400) + year +
615 1 // Weekdays[mon-1] + day + ((!isLeap(year) || mon > 2)? 1 : 0)) % 7;
616 1 }
617 /*****************************************************************/
618
619
620 void show_author_information()
621 {
622 1 Display_Char(1,5,55);
623 1 Display_Char(2,5,4);
624 1 Display_Char(3,5,8);
625 1 Display_Char(4,5,3);
626 1 Display_Char(5,5,67);
627 1 Display_Char(6,5,4);
628 1 Display_Char(7,5,67);
629 1 Display_Char(8,5,1);
630 1 Display_Char(9,5,1);
631 1 Display_Char(10,5,9);
632 1
633 1 Display_Character(12,5,18);
634 1 Display_Character(14,5,19);
635 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2618 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = 1 25
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -