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

📄 second.h

📁 最先进的信号机程序,经过很多重要场合测试通过
💻 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 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];
extern uchar xdata max_green_flash;//阶段的最大绿闪时间
uint  key;                    //周期内时间累计
uchar now_uncount;            //当前阶段的倒计时
uchar now_step_key;
uchar step_time;
uchar start_counter;
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_counter;
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,表示处于清空阶段

/*****************************************************************************************************/
void  read_time();        //读时间
void  search_color();     //查找灯色
void  make0x83();


void remote_ph();
void trans_volum();         //周期更迭时传送流量信息
void tran_psh();            //周期更迭时传送方案信息
void re_ye_allred();
/*****************************************************************************************************/
extern uchar xdata step_num;                  //阶段数
extern uchar xdata  max_yellow,max_red_clear;
extern bit re_control;
extern uchar xdata step_counter;
extern uint  xdata use_lamp;
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;


uchar xdata last_force_flag=0;
uchar xdata remote_state=0;
unsigned int data shift;
unsigned char xdata hand_state,force_flag,force_state,last_forceflag=0;

/*****************************************************************************************************/

⌨️ 快捷键说明

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