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

📄 searchsch.lst

📁 ASC 信号机控制程序,国内最先进的信号机控制程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V6.02  SEARCHSCH                                                              09/28/2006 21:46:50 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE SEARCHSCH
OBJECT MODULE PLACED IN F:\LAIWORK\GB_ASC\SEARCHSCH.OBJ
COMPILER INVOKED BY: c:\COMP51V6\C51.EXE F:\LAIWORK\GB_ASC\SEARCHSCH.C DB SB OE LARGE

stmt level    source

   1          #include <searchsch.h>
   2          
   3          /*****************************************************************************************************/
   4          // 查找日计划号
   5          /*****************************************************************************************************/
   6          uchar search_day_plan() using 1
   7          {
   8   1          uchar xdata i,id,xing;
   9   1          unsigned int xdata j,fang;
  10   1      
  11   1          for(i=0; i<10; i++)
  12   1          {
  13   2             j = 6*i;
  14   2             if((XBYTE[0X6CE2+j]!=0) && (XBYTE[0X6CE3+j]!=0) && (XBYTE[0X6CE4+j]!=0) && (XBYTE[0X6CE5+j]!=0))
  15   2             {
  16   3               if(now_month>XBYTE[0X6CE2+j])
  17   3               {
  18   4                  if(now_month<XBYTE[0X6CE4+j])
  19   4                  {
  20   5                     id = XBYTE[0X6CE7+j];
  21   5                     return (id);
  22   5                  }
  23   4                  else if((now_month==XBYTE[0X6CE4+j]) && (now_date<=XBYTE[0X6CE5+j]))
  24   4                  {
  25   5                     id = XBYTE[0X6CE7+j];
  26   5                     return (id);
  27   5                  }
  28   4               }
  29   3               else if((now_month==XBYTE[0X6CE2+j]) && (now_date>=XBYTE[0X6CE3+j]))
  30   3               {
  31   4                  if(now_month<XBYTE[0X6CE4+j])
  32   4                  {
  33   5                     id = XBYTE[0X6CE7+j];
  34   5                     return (id);
  35   5                  }
  36   4                  else if((now_month==XBYTE[0X6CE4+j]) && (now_date<=XBYTE[0X6CE5+j]))
  37   4                  {
  38   5                     id = XBYTE[0X6CE7+j];
  39   5                     return (id);
  40   5                  }
  41   4      
  42   4               }
  43   3             }
  44   2          }
  45   1          for(i=0; i<10; i++)
  46   1          {
  47   2              j = 6*i;
  48   2              fang=0x6ce6+j;
  49   2              xing=XBYTE[fang];
  50   2              if(now_day==xing)
  51   2              {
  52   3                 id = XBYTE[0X6CE7+j];
  53   3                 return (id);
  54   3              }
  55   2          }
C51 COMPILER V6.02  SEARCHSCH                                                              09/28/2006 21:46:50 PAGE 2   

  56   1      
  57   1          return 0;
  58   1      }
  59          /*****************************************************************************************************/
  60          // 查找方案号
  61          /*****************************************************************************************************/
  62          uint timecounter,timecountern;
  63           uint addr_temp;
  64          uchar search_scheme()                    //计算当前时段
  65          {
  66   1          uchar i,j,id;
  67   1          //uint timecounter,timecountern;
  68   1          //uint addr_temp;
  69   1          uchar state_flag=1;
  70   1          addr_temp = 0x63a4+74*(now_day_planid-1);       //当前日计划表基地址
  71   1       /*   for(i=0;i<24;i++){
  72   1               j=i*3;
  73   1             timecounter = XBYTE[addr_temp+j]*60+XBYTE[addr_temp+1+j];
  74   1             timecountern= XBYTE[addr_temp+j+3]*60+XBYTE[addr_temp+4+j];
  75   1             if(timecountern<=timecounter){
  76   1                               max_timep=i+1;
  77   1                               break;
  78   1                                           }
  79   1                            }
  80   1      
  81   1       */
  82   1          for(i=0; i<24; i++)
  83   1          {
  84   2             j = i*3;
  85   2             timecounter = XBYTE[addr_temp+j]*60+XBYTE[addr_temp+1+j];
  86   2             timecountern= XBYTE[addr_temp+j+3]*60+XBYTE[addr_temp+4+j];
  87   2             if(timecountern!=0)
  88   2             {
  89   3                if(timecounter<timecountern)
  90   3                { /*if((now_time<timecounter)&&(i==0)){
  91   4                          timeid=max_timep;
  92   4                          id = XBYTE[addr_temp+2+3*(timeid-1)];
  93   4                          return (id);
  94   4                                                     }   */
  95   4      
  96   4                   if((now_time>=timecounter) && (now_time<timecountern))
  97   4                   {
  98   5                      state_flag=0;
  99   5                      timeid = i+1;         //当前时段号
 100   5                      id = XBYTE[addr_temp+2+j];
 101   5                      return (id);
 102   5                   }
 103   4                }
 104   3                else if(timecounter>timecountern)
 105   3                {
 106   4                   if((now_time>=timecounter) || (now_time<timecountern))
 107   4                   {
 108   5                      state_flag=0;
 109   5                      timeid = i+1;
 110   5                      id = XBYTE[addr_temp+2+j];
 111   5                      return (id);
 112   5                   }
 113   4                }
 114   3             }
 115   2             else
 116   2             {
 117   3                 //if(now_time>=timecounter)
C51 COMPILER V6.02  SEARCHSCH                                                              09/28/2006 21:46:50 PAGE 3   

 118   3                if(state_flag==1)
 119   3                 {
 120   4                      timeid = i+1;
 121   4                      id = XBYTE[addr_temp+2+j];
 122   4                      return (id);
 123   4                 }
 124   3             }
 125   2          }
 126   1          last_timeid=timeid;
 127   1          return 0 ;
 128   1      }
 129          uchar search_scheme_yellow()
 130          {
 131   1          uchar i,j,id;
 132   1          uint timecounter,timecountern;
 133   1          uint addr_temp;
 134   1          uchar state_flag=1;
 135   1          addr_temp = 0x63a4+74*(now_day_planid-1);       //当前日计划表基地址
 136   1          for(i=0; i<24; i++)
 137   1          {
 138   2             j = i*3;
 139   2             timecounter = XBYTE[addr_temp+j]*60+XBYTE[addr_temp+1+j];
 140   2             timecountern= XBYTE[addr_temp+j+3]*60+XBYTE[addr_temp+4+j];
 141   2             if(timecountern!=0)
 142   2             {
 143   3                if(timecounter<timecountern)
 144   3                {
 145   4                   if((now_time>=timecounter) && (now_time<timecountern))
 146   4                   {
 147   5                      state_flag=0;
 148   5                      timeid = i+1;
 149   5                      id = XBYTE[addr_temp+2+j];
 150   5                      return (id);
 151   5                   }
 152   4                }
 153   3                else if(timecounter>timecountern)
 154   3                {
 155   4                   if((now_time>=timecounter) || (now_time<timecountern))
 156   4                   {
 157   5                      state_flag=0;
 158   5                      timeid = i+1;
 159   5                      id = XBYTE[addr_temp+2+j];
 160   5                      return (id);
 161   5                   }
 162   4                }
 163   3             }
 164   2             else
 165   2             {
 166   3                 //if(now_time>=timecounter)
 167   3                 if(state_flag==1)
 168   3                 {
 169   4                      timeid = i+1;
 170   4                      id = XBYTE[addr_temp+2+j];
 171   4                      return (id);
 172   4                 }
 173   3             }
 174   2          }
 175   1          last_timeid=timeid;
 176   1          return 0 ;
 177   1      }
 178          
 179          /*****************************************************************************************************/
C51 COMPILER V6.02  SEARCHSCH                                                              09/28/2006 21:46:50 PAGE 4   

 180          // 查找方案
 181          /*****************************************************************************************************/
 182          uint lai_temp,u[16];
 183          uint xdata addr_temp ;
 184          void search_sch() using 1

⌨️ 快捷键说明

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