📄 main.lst
字号:
506 1 // time=0;
507 1 // ddbit=!ddbit;
508 1 //}
509 1 //if(ledchange==4)
510 1 //{
511 1 // ledchange=0;
512 1 //}
513 1 // CTCOM1=1;
514 1 // CTCOM2=1;
515 1 // CTCOM3=1;
516 1 // CTCOM4=1;
517 1 //if(ledchange==0)
518 1 //{
519 1 // P0=led[dispnum[ledchange]];
520 1 /* CTK=1;
521 1 CTK=0;
522 1 CTK=1;
523 1 CTCOM1=0;
524 1 }
525 1 else if(ledchange==1)
526 1 {
527 1 if(dotflag)
528 1 P0=led[dispnum[ledchange]];
529 1 else P0=led[dispnum[ledchange]]|led[10]; //加小数点
530 1
531 1 CTK=1;
532 1 CTK=0;
533 1 CTK=1;
534 1 CTCOM2=0;
535 1 }
536 1 else if(ledchange==2)
537 1 {
538 1 if(!dotflag)
539 1 P0=led[dispnum[ledchange]];
540 1 else P0=led[dispnum[ledchange]]|led[10]; //加小数点
541 1 P0=led[dispnum[ledchange]];
542 1 CTK=1;
543 1 CTK=0;
544 1 CTK=1;
545 1 CTCOM3=0;
546 1 }
547 1 else if(ledchange==3)
548 1 {
549 1 P0=led[dispnum[ledchange]];
C51 COMPILER V7.06 MAIN 06/14/2003 11:25:10 PAGE 10
550 1 CTK=1;
551 1 CTK=0;
552 1 CTK=1;
553 1 CTCOM4=0;
554 1 }
555 1 ledchange++;*/
556 1 }
557
558 /**********************************8
559 指示移位
560 ************************************/
561 void fingermove(uchar a,bit b,bit d)
562 {
563 1 uchar temb;
564 1 if(d)
565 1 {
566 2 if(b)//指针down
567 2 { temb=a-2;
568 3 LCM12864(0,temb,0,16,0);
569 3 _nop_();
570 3 LCM12864(0,temb+1,0,16,0);
571 3 _nop_();
572 3 fingersbuf[0]=40;
573 3 _nop_();
574 3 DispPage2(fingersbuf,a,0,1,2);
575 3 _nop_();
576 3 }
577 2 else //up
578 2 {
579 3 temb=a+2;
580 3 LCM12864(0,temb,0,16,0);
581 3 LCM12864(0,temb+1,0,16,0);
582 3 fingersbuf[0]=40;
583 3 DispPage2(fingersbuf,a,0,1,2);
584 3 }
585 2 }
586 1 else
587 1 {
588 2 fingersbuf[0]=40;
589 2 temb=a;
590 2 DispPage2(fingersbuf,temb,0,1,2);
591 2 }
592 1 }
593 /****************************************
594 系统处理
595 **************************************/
596 uchar page;
597 uchar state;
598 bit port;//port=0 为鍵面操作,port=1为端口操作.
599 uchar idata Fcount;//F 项位置定位。
600 uchar idata Ecount;//E项位置 定位。
601 uchar idata Ccount;//C项位置 定位。
602 uchar idata Hcount;//H项位置 定位。
603 uchar idata Ucount;//P项位置定位。
604 uchar idata Pcount;
605 uchar idata Mcount;//菜单位置 定位。
606 bit runfirst;
607 uchar idata movepin;
608 uchar idata IOcount;
609 uchar idata runcount;
610 bit stopfirst;
611 bit runfirst;
C51 COMPILER V7.06 MAIN 06/14/2003 11:25:10 PAGE 11
612 uchar itemcode;
613 void managemenu(void)
614 {
615 1 uchar subb;
616 1 if((state==0)&&(page==0)&&(stopfirst==0))
617 1 { cleardisp();
618 2 interfaceStop();
619 2 stopfirst=1;
620 2
621 2 }
622 1 if((state==1)&&(page==1)&&(runfirst==0))
623 1 { cleardisp();
624 2 interfaceRun();
625 2 runfirst=1;
626 2
627 2 }
628 1 if(((state==0)&&(stopfirst))||((state==1)&&(runfirst)))
629 1 {
630 2 if((key_tag==1)&&(key_code==PRG)&&((page==0)||(page==1)))
631 2 {
632 3
633 3 key_tag=0;
634 3 Mcount=1;
635 3 page=2;
636 3 back=0;
637 3 time=0;
638 3 changepage(1,2,1);
639 3
640 3
641 3 }
642 2 if((key_tag)&&(key_code==DOWN)&&(Mcount>0)&&(Mcount<=9)&&(page==2))
643 2 {
644 3 back=0;
645 3 time=0;
646 3
647 3 key_tag=0;
648 3 if((Mcount%4)==0)
649 3 {
650 4 subb=Mcount/4;
651 4 subb+=1;
652 4 changepage(subb,2,1);
653 4 Mcount+=1;
654 4 }
655 3 else if(((Mcount%4)!=0)&&(Mcount!=9))
656 3 {
657 4 Mcount+=1;
658 4 movepin+=2;
659 4 fingermove(movepin,1,1);
660 4 }
661 3
662 3 }
663 2 if((key_tag)&&(key_code==UP)&&(Mcount>0)&&(Mcount<10)&&(page==2))
664 2 {
665 3 back=0;
666 3 time=0;
667 3
668 3 key_tag=0;
669 3 subb=Mcount-1;
670 3 if((subb!=0)&&((subb%4)==0))
671 3 {
672 4 subb=subb/4;
673 4 changepage(subb,2,0);
C51 COMPILER V7.06 MAIN 06/14/2003 11:25:10 PAGE 12
674 4 Mcount-=1;
675 4 }
676 3 else if((((Mcount-1)%4)!=0)&&(Mcount!=1))
677 3 {
678 4 Mcount-=1;
679 4 movepin-=2;
680 4 fingermove(movepin,0,1);
681 4 }
682 3 }
683 2 if((key_tag)&&(key_code==FUNC)&&(Mcount>0)&&(Mcount<10)&&(page==2))
684 2 {
685 3 key_tag=0;
686 3 back=0;
687 3 time=0;
688 3 page=3;
689 3 Fcount=0;
690 3 Hcount=0;
691 3 Ecount=0;
692 3 Pcount=0;
693 3 Ucount=0;
694 3 Ccount=0;
695 3 vindicatecount=0;
696 3 IOcount=0;
697 3 runcount=0;
698 3 itemcode=Mcount;
699 3 }
700 2 if((((key_code==PRG))||((key_code==RESET)))&&(page==2)&&(key_tag))
701 2 {
702 3 key_tag=0;
703 3
704 3 if(state==0)
705 3 {
706 4 page=0;
707 4 stopfirst=0;
708 4 Mcount=0;
709 4 }
710 3 if(state==1)
711 3 {
712 4 page=1;
713 4 runfirst=0;
714 4 Mcount=0;
715 4 }
716 3 }
717 2 }
718 1
719 1 }
720 /************************************
721 基本功能1屏
722 ************************************/
723 void screen1(void)
724 {
725 1 combinline(5,23,23,6,42,43,44,45,0,0);
726 1 DispPage2(fingersbuf,0,16,8,2);
727 1 combinline(5,23,24,6,46,47,77,78,24,0);
728 1 DispPage2(fingersbuf,2,16,9,2);
729 1 combinline(5,23,25,6,116,117,173,170,0,0);
730 1 DispPage2(fingersbuf,4,16,8,2);
731 1 combinline(5,23,26,6,48,49,46,47,24,0);
732 1 DispPage2(fingersbuf,6,16,9,2);
733 1 }
734 /************************************
735 基本功能2屏
C51 COMPILER V7.06 MAIN 06/14/2003 11:25:10 PAGE 13
736 ************************************/
737 void screen2(void)
738 {
739 1 combinline(5,23,27,6,50,51,46,47,24,0);
740 1 DispPage2(fingersbuf,0,16,9,2);
741 1 combinline(5,23,28,6,54,123,52,53,24,0);
742 1 DispPage2(fingersbuf,2,16,9,2);
743 1 combinline(5,23,29,6,48,49,52,53,24,0);
744 1 DispPage2(fingersbuf,4,16,9,2);
745 1 combinline(5,23,30,6,55,56,57,58,24,0);
746 1 DispPage2(fingersbuf,6,16,9,2);
747 1 }
748 /*****************************
749 screen 3
750 ******************************/
751 void screen3(void)
752 {
753 1 combinline(5,23,31,6,147,56,57,58,24,0);
754 1 DispPage2(fingersbuf,0,16,9,2);
755 1 combinline(5,23,32,6,62,63,64,65,24,0);
756 1 DispPage2(fingersbuf,2,16,9,2);
757 1 combinline(5,24,23,6,59,60,52,61,24,0);
758 1 DispPage2(fingersbuf,4,16,9,2);
759 1 combinline(5,24,24,6,12,9,77,78,80,24);
760 1 DispPage2(fingersbuf,6,16,10,2);
761 1 }
762 /*********************************
763 screen 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -