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

📄 0820.lst

📁 全功能交通灯设计智能交通灯.rar
💻 LST
📖 第 1 页 / 共 3 页
字号:
 448   3                                      y--;
 449   3                                      if(y==0)
 450   3                                      {
 451   4                                              flag=2;
 452   4                                      }
 453   3                               }
 454   2                               if(flag==2)
 455   2                               {
 456   3                                      zr--;cg--;
 457   3                                      if(zr>cg)
 458   3                                      {
 459   4                                              if(cg==0)
 460   4                                              {
 461   5                                                      if(zr>3)
 462   5                                                      {
 463   6                                              //       flag=2;
 464   6                                                       cg=zr;
 465   6                                                       y=4;
 466   6                                                      }
 467   5                                                      if(zr==3)
 468   5                                                      {
 469   6                                                              flag=3;
 470   6                                                              y=4;
 471   6                                                      }
 472   5                                                      
 473   5                                              }
 474   4                                      }
 475   3                                      if(zr<cg)
 476   3                                      {
 477   4                                              if(zr==0)
 478   4                                              {
 479   5                                                      if(cg>3)
 480   5                                                      {
 481   6                                      //                flag=2;
 482   6                                                        zr=cg;
 483   6                                                        y=4;
 484   6                                                      }
 485   5                                                      if(cg==3)
 486   5                                                      {
 487   6                                                              flag=3;
 488   6                                                              y=4;
 489   6                                                      }
C51 COMPILER V8.02   0820                                                                  08/21/2008 01:50:51 PAGE 9   

 490   5                                              }
 491   4                                      }
 492   3                                      if(zr==cg)
 493   3                                      {
 494   4                                              flag=2;
 495   4                                              if(zr==0)
 496   4                                              {
 497   5                                                      flag=3;
 498   5                                              }
 499   4                                      }
 500   3      
 501   3                               }
 502   2                               if(flag==3)
 503   2                               {
 504   3                                      y--;
 505   3                                      if(y==0)
 506   3                                      {
 507   4                                              flag=0;
 508   4                                              zr=23;zg=30;cr=33;cg=20;
 509   4                                      }
 510   3                               }
 511   2                              
 512   2                      }
 513   1      
 514   1                      if(key1num!=0)
 515   1                      {
 516   2                         if(key1num==1)
 517   2                         {
 518   3                                      if(flag==0)
 519   3                                                       {
 520   4                                                              displayz(zg);   
 521   4                                                       }
 522   3                                                       if(flag==2)
 523   3                                                       {
 524   4                                                              displayz(cg);
 525   4                                                       }
 526   3                         }
 527   2                         if(key1num==2)
 528   2                         {
 529   3                                              if(flag==0)
 530   3                                                       {
 531   4                                                              displayc(cr);   
 532   4                                                       }
 533   3                                                       if(flag==2)
 534   3                                                       {
 535   4                                                              displayc(zr);
 536   4                                                       }
 537   3                         }
 538   2                      }         
 539   1                      if(key1num==0)
 540   1                      {
 541   2                               if(flag==0)
 542   2                               {
 543   3                                      P0=0xdd;//红灯
 544   3                                      display(zg,cr); 
 545   3                               }
 546   2                               if(flag==1)                                      
 547   2                               {
 548   3                                              P0=0xd4;
 549   3                                              displayy(y);
 550   3                               }
 551   2                               if(flag==2)
C51 COMPILER V8.02   0820                                                                  08/21/2008 01:50:51 PAGE 10  

 552   2                               {
 553   3                                      P0=0xeb;
 554   3                                      display(cg,zr);
 555   3                               }
 556   2                               if(flag==3)
 557   2                               {
 558   3                                      P0=0xe2;//黄灯
 559   3                                      displayy(y);
 560   3                               }
 561   2                       
 562   2                      }               
 563   1              
 564   1      }
 565          void serPort()
 566          {
 567   1              if(countser==1)
 568   1              {
 569   2                          ES=0;
 570   2                              countser=0;
 571   2                              SBUF=a;
 572   2                              while(!TI);
 573   2                              TI=0;
 574   2                              ES=1;
 575   2      
 576   2                      
 577   2              
 578   2                      if(a==0x11)
 579   2                      {
 580   3                              flagSer=1;        //标志位
 581   3                              TR0=0;    //停止计数器
 582   3                      }
 583   2                      if(a==0xff)
 584   2                      {
 585   3                              TR0=1;     //标志位
 586   3                              flagSer=0;         //启动
 587   3                      key1num=0;
 588   3                      }
 589   2                      if(flagSer==1)
 590   2                      {
 591   3                              if(a==0x01)
 592   3                              {
 593   4                                key1num=1;
 594   4                                dyflagSer=1;
 595   4                                a=0;
 596   4                              }
 597   3                               if(a==0x02)
 598   3                               {
 599   4                                 key1num=2;
 600   4                                 dyflagSer=2;
 601   4                                 a=0;
 602   4                               }
 603   3                               if(dyflagSer==1)
 604   3                               {
 605   4                                             if(flag==0)
 606   4                                                       {
 607   5                                                              zg=SBUF;        
 608   5                                                       }
 609   4                                                       if(flag==2)
 610   4                                                       {
 611   5                                                            cg=SBUF;
 612   5                                                       }
 613   4                               }
C51 COMPILER V8.02   0820                                                                  08/21/2008 01:50:51 PAGE 11  

 614   3                               if(dyflagSer==2)
 615   3                               {
 616   4                                              if(flag==0)
 617   4                                                       {
 618   5                                                              cr=SBUF;        
 619   5                                                       }
 620   4                                                       if(flag==2)
 621   4                                                       {
 622   5                                                              zr=SBUF;
 623   5                                                       }
 624   4                               }
 625   3                      }
 626   2              }
 627   1      
 628   1      }
 629          
 630          void main()                     //程序主函数
 631          {
 632   1              
 633   1              init();         //初始化程序
 634   1              while(1)
 635   1              {
 636   2                      keyscan();
 637   2                      shuanfa();
 638   2                      serPort();
 639   2              
 640   2               }
 641   1      }
 642          void t0(void ) interrupt 1  //定时器T0  中断计时用
 643          {
 644   1              TH0=(65535-50000)/256;
 645   1              TL0=(65535-50000)%256;
 646   1              count++;        
 647   1      }
 648          ////////////////////////////////////////////
 649          //串口通信////////////////
 650          //发送0x00,数码管停止,发送0xff,计时起动///
 651          //发送0x01,设置主通道的时间//////////
 652          //发送0x02   设置次通道的时间////////
 653          void ser() interrupt 4
 654          {
 655   1              RI=0;
 656   1      //      P1=SBUF;
 657   1              a=SBUF;
 658   1              countser=1;
 659   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1064    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       2
   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 + -