📄 jac-ets.c
字号:
{
remove_fro_flag=0;
remove_fro_timer=0;
}
else
{
remove_fro_timer=20*60;//1min
remove_fro_flag=1;
}
}
}
else
{
remove_fro_sw_flag=0;
}
if(remove_fro_timer==0)
{
remove_fro_flag=0;
}
}
else
{
remove_fro_timer=0;
remove_fro_flag=0;
}
//=========点火钥匙孔照明处理OK
if(left_door_sw)
{
if(left_door_sw_flag==0)
{
left_door_sw_flag=1;
light_key_flag=1;
}
else
{
if(on_sw)
light_key_flag=0;
else
light_key_flag=1;
}
}
else
{
if((light_key_flag==1)&&(left_door_sw_flag==1))
{
light_key_timer=200;//10s
}
left_door_sw_flag=0;
if(on_sw)
light_key_timer=0;
if(light_key_timer==0)
light_key_flag=0;
}
//=========车内灯熄灭处理OK
if(!on_sw)
{
if(!(right_door_sw||left_door_sw||back_door_sw))
{
if(door_open_flag)
{
CCPR1L=0X6E;
door_open_flag=0;
}
}
else
{
CCPR1L=0X95;
door_open_flag=1;
}
}
else
{
CCPR1L=0X00;
}
//===========安全带声光控制OK
if(on_sw)
{
if(safe_belt_sw)
{
if(!safe_belt_sw_flag)
{
safe_belt_sw_flag=1;
safe_belt_init_ctrl();
}
else
{
safe_belt_led_ctrl();
safe_belt_sound_ctrl();
}
}
else
{
onkey_safe_belt_flag=1;
safe_belt_sw_flag=0;
safe_belt_led_ctrl();
safe_belt_sound_c=0;
safe_belt_sound_t=0;
safe_belt_sound=0;
}
}
else
{
onkey_safe_belt_flag=0;
safe_belt_led=0;
}
if(safe_belt_sw)
{
if(on_sw)
{
if(!onkey_safe_belt_flag)
{
onkey_safe_belt_flag=1;
safe_belt_init_ctrl();
}
else
{
safe_belt_led_ctrl();
safe_belt_sound_ctrl();
}
}
else
{
safe_belt_sw_flag=1;
onkey_safe_belt_flag=0;
safe_belt_sound_c=0;
safe_belt_sound_t=0;
safe_belt_sound=0;
safe_belt_led_c=0;
safe_belt_led_t=0;
safe_belt_led=0;
}
}
else
safe_belt_sw_flag=0;
//===========电动窗户时间控制OK
if(on_sw)
{
power_windows_out=1;
onkey_windows_flag=1;
}
else
{
if(onkey_windows_flag)
{
onkey_windows_flag=0;
power_windows_t=30*20;//30s
}
else
{
if((power_windows_t==0)||left_door_sw||right_door_sw)
{
power_windows_out=0;
power_windows_t=0;
}
}
}
//===========尾灯自动关闭控制OK
if(!remote_onkey_flag)
{
if(!little_light_sw)
{
tail_light_sw_flag=0;
tail_light_out=0;
tail_light_auto_off_flag=0;
}
else if((on_sw||(!left_door_sw))&&little_light_sw)
{
tail_light_out=1;
tail_light_sw_flag=1;
}
else
{
if(tail_light_auto_off_flag)
{
tail_light_out=0;
}
else if(left_door_sw&&(!tail_left_door_sw_flag)&&tail_light_sw_flag)
{
tail_left_door_sw_flag=1;
tail_light_out=0;
tail_light_auto_off_flag=1;
}
else if(little_light_sw&&(!tail_light_sw_flag)&&left_door_sw)
{
tail_light_sw_flag=1;
tail_light_out=1;
tail_light_auto_off_flag=0;
tail_left_door_sw_flag=1;
}
}
if(!left_door_sw)
tail_left_door_sw_flag=0;
}
/* else//remote ctrl
{
if(!little_light_sw)
remote_onkey_flag=0;
else
{
if(left_door_sw)
{
if(!tail_left_door_sw_flag)
{
tail_left_door_sw_flag=1;
tail_light_out=1;
tail_light_out_t=30*20;//30s
}
else
{
if(tail_light_out_t==0)
{
if(!on_sw)
{
remote_onkey_flag=0;
tail_light_out=0;
}
}
}
}
}
}*/
//=========后雾灯处理OK
if(on_sw&&fore_fro_sw&&tail_light_out)
{
if(back_fro_sw&&(!back_fro_sw_flag))
{
back_fro_sw_flag=1;
back_fro_out=!back_fro_out;
}
}
else
{
back_fro_out=0;
}
if(!back_fro_sw)
back_fro_sw_flag=0;
//===========门警示控制OK
if(!ulock_flag)
{
if((!warn_door_sw)&&(left_door_sw||right_door_sw))
{
sos_state=0xff;
}
else
{
sos_state=0x00;
// chime_bell_t=0;
//chime_bell_flag=0;
}
}
//=========电动门闩处理OK
if(left_door_state_sw&&(!left_door_state_sw_flag))
{
left_door_state_sw_flag=1;
lock_out=1;
lock_out_t=LOCK_TIME;//500ms
}
else if((!left_door_state_sw)&&left_door_state_sw_flag)
{
left_door_state_sw_flag=0;
unlock_out=1;
unlock_out_t=LOCK_TIME;//500ms
}
if(right_door_state_sw&&(!right_door_state_sw_flag))
{
right_door_state_sw_flag=1;
lock_out=1;
lock_out_t=LOCK_TIME;//500ms
}
else if((!right_door_state_sw)&&right_door_state_sw_flag)
{
right_door_state_sw_flag=0;
unlock_out=1;
unlock_out_t=LOCK_TIME;//500ms
}
if(!lock_out_t)
lock_out=0;
if(!unlock_out_t)
unlock_out=0;
if(!store_out_t)
store_out=0;
//========自动闭锁处理
if(left_door_state_sw||right_door_state_sw||back_door_state_sw)//没闭锁
{
all_door_lock_flag=0;
}
else
{
all_door_lock_flag=1;
}
speed_over_40km_flag=null_sw;
if(!speed_over_40km_flag)
speed_over_40km_t=0;
if(on_sw&&(!all_door_lock_flag))
{
// if((speed_over_40km_t>=ONE_SECOND)&&(all_door_unlock_t>=ONE_SECOND))//1s
if(speed_over_40km_t>=ONE_SECOND)//1s
{
all_door_lock_flag=1;
lock_out_t=LOCK_TIME;
lock_out=1;
speed_over_40km_t=0;
}
}
//=========自动开锁处理
if(on_sw)
on_sw_flag2=1;
if(all_door_lock_flag) //全闭锁的情况下
{
if((!on_sw)&&on_sw_flag2)
{
on_sw_flag2=0;
unlock_out_t=LOCK_TIME;
unlock_out=1;
}
}
else
{
on_sw_flag2=on_sw;
}
//=========制动告警处理
/* if((on_sw)&&(brake_sw))
{
if(sound_timer==0)
{
sound_timer=6;
sound_flag=!sound_flag;
}
}
else
{
sound_flag=0;
sound_timer=0;
}*/
//===========防盗报警
tx_lock_signal=K4_RB4; //遥控闭锁
tx_ulock_signal=K3_RB5; //遥控开锁
tx_store_signal=K1_RB7; //遥控储备
entrance_sw=(warn_door_sw||engineer_sw||back_store_sw)&&(!store_uwarn_flag)&&(!tx_open_store_flag);
if(tx_lock_signal&&(!tx_lock_flag)) //遥控上锁
{
tx_lock_flag=1;
lock_out=1;
lock_out_t=LOCK_TIME;
start_inhibit_relay=1;
store_uwarn_flag=0;
if(warn_state&&warn_cycle)
{//取消报警
warn_on=0;
warn_cycle=0;
flash_on=0;
flash_cycle=0;
warn_entrance_flag=0;
start_inhibit_relay=0;
}
if(!entrance_sw) //进入报警状态
{
delay_ent_warn_flag=0;
flash_on=1;
warn_state=1;
flash_time=FLASH_ON_TIME;
flash_cycle=2;
}
else
{
delay_ent_warn_flag=1; //准备进入报警状态
}
}
else if(tx_ulock_signal&&(!tx_lock_flag)) //遥控下锁
{
tx_lock_flag=1;
ulock_flag=!ulock_flag;
warn_entrance_flag=0; //清除入口报警标志
start_inhibit_relay=0; //启动禁止继电器
unlock_out=1;
unlock_out_t=LOCK_TIME;
delay_ent_warn_flag=0;
tx_open_store_flag=0;
store_uwarn_flag=0;
warn_state=0;
warn_on=0;
warn_cycle=0;
flash_on=1;
warning_state=0;
sos_state=0;
frist_run=1;
flash_time=FLASH_ON_TIME2;//1s
}
else if(!(tx_lock_signal||tx_ulock_signal))//无遥控信号时清除遥控标志
{
tx_lock_flag=0;
}
if(!tx_store_signal)
tx_store_flag=0;
if(tx_store_signal&&(!tx_store_flag))//遥控开后备箱
{
tx_store_flag=1;
store_out=1;
store_out_t=STORE_TIME;
if(warn_on)
{//报警期间打开后备箱
store_uwarn_flag=1;
warn_state=0;
warn_on=0;
flash_on=0;
warn_cycle=0;
flash_cycle=0;
start_inhibit_relay=0;
}
else
{
tx_open_store_flag=1;
}
start_inhibit_relay=0;
}
if(delay_ent_warn_flag)
{
if(!entrance_sw)//进入报警状态
{
delay_ent_warn_flag=0;
// start_inhibit_relay=1;
flash_on=1;
warn_state=1;
flash_time=FLASH_ON_TIME;
flash_cycle=2;
}
}
///=======后备箱合后2s进入报警状态
if(store_uwarn_flag)
{
if(back_store_sw)//后备箱开
{
store_state_sw_flag=1;
store_warn_delay_time=40;//2s
}
else if(store_state_sw_flag&&(!store_warn_delay_time))//后备箱关闭2S后
{
warn_state=1;
store_uwarn_flag=0;
store_state_sw_flag=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -