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

📄 second.h

📁 ASC 信号机控制程序,国内最先进的信号机控制程序
💻 H
字号:
#include <reg51.h>
#include <absacc.h>

#define   uchar  unsigned char
#define   uint   unsigned int
#define   ulong  unsigned long
/*****************************************************************************************************/
#define   D12887C        XBYTE[0XC00C]
/*****************************************************************************************************/
sbit FarContrlLed=P1^1;
sbit WatchDog = P1^3;       //看门狗
/*****************************************************************************************************/
bit  ssecond;
bit  work_time;        /*开机时段标志,1,开机时段,0,关机时段*/
bit  period_update;    /*周期更迭标志*/
bit  sensor_car_flag;
bit  ensensor_flag;
bit  sensor_virgin_flag;
uchar xdata updatanvram=1;
uchar xdata auto_down=0;
uchar xdata mmax_timed;
uchar xdata selcal_flag=0;
uchar xdata no_lamp=0;
extern uchar xdata per_count;
uchar min_green=0,max_green=0;

uchar now_day;  /*星期*/
uchar now_year; /*年份*/
uchar now_month;/*月份*/
uchar now_date; /*日子*/
uchar now_hour; /*小时*/
uchar now_min;  /*分钟*/
uchar now_sec;  /*秒*/
uint  xdata now_time;    //当前时间
uint  xdata begin_time;  //开始时间
uint  xdata end_time;    //结束时间
uchar xdata clear_state;
uchar xdata re_exe_flag=0,re_coloc=0;    //遥控执行标志,遥控执行阶段为1,执行完毕为0
uchar xdata lamp_state[16];   //灯色状态
uchar xdata greenl,greenh;
uchar xdata yell,yelh;
uchar xdata redl,redh;
uchar xdata force_coloc=0;
uchar xdata force_exe_flag;
uchar xdata re_keep_force;
uchar xdata last_forcenumber=0,forceacting=0,act_force=0,clear_force=0;
extern uchar re_message[12];
uchar xdata clear_time;         //清空时间
extern uchar xdata max_green_flash;//阶段的最大绿闪时间
uint  key;                    //周期内时间累计
uchar now_uncount;            //当前阶段的倒计时
uchar now_step_key;
uchar step_time;
unsigned char start_counter=0;
uchar xdata   test_couter=0;
uchar xdata tran_count=0;
//uint  xdata step_uncount[5][16];     //当前阶段的剩余时间累计,全红时间,黄灯时间,绿闪时间,绿灯时间
uint  xdata now_phase_temp;
uint  xdata now_phase_tempn;
uint  xdata now_lamp_temp;
uint  xdata now_lamp;
uint  xdata inuse_lamp_temp;
uint  xdata savecount=0;

uchar xdata no_vehicle_step[32];

uchar xdata sensor_distance;
uchar xdata min_greentime;
uchar xdata max_greentime;
uchar xdata add_greentime;
uchar xdata esc_counter=0;
uchar xdata esc_flag=0;
uchar xdata exit_remote=0;

uchar xdata hand_counter=0;//强制操作计数器
uchar xdata hand_esc=0;    //强制取消计数器

uchar xdata  led82[5];
uchar xdata  led83[30];
uchar xdata  machine_run_error;
uchar now_step_uncount;       //当前阶段的倒计时
uchar temp,force_number;
uchar xdata nowforce=0,lastforce=0;
extern uchar xdata  ing;
extern uchar xdata  step_num;
unsigned char xdata act_flag=0;   //遥控发生标志,在秒中断中使用
unsigned char xdata  re_keep_flag;//遥控阶段维持标志
unsigned int xdata lai,hand_lamp,hand_phase;
unsigned int xdata lai_nouse;
unsigned int xdata tmd;
unsigned char xdata last_re_control=0;
//unsigned int xdata stadgenumber;
unsigned int xdata guli;
unsigned int xdata control_chunel;
unsigned char xdata sss;
unsigned char xdata period_sch[41];
unsigned char xdata count_step=0;
unsigned char xdata lastreph;
unsigned char xdata clear_flag=0;  //绿闪黄清空,绿清空标志,为1,表示处于清空阶段
unsigned char xdata machine_flag;   //主机或从机标志     1:主机  0:从机
unsigned char xdata alt_change=1;     //新阶段开始标志

unsigned char xdata door,door_front,door_back;
extern unsigned char xdata zone_differ[5];
extern unsigned int xdata zone_number[5];
/*****************************************************************************************************/
void  read_time();        //读时间
void  search_color();     //查找灯色
void  make0x83();


void remote_ph();
void trans_volum();         //周期更迭时传送流量信息
void tran_psh();            //周期更迭时传送方案信息
void re_ye_allred();
/*****************************************************************************************************/

void deal_zone();
void  send_zone();
void   hard_greenconflic();
extern uchar xdata step_num;                  //阶段数
extern uchar xdata  max_yellow,max_red_clear;
extern bit re_control;
extern uint  xdata use_phase ;
extern uint  xdata inuse_lamp_temp;
extern uint  xdata use_lamp_temp;
extern uchar xdata step_counter;
extern uint  xdata use_lamp,use_lamp_sch;
extern uchar xdata now_day_planid;
extern uchar xdata timeid;
extern uchar xdata now_schemeid;
extern uchar xdata now_step_schid;
extern uint  xdata baseaddr_now_schemesch;
extern uint  xdata baseaddr_now_stepsch;
extern uint  xdata baseaddr_now_phasesch;
extern uchar xdata sensor_step[32];
extern uint  xdata inuse_phase[32];          //阶段用到的相位
extern uint  xdata inuse_phasen[32];         //下阶段用到的相位
//extern uchar xdata step_uncount[4][16];     //当前阶段的剩余时间累计,全红时间,黄灯时间,绿闪时间,绿灯时间
extern uchar xdata  red_clear[16],red_yellow_clear[16],red_yellow_green_clear[16];
extern uint  xdata carnumber,lastcarnumber;
extern uchar  xdata hand_step;   //手动控制阶段
uchar  xdata control_step;//手动、强制、遥控的阶段
extern bit hand_step_flag;
extern  uint  xdata  g_error1,y_error1,r_error1;       /*驱而不亮的故障*/
extern  uint  xdata  g_error2,y_error2,r_error2;       /*不驱而亮的故障*/
extern  uint  xdata  lpp,hpp;
extern  uint  xdata now_phase_status;
extern unsigned char reph_number;
extern  uint  xdata  g_load1,y_load1,r_load1;
extern unsigned char xdata conflag,hconflag;
uchar xdata last_force_flag=0;
uchar xdata remote_state=0;
uchar xdata last_stepcounter=0;
uchar xdata max_end_flag=0x00;

//uchar xdata  max_yellow,max_red_clear,max_green_flash;

uchar xdata turn_off_state;
unsigned int data shift;
unsigned char xdata hand_state,force_flag,force_state,last_forceflag=0;
extern uchar xdata go;
extern unsigned char xdata sch_step[16];

/*****************************************************************************************************/
extern unsigned char xdata run_state;

⌨️ 快捷键说明

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