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

📄 smallfunction.lst

📁 一个以前开发的实际应用的交通灯控制器程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 520   4                              {//i亮红灯
 521   5                                      j=2;
 522   5                              }
 523   4                      }
 524   3                      else
 525   3                      {
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 10  

 526   4                              j=2;//亮红灯
 527   4                      }
 528   3                      }
 529   2                      //亮灭输出
 530   2                      if(j!=3)
 531   2                      {
 532   3                              t=IOMap[i][j];
 533   3                                      t1=t & 0x0f;
 534   3                              t=0x01;
 535   3                              for(t2=0;t2<t1;t2++)
 536   3                                      t<<=1;//bit位
 537   3                              t1=IOMap[i][j];
 538   3                              t2= t1 >>4;//输出地址
 539   3                              OutputBuf[t2]|=t;
 540   3                      }
 541   2                      k<<=1;
 542   2              }
 543   1      //1     
 544   1              k=0x01;
 545   1              for(i=8;i<16;i++)
 546   1              {
 547   2                      if(k & 0xc6)//人行
 548   2                      {
 549   3                      if((k & CheDaoBuf[1])!=0)//选中的人行道
 550   3                      {
 551   4                              if((ManChanelSta==STA_GREEN)||(ManChanelSta==STA_GS))
 552   4                              {
 553   5                                      if(GsFlag)//i亮绿灯
 554   5                                              j=0;
 555   5                                      else 
 556   5                                              j=3;//不亮
 557   5                              }
 558   4                              else
 559   4                              {//i亮红灯
 560   5                                      j=2;
 561   5                              }
 562   4                      }
 563   3                      else
 564   3                      {
 565   4                              j=2;//亮红灯
 566   4                      }       
 567   3                      }
 568   2                      else//车道      
 569   2                      {
 570   3                      if((k & CheDaoBuf[0])!=0)//选中的车道
 571   3                      {
 572   4                              if((CarChanelSta==STA_GREEN)||(CarChanelSta==STA_GS))
 573   4                              {
 574   5                                      if(GsFlag)//i亮绿灯
 575   5                                              j=0;
 576   5                                      else 
 577   5                                              j=3;//不亮
 578   5                              }
 579   4                              else if((CarChanelSta==STA_YELLOW))
 580   4                              {//i亮黄灯
 581   5                                      j=1;
 582   5                              }
 583   4                              else
 584   4                              {//i亮红灯
 585   5                                      j=2;
 586   5                              }
 587   4                      }
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 11  

 588   3                      else
 589   3                      {
 590   4                              j=2;//亮红灯
 591   4                      }
 592   3                      }
 593   2                      //亮灭输出
 594   2                      if(j!=3)
 595   2                      {
 596   3                              t=IOMap[i][j];
 597   3                                      t1=t & 0x0f;
 598   3                              t=0x01;
 599   3                              for(t2=0;t2<t1;t2++)
 600   3                                      t<<=1;//bit位
 601   3                              t1=IOMap[i][j];
 602   3                              t2= t1 >>4;//输出地址
 603   3                              OutputBuf[t2]|=t;
 604   3                      }
 605   2                      k<<=1;
 606   2              }
 607   1      //2
 608   1              k=0x01;
 609   1              for(i=16;i<20;i++)
 610   1              {
 611   2                      if(k & 0x08)//人行
 612   2                      {
 613   3                      if((k & CheDaoBuf[1])!=0)//选中的人行道
 614   3                      {
 615   4                              if((ManChanelSta==STA_GREEN)||(ManChanelSta==STA_GS))
 616   4                              {
 617   5                                      if(GsFlag)//i亮绿灯
 618   5                                              j=0;
 619   5                                      else 
 620   5                                              j=3;//不亮
 621   5                              }
 622   4                              else
 623   4                              {//i亮红灯
 624   5                                      j=2;
 625   5                              }
 626   4                      }
 627   3                      else
 628   3                      {
 629   4                              j=2;//亮红灯
 630   4                      }       
 631   3                      }
 632   2                      else//车道      
 633   2                      {
 634   3                      if((k & CheDaoBuf[0])!=0)//选中的车道
 635   3                      {
 636   4                              if((CarChanelSta==STA_GREEN)||(CarChanelSta==STA_GS))
 637   4                              {
 638   5                                      if(GsFlag)//i亮绿灯
 639   5                                              j=0;
 640   5                                      else 
 641   5                                              j=3;//不亮
 642   5                              }
 643   4                              else if((CarChanelSta==STA_YELLOW))
 644   4                              {//i亮黄灯
 645   5                                      j=1;
 646   5                              }
 647   4                              else
 648   4                              {//i亮红灯
 649   5                                      j=2;
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 12  

 650   5                              }
 651   4                      }
 652   3                      else
 653   3                      {
 654   4                              j=2;//亮红灯
 655   4                      }
 656   3                      }
 657   2                      //亮灭输出
 658   2                      if(j!=3)
 659   2                      {
 660   3                              t=IOMap[i][j];
 661   3                                      t1=t & 0x0f;
 662   3                              t=0x01;
 663   3                              for(t2=0;t2<t1;t2++)
 664   3                                      t<<=1;//bit位
 665   3                              t1=IOMap[i][j];
 666   3                              t2= t1 >>4;//输出地址
 667   3                              OutputBuf[t2]|=t;
 668   3                      }
 669   2                      k<<=1;
 670   2              }
 671   1      
 672   1              i=OutputBuf[6];
 673   1              i=i<<4;
 674   1              OutputBuf[6]|=i;
 675   1      ////
 676   1              OutputBuf[0]^=0xff;
 677   1              OutputBuf[1]^=0xff;
 678   1              OutputBuf[2]^=0xff;
 679   1              OutputBuf[3]^=0xff;
 680   1              OutputBuf[4]^=0xff;
 681   1              OutputBuf[5]^=0xff;
 682   1              OutputBuf[6]^=0xff;
 683   1      
 684   1              OUT0=OutputBuf[0];
 685   1              OUT1=OutputBuf[1];
 686   1              OUT2=OutputBuf[2];
 687   1              OUT3=OutputBuf[3];
 688   1              OUT4=OutputBuf[4];
 689   1              OUT5=OutputBuf[5];
 690   1              OUT6=OutputBuf[6];
 691   1      }
 692          
 693          void ShowDesk()
 694          {
 695   1              unsigned char xdata i,k;
 696   1              k=XBYTE[RTC_BASE+RegMonth];
 697   1              {//月
 698   2              i=0;
 699   2              while(k>=10)
 700   2              {k-=10;i++;}
 701   2              i+='0';
 702   2              LcdChar(0,2,i);
 703   2              k+='0';
 704   2              LcdAddChar(k);
 705   2              }
 706   1              LcdCnString(0,3,"月");
 707   1              k=XBYTE[RTC_BASE+RegDate];
 708   1              {//日
 709   2              i=0;
 710   2              while(k>=10)
 711   2              {k-=10;i++;}
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 13  

 712   2              i+='0';
 713   2              LcdChar(0,4,i);
 714   2              k+='0';
 715   2              LcdAddChar(k);
 716   2              }
 717   1              LcdCnString(0,5,"日");
 718   1      
 719   1              k=XBYTE[RTC_BASE+RegHours];
 720   1              {//小时
 721   2              i=0;
 722   2              while(k>=10)
 723   2              {k-=10;i++;}
 724   2              i+='0';
 725   2              LcdChar(1,2,i);
 726   2              k+='0';
 727   2              LcdAddChar(k);
 728   2              LcdAddChar(':');
 729   2              }
 730   1              k=XBYTE[RTC_BASE+RegMinutes];
 731   1              {//分钟
 732   2              i=0;
 733   2              while(k>=10)
 734   2              {k-=10;i++;}
 735   2              i+='0';
 736   2              LcdAddChar(i);
 737   2              k+='0';
 738   2              LcdAddChar(k);
 739   2              LcdAddChar(':');
 740   2              }
 741   1      
 742   1              k=XBYTE[RTC_BASE+RegSeconds];
 743   1              {//秒
 744   2              i=0;
 745   2              while(k>=10)
 746   2              {k-=10;i++;}
 747   2              i+='0';
 748   2              LcdAddChar(i);
 749   2              k+='0';
 750   2              LcdAddChar(k);
 751   2              LcdAddChar(':');
 752   2              }
 753   1      
 754   1              if(PswLock)
*** ERROR C202 IN LINE 754 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'PswLock': undefined identifier
 755   1              LcdCnString(3,4,"锁");
 756   1              else
 757   1                      LcdCnString(3,4,"开");
 758   1      
 759   1              
 760   1              if(MeterSta==MSTA_GREENWAY;)
*** ERROR C202 IN LINE 760 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'MeterSta': undefined identifier
*** ERROR C141 IN LINE 760 OF IIC[ULTRAL]\SMALLFUNCTION.C: syntax error near ';'
*** ERROR C141 IN LINE 760 OF IIC[ULTRAL]\SMALLFUNCTION.C: syntax error near ')'
 761   1                      LcdCnString(3,1,"绿");
 762   1              else if(MeterSta==MSTA_MANUAL)
*** ERROR C141 IN LINE 762 OF IIC[ULTRAL]\SMALLFUNCTION.C: syntax error near 'else'
*** ERROR C202 IN LINE 762 OF IIC[ULTRAL]\SMALLFUNCTION.C: 'MeterSta': undefined identifier
 763   1                      LcdCnString(3,1,"手");
 764   1              else
 765   1                      LcdCnString(3,1,"自");  
 766   1      }
 767          
C51 COMPILER V7.50   SMALLFUNCTION                                                         04/03/2007 10:38:52 PAGE 14  

 768          
 769          //////////////无效中断服务代码//////////
 770          void EX_INT0() interrupt INT_SOURCE_EX0
 771          {
 772   1              unsigned char t;
 773   1              t=XBYTE[RTC_BASE+CtrlRegC];
 774   1              EX0=0;
 775   1      }
 776          
 777          void timer0() interrupt INT_SOURCE_T0
 778          {
 779   1              ET0=0;
 780   1      }
 781          
 782          void timer1() interrupt INT_SOURCE_T1
 783          {
 784   1              ET1=0;
 785   1      }

C51 COMPILATION COMPLETE.  2 WARNING(S),  29 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -