ploop.c

来自「ASC 信号机控制程序,国内最先进的信号机控制程序」· C语言 代码 · 共 46 行

C
46
字号
#include <absacc.h>
unsigned long  xdata now_loop;

unsigned int  xdata carnumber,lastcarnumber;
unsigned char xdata now_step;
extern unsigned char xdata now_uncount;

extern unsigned char xdata forsense[32];
unsigned char xdata step;
 unsigned long  xdata loopidd;
 unsigned long  xdata loopid;
phase_loop()
{
 unsigned char i;             /*
 unsigned char xdata step;
 unsigned long  data loopidd;
 unsigned long  data loopid;    */
  loopid=0; now_loop=0;
  loopid=XBYTE[0X8080+(now_step-1)*4];
  now_loop=loopid<<24;
  loopid=XBYTE[0X8081+(now_step-1)*4];
  loopid=loopid<<16;
  now_loop=now_loop|loopid;
  loopid=XBYTE[0X8082+(now_step-1)*4];
  loopid=loopid<<8;
  now_loop=now_loop|loopid;
  loopid=XBYTE[0X8083+(now_step-1)*4];
  now_loop=now_loop|loopid;      /*当前相位包含的线圈*/
  carnumber=0;
  for(i=0;i<32;i++){
       loopid=0x00000001;
       loopidd=(loopid<<i);                                /*单位步长*/
       if((now_loop&loopidd)==loopidd){
                            step=XBYTE[0X8113+now_step];
                            if(now_uncount>step){
                                 forsense[i]=0;
                                 carnumber=0;  /*相位绿灯剩余时间少于单位步长时驶入的车辆数*/
                                 lastcarnumber=0;
                                    }
                                      else  {
                                     carnumber=carnumber+forsense[i];  /*绿灯剩余时间低于单位步长时,相位所有的车流量*/
                                             }
                                   }
                    }
}

⌨️ 快捷键说明

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