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

📄 7.lst

📁 51控制的十字路口交通灯 左右转 人行道
💻 LST
📖 第 1 页 / 共 2 页
字号:
 279   3       delay();
 280   3       SB1=1;
 281   3       delay();
 282   3       n=ST/10;
 283   3       SB2=0;
 284   3       P0=table[n];
 285   3       delay();
 286   3       delay();
 287   3       SB2=1;
 288   3       delay();
 289   3               if(add==0)
 290   3             {
 291   4                 for(k=0;k<20000;k++)
 292   4                   ;
 293   4                      if(add==0)
 294   4                      D1++;
 295   4                      //if(D1==99)
 296   4              //      D1=0;
 297   4                      }
 298   3            if(dec==0)
 299   3              {
 300   4                  for(k=0;k<20000;k++)
 301   4                   ;
 302   4                       if(dec==0)
 303   4                       D1--;
C51 COMPILER V7.06   7                                                                     05/12/2006 19:27:59 PAGE 6   

 304   4                       //if(D1==0);
 305   4                       //D1=99;
 306   4                      }
 307   3            }
 308   2                C_G=1;
 309   2                if(menu==0)
 310   2              {for(k=0;k<10000;k++)
 311   3                   ;
 312   3                               if(menu==0)
 313   3                    { for(k=0;k<20000;k++)
 314   4                       ;
 315   4                      if(menu==0)
 316   4                         {for(k=0;k<50000;k++)
 317   5                          ;
 318   5                           exit=0;
 319   5                                               }
 320   4                                      }
 321   3                              }
 322   2                       
 323   2       }
 324   1        
 325   1      }
 326          void main(void)///////////////////////////////////////////////////////////////////
 327          {  
 328   1        A1=15;//主干转弯时间
 329   1        B1=60;//主干通行时间
 330   1        C1=10;//次干转弯时间
 331   1        D1=45;//次干通行时间
 332   1        a=A1;//15
 333   1        b=A1+B1;//75
 334   1        c=C1;//10
 335   1        d=C1+D1;//15
 336   1        if(menu==0)
 337   1        for(k=0;k<10000;k++)
 338   1              ;
 339   1        if(menu==0)
 340   1        settime();   
 341   1        init();
 342   1        a=A1;//15
 343   1        b=A1+B1;//75
 344   1        c=C1;//10
 345   1        d=C1+D1;//15
 346   1        while(1)
 347   1        {
 348   2          switch(CASE)
 349   2           {
 350   3             case 1:
 351   3                  PT=a;
 352   3                  ST=b;
 353   3      
 354   3                  C_R=0;//C go ahead forbit
 355   3                  D_R=0;//D go ahead forbit
 356   3                  A_A=0;//A road turn left allow
 357   3                  A_R=0;
 358   3                  B_A=0;//B road turn left allow
 359   3                  B_R=0;
 360   3                  PR_G=0;//primary road turn right allow
 361   3                  PR_R=1;
 362   3                  SR_R=0;//secondary road turn right forbit
 363   3                  SR_G=1;
 364   3                  PSW_G=1;//primary road sidewalk forbit
 365   3                  PSW_R=0;
C51 COMPILER V7.06   7                                                                     05/12/2006 19:27:59 PAGE 7   

 366   3                  SSW_G=1;//secondary road sidewalk forbit
 367   3                  SSW_R=0;
 368   3                  while(!(PT==0&&ST==0))
 369   3                  {
 370   4                   if(PT<6&&ST<(B1+6)&&ST>PT)
 371   4                       { 
 372   5                         if(PT%2==1)
 373   5                             {
 374   6                              A_A=1;//A road turn left flash
 375   6                              B_A=1;//B road turn left flash
 376   6                                              }
 377   5                          else 
 378   5                              {
 379   6                              A_A=0;
 380   6                              B_A=0;
 381   6                                              }
 382   5                                }
 383   4                   if(PT==0&&ST==B1)
 384   4                      {
 385   5                         PT=B1;
 386   5                         A_A=1;//A road turn left forbid
 387   5                         B_A=1;//B road turn left forbid
 388   5                         PR_G=1;//primary road turn  right forbid
 389   5                         PR_R=0;
 390   5                         A_G=0;//A road go ahead allow
 391   5                         A_R=1;
 392   5                         B_G=0;//B road go ahead allow
 393   5                         B_R=1;
 394   5                         SSW_G=0;//secondary road sidewalk allow
 395   5                         SSW_R=1;
 396   5                        }
 397   4                   if(PT<6&&ST<6)
 398   4                              { 
 399   5                                   A_G=1;
 400   5                               B_G=1;
 401   5                               if(PT%2==1)
 402   5                                 {
 403   6                                  A_Y=1;//A road yellow light flash
 404   6                                  B_Y=1;//B road yellow light flash
 405   6                                  SSW_G=1;//secondary road sidewalk Green light flash
 406   6                                          }
 407   5                              else 
 408   5                                 {
 409   6                                      A_Y=0;
 410   6                                  B_Y=0;
 411   6                                  SSW_G=0;
 412   6                                      }
 413   5                                 }
 414   4      
 415   4      
 416   4                                      
 417   4               if(menu==0)
 418   4                   {
 419   5                                for(g=0;g<300;g++)
 420   5                        ;
 421   5                     if(menu==0)
 422   5                      {
 423   6                       P0=0x00;
 424   6                       P1=0xFF; 
 425   6                       P2=0xFF;
 426   6                       P3=0xFF;
 427   6                       A_R=0;
C51 COMPILER V7.06   7                                                                     05/12/2006 19:27:59 PAGE 8   

 428   6                       B_R=0;
 429   6                       C_R=0;
 430   6                       D_R=0;
 431   6                       PSW_R=0;
 432   6                       SSW_R=0;
 433   6                       PR_R=0;
 434   6                       SR_R=0;
 435   6                                       for(;;)
 436   6                                         ;
 437   6                                       }
 438   5                                }
 439   4                      
 440   4                   display(PT,ST);
 441   4                  }
 442   3                   A_G=1;//A road go ahead forbit
 443   3                  B_G=1;//B road go ahead forbit
 444   3                  SSW_G=1;//secondary road sidewalk forbit
 445   3                  SSW_R=0;
 446   3                  CASE=2;
 447   3                  break;
 448   3               
 449   3             
 450   3             case 2:
 451   3                  PT=d;
 452   3                  ST=c;
 453   3                 A_R=0;//A road go ahead forbit
 454   3                  B_R=0;//B road go ahead forbit
 455   3                  C_A=0;//C road turn left allow
 456   3                  C_R=0;
 457   3                  D_A=0;//D road turn left allow
 458   3                  C_R=0;
 459   3                  SR_R=1;//secondary road turn right allow
 460   3                  SR_G=0;
 461   3                  PSW_G=1;//primary road sidewalk forbit
 462   3                  PSW_R=0;
 463   3                  SSW_G=1;//secondary road sidewalk forbit
 464   3                  SSW_R=0;
 465   3                  while(!(PT==0&&ST==0))
 466   3                    { 
 467   4                        if(PT<(6+D1)&&ST<6&&PT>ST)
 468   4                       { 
 469   5                         if(PT%2==1)
 470   5                             {
 471   6                              C_A=1;//C road turn left flash
 472   6                              C_A=1;//C road turn left flash
 473   6                                              }
 474   5                          else 
 475   5                              {
 476   6                              C_A=0;
 477   6                              C_A=0;
 478   6                                              }
 479   5                                }
 480   4                      if(PT==D1&&ST==0)
 481   4                          {
 482   5                                ST=D1;
 483   5                            C_A=1;//C road turn left forbid
 484   5                            D_A=1;//D road turn left forbid
 485   5                            SR_R=0;//secondary road turn right forbit
 486   5                            SR_G=1;
 487   5                            C_G=0;//C road go ahead allow
 488   5                                C_R=1;
 489   5                            D_G=0;//D road go ahead allow
C51 COMPILER V7.06   7                                                                     05/12/2006 19:27:59 PAGE 9   

 490   5                                D_R=1;
 491   5                            PSW_G=0;//primary road sidewalk allow
 492   5                            PSW_R=1;
 493   5                            
 494   5                            
 495   5                                       }
 496   4                      if(PT<6&&ST<6)
 497   4                              { 
 498   5                                   C_G=1;
 499   5                               D_G=1;
 500   5                               if(PT%2==1)
 501   5                                 {
 502   6                                  C_Y=1;//C road yellow light flash
 503   6                                  D_Y=1;//D road yellow light flash
 504   6                                  PSW_G=1;//primary road sidewalk Green light flash
 505   6                                          }
 506   5                              else 
 507   5                                 {
 508   6                                  C_Y=0;
 509   6                                  D_Y=0;
 510   6                                  PSW_G=0;
 511   6                                      }
 512   5                                 }
 513   4      
 514   4         
 515   4               if(menu==0)
 516   4                   {
 517   5                                for(g=0;g<300;g++)
 518   5                        ;
 519   5                     if(menu==0)
 520   5                      {
 521   6                       P0=0x00;
 522   6                       P1=0xFF; 
 523   6                       P2=0xFF;
 524   6                       P3=0xFF;
 525   6                       A_R=0;
 526   6                       B_R=0;
 527   6                       C_R=0;
 528   6                       D_R=0;
 529   6                       PSW_R=0;
 530   6                       SSW_R=0;
 531   6                       PR_R=0;
 532   6                       SR_R=0;
 533   6                                       for(;;)
 534   6                                         ;
 535   6                                       }
 536   5                                }
 537   4                      
 538   4      
 539   4                      display(PT,ST);
 540   4                     }
 541   3                  C_G=1;//C road go ahead forbit
 542   3                  D_G=1;//C road go ahead forbit
 543   3                  CASE=1;
 544   3                  break;
 545   3                 
 546   3             }
 547   2         }
 548   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.06   7                                                                     05/12/2006 19:27:59 PAGE 10  

   CODE SIZE        =   1436    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     17       3
   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 + -