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 + -
显示快捷键?