⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 可编程交通灯控制系统.lst

📁 模拟实现了交通灯的显示和手动调整的功能
💻 LST
📖 第 1 页 / 共 3 页
字号:
 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 + -