📄 可编程交通灯控制系统.lst
字号:
526 2 while(time>=d&&time<=e)
527 2 {
528 3 if(setkey==0)
529 3 {
530 4 delay(150);
531 4 if(setkey==0)
532 4 {set=1;ewsn=2;
533 5 EA=0;
534 5 break;
535 5 }
536 4 }
537 3 ew=showway[4];
538 3 sn=showway[5];
539 3 display(num4);
540 3 }
541 2 while(time>=e)
542 2 {time=0;ewsn=1;}
543 2 }
544 1 if(ewsn==1)
545 1 { numred=x1+x2+x3+x4+x5;
546 2 while(time<=b)
547 2 {
548 3 if(setkey==0)
549 3 {
550 4 delay(150);
551 4 if(setkey==0)
C51 COMPILER V8.02 可盻程交通灯縚制系统 08/19/2008 19:10:33 PAGE 10
552 4 {set=1;ewsn=2;
553 5 EA=0;
554 5 break;
555 5 }
556 4 }
557 3 display(numred);
558 3 ew=showway[5];
559 3 sn=showway[0];
560 3 while(time>=(a-2)&&time<=a)
561 3 {
562 4 sngledshan();display(numred);
563 4 }
564 3
565 3 while(time>=a&&time<=b)
566 3 {
567 4 if(setkey==0)
568 4 {
569 5 delay(150);
570 5 if(setkey==0)
571 5 {set=1;ewsn=2;
572 6 EA=0;
573 6 break;
574 6 }
575 5 }
576 4 display(numred);
577 4 ew=showway[5];
578 4 sn=showway[1];
579 4 }
580 3 }
581 2 while(time>=b&&time<=c)
582 2 {
583 3 if(setkey==0)
584 3 {
585 4 delay(150);
586 4 if(setkey==0)
587 4 {set=1;ewsn=2;
588 5 EA=0;
589 5 break;
590 5 }
591 4 }
592 3 ew=showway[5];
593 3 sn=showway[2];
594 3 display(numred);
595 3 }
596 2 while(time>=c&&time<=d)
597 2 {
598 3 if(setkey==0)
599 3 {
600 4 delay(150);
601 4 if(setkey==0)
602 4 {set=1;ewsn=2;
603 5 EA=0;
604 5 break;
605 5 }
606 4 }
607 3 ew=showway[5];
608 3 sn=showway[3];
609 3 display(numred);
610 3 }
611 2 while(time>=d&&time<=e)
612 2 {
613 3 if(setkey==0)
C51 COMPILER V8.02 可盻程交通灯縚制系统 08/19/2008 19:10:33 PAGE 11
614 3 {
615 4 delay(150);
616 4 if(setkey==0)
617 4 {set=1;ewsn=2;
618 5 EA=0;
619 5 break;
620 5 }
621 4 }
622 3 ew=showway[5];
623 3 sn=showway[4];
624 3 display(numred);
625 3 }
626 2 while(time>=e)
627 2 {time=0;ewsn=0;}
628 2 }
629 1 }
630 timescan()
631 {
632 1 uchar timevor1,timevor2,timevor3,timevor4,timevor5;
633 1 for(timevor1=20;timevor1>0;timevor1--){display(x11);}
634 1 for(timevor2=20;timevor2>0;timevor2--){display(x22);}
635 1 for(timevor3=20;timevor3>0;timevor3--){display(x33);}
636 1 for(timevor4=20;timevor4>0;timevor4--){display(x44);}
637 1 for(timevor5=20;timevor5>0;timevor5--){display(x55);}
638 1 }
639 setkeyscan()
640 { timescan();
641 1 while(1)
642 1 {
643 2 P3=0xfe;
644 2 temp=P3;
645 2 temp=temp&0xf8;
646 2 if(temp!=0xf8)
647 2 {
648 3 delay(150);
649 3 if(temp!=0xf8)
650 3 {
651 4 switch(temp)
652 4 {
653 5 case 0xf0: {diskey1();}//1
654 5 break;
655 5 case 0xe8: {diskey2();}//2
656 5 break;
657 5 case 0xd8: {diskey3();}//3
658 5 break;
659 5
660 5 }
661 4 }
662 3 }
663 2 P3=0xfd;
664 2 temp=P3;
665 2 temp=temp&0xf8;
666 2 if(temp!=0xf8)
667 2 {
668 3 delay(150);
669 3 if(temp!=0xf8)
670 3 {
671 4 switch(temp)
672 4 {
673 5 case 0xf0: {diskey4();}//4
674 5 break;
675 5 case 0xe8: {diskey5();}//5
C51 COMPILER V8.02 可盻程交通灯縚制系统 08/19/2008 19:10:33 PAGE 12
676 5 break;
677 5 case 0xd8: {key=1;}//6
678 5 break;
679 5
680 5 }
681 4 }
682 3 }
683 2 P3=0xfb;
684 2 temp=P3;
685 2 temp=temp&0xf8;
686 2 if(temp!=0xf8)
687 2 {
688 3 delay(200);
689 3 if(temp!=0xf0)
690 3 {
691 4 switch(temp)
692 4 {
693 5 case 0xf0: {ew=0xbb;sn=0xbb;};
694 5 break;
695 5 case 0xe8: {
696 6 ew=0xbb;sn=0xbb;
697 6 wayt3++;
698 6 if(wayt3==2)
699 6 {
700 7 ew=0xbb;sn=0xde;
701 7 }
702 6 else if(wayt3==3)
703 6 { wayt3=0;
704 7 ew=0xde;sn=0xbb;
705 7 }
706 6 };
707 5 break;
708 5 case 0xd8: {yledshan();};
709 5 break;
710 5
711 5 }
712 4 }
713 3 }
714 2 if(okkey==0)
715 2 {
716 3 delay(150);
717 3 if(okkey==0)
718 3 { time=0;ewsn=0;
719 4 EA=1;
720 4 break;
721 4 }
722 3 }
723 2 }
724 1 }
725
726 void main()
727 { EA=1;
728 1 ET0=1;
729 1 TR0=1;
730 1 TMOD=0x01;
731 1 TH0=0x3c;
732 1 TL0=0xb0;
733 1 while(1)
734 1 {
735 2 normalshow(x11,x22,x33,x44,x55);
736 2 if(setkey==0)
737 2 {
C51 COMPILER V8.02 可盻程交通灯縚制系统 08/19/2008 19:10:33 PAGE 13
738 3 delay(150);
739 3 if(setkey==0)
740 3 {setkeyscan();}
741 3 }
742 2 if(okkey==0)
743 2 {
744 3 delay(150);
745 3 if(okkey==0)
746 3 {EA=1;set=0;ewsn=0;}
747 3 }
748 2 }
749 1 }
750 void timer0(void) interrupt 1
751 {
752 1 ET0=0;
753 1 TR0=0;
754 1 TH0=0X3C;
755 1 TL0=0Xb0;
756 1 TR0=1;
757 1 con1s++;
758 1 if(con1s==20)
759 1 { time++;
760 2 con1s=0;
761 2 if(time<=way4)
762 2 { numred--;
763 3 if(time<=way1)
764 3 {num1--;}
765 3 else if(time>=way1&&time<=way2)
766 3 {num2--;}
767 3 else if(time>=way2&&time<=way3)
768 3 {num3--;}
769 3 else {num4--;}
770 3
771 3 }
772 2
773 2 }
774 1 ET0=1;
775 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2024 ----
CONSTANT SIZE = 19 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 36 6
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 + -