?? 30dl.c
字號:
c8min=OFF;
/* c7min=OFF;
c5min=OFF; */
c3min=OFF;
c2min=OFF;
c1min=OFF;
comprunT=0x00;
/*---------------*/
if (dtram==3)
{
d15sflg=ON;
}
if (dtram==12)
{
d60sflg=ON;
}
if (dtram==35)
{
d175sflg=ON;
}
if (dtram==47)
{
d235sflg=ON;
}
if (dtram==59)
{
d295sflg=ON;
}
if (dtram==120)
{
d10minflg=ON;
}
}
return;
}
/*-------------------------------------*/
void fancontrol()
{
heat_stop();
if (abnormal || (!power) || defrost)
{
coolfan_prv = ON;
if (mode == heat && stop30s_flg)
{
heatfan();
}
else
{
setfanOFF();
fantime=0x00;
}
}
else
{
if (mode == cool || mode == fan)
{
coolfan();
}
else
{
if (mode == heat)
{
heatfan();
}
else
{
dryfan();
}
}
}
return;
}
/*-------------------------------------*/
void coolfan()
{
if (remo_fanspeed == rmot_fanLow_2)
{
setfanMi();
}
else
{
setfanHi();
}
/*
if (remo_fanspeed == rmot_fanLow_2)
{
setfanLo();
}
else
{
if (remo_fanspeed == rmot_fanMid_3)
{
setfanMi();
}
else
{
setfanHi();
}
}
*/
return;
}
/*-------------------------------------*/
void dryfan()
{
if (comp)
{
coolfan();
}
else
{
if (yufang)
{
if (d295sflg && (ad_coil > coil4c))
{
setfanOFF();
}
else
{
coolfan();
}
}
else
{
setfanOFF();
}
}
return;
}
/*-------------------------------------*/
void heat_stop()
{
if (!stop30s_flg)
{
if (!power)
{
if (mode == heat && !stop_start)
{
stop30s_flg = 1;
stop_start = 1;
}
}
else
{
stop_start = 0;
}
}
else
{
if (stop_start)
{
if (stop1s)
{
stop1s = 0;
if (++stop30s_cnt >= 30)
{
stop30s_cnt = 0;
stop30s_flg = 0;
}
}
}
}
return;
}
/*-------------------------------------*/
void heatfan()
{
if (ad_coil < coil18c)
{
setfanOFF();
coolfan_prv = ON;
fantime = 0x00;
}
else
{
if (fan_off)/*???????不是fan_stop?*/
{
if (comp && (ad_coil >= coil22c) && (!defrost))
{
setfanLo();
}
}
else
{
if (!defrost)
{
h_fan_normal();
}
else
{
if (defrost_step != 0)
{
setfanOFF();
}
else
{
setfanLo();
}
}
}
}
return;
}
/*-------------------------------------*/
void setfanOFF()
{
fan_st = FAN_OFF;
fan_run_word = fan_stop;
return;
}
/*-------------------------------------*/
void setfanHi()
{
fan_st = FAN_HI;
fan_run_word = fan_hi;
return;
}
/*-------------------------------------*/
void setfanMi()
{
fan_st = FAN_MI;
fan_run_word = fan_mi;
return;
}
/*-------------------------------------*/
void setfanLo()
{
fan_st = FAN_LO;
fan_run_word = fan_lo;
return;
}
/*-------------------------------------*/
void h_fan_normal()
{
if (!comp)
{
if (d60sflg || mode_bak)
{
coolfan_prv = ON;
setfanOFF();
}
else
{
setfanLo();
}
}
else
{
if (coolfan_prv)
{
if (ad_coil >= coil37c)
{
fantime = 0x00;
coolfan_prv = OFF;
}
else
{
if (fantime1s)
{
fantime1s = OFF;
++fantime;
if (fantime < 120)
{
setfanMi();
}
else
{
fantime = 0x00;
coolfan_prv = OFF;
if (remo_fanspeed==rmot_fanLow_2)
{
setfanMi();
}
else
{
setfanHi();
}
}
}
}
}
else
{
if (remo_fanspeed == rmot_fanLow_2)
{
setfanMi();
}
else
{
setfanHi();
}
}
}
return;
}
/*-------------------------------------*/
void is_mode_change()
{
if (oldrunmode != runmode)
{
oldrunmode = runmode;
if (first_mode_change != 0x00)
{
comp = OFF;
TCB = OFF;
defrost = OFF;
mode_bak = 1;
mode_change_cnt = 0;
}
else
{
first_mode_change = 0x0f;
}
}
return;
}
/*-------------------------------------*/
void timer_sub()
{
if (timer)
{
if (timer1m)
{
timer1m=OFF;
{
if ((++timer10min)>=10)
{
timer10min=0x0000; /* 10min reach */
if (time_off)
{
if ((--T_off_m) == 0x00)
{
power = OFF;
time_off = OFF;
if (!time_on)
{
timer = OFF;
}
}
}
if (time_on)
{
if ((--T_on_m) == 0x00)
{
power = ON;
time_on = OFF;
if (!time_off)
{
timer = OFF;
}
}
}
}
}
}
}
else
{
timer10min=0x00;
}
return;
}
/*-------------------------------------*/
void vancontrol()
{
if (position_ok)
{
if (vane_work_or_close)
{
position_ok = power;
if (vane_cool_prv || dew_prv)
{
v_object_cnt = angle_1_v;
}
else
{
switch (vane_mode)
{
case angle_1:
v_object_cnt = angle_1_v;
break;
case angle_2:
v_object_cnt = angle_2_v;
break;
case angle_3:
v_object_cnt = angle_3_v;
break;
case angle_4:
v_object_cnt = angle_4_v;
break;
case angle_5:
v_object_cnt = angle_5_v;
break;
default:
vane_mode = angle_swing;
if (v_up_down==1)
{
v_object_cnt = angle_5_v;
if (v_angle_cnt == angle_5_v)
{
if ((++v_swing_dly) >= 150)
{
v_swing_dly = 0x00;
v_object_cnt = angle_1_v;
v_up_down = 0;
if ((++v_swing_cnt)>=64)
{
v_swing_cnt=0;
position_ok=0;
}
}
}
}
else
{
v_object_cnt = angle_1_v;
if (v_angle_cnt == angle_1_v)
{
if ((++v_swing_dly) >= 150)
{
v_swing_dly = 0x00;
v_object_cnt = angle_5_v;
v_up_down = 1;
}
}
}
break;
}
}
stepdrive();
}
else
{
if (close_ok)
{
position_ok = ~power;
IOP1 = IOP1 & 0y00001111;
}
else
{
vane_work_or_close = power;
regA = tab_step[motor_step]<<4;
regB = IOP1 & 0y00001111;
IOP1 = regA + regB;
if ((++motor_step) >= 8)
{
motor_step = 0x00;
if ((++v_angle_cnt) >= position_plus)
{
close_ok = ON;
v_angle_cnt = 0x00;
}
}
}
}
}
else
{
if (v_position_cnt < position_plus)
{
regA = tab_step[motor_step] & 0y11110000;
regB = IOP1 & 0y00001111;
IOP1 = regA + regB;
}
else
{
if (v_position_cnt >= (position_plus+10))
{
v_position_cnt = 0x00;
v_angle_cnt = 0x00;
v_swing_dly = 0x00;
v_swing_cnt = 0x00;
close_ok = OFF;
position_ok = ON;
vane_work_or_close = power;
IOP1 = IOP1 & 0y00001111;
}
}
if ((++motor_step) >= 8)
{
motor_step = 0x00;
v_position_cnt+=1;
}
}
return;
}
/*----------------------------------------*/
void stepdrive()
{
if (v_angle_cnt != v_object_cnt)
{
if (v_angle_cnt > v_object_cnt)
{
regA = tab_step[motor_step] & 0y11110000;
regB = IOP1 & 0y00001111;
IOP1 = regA + regB;
if ((++motor_step) >= 8)
{
motor_step = 0x00;
v_angle_cnt-=1;
}
}
else
{
regA = tab_step[motor_step]<<4;
regB = IOP1 & 0y00001111;
IOP1 = regA + regB;
if ((++motor_step) >= 8)
{
motor_step = 0x00;
v_angle_cnt+=1;
}
}
}
else
{
IOP1 = IOP1 & 0y00001111;
}
return;
}
/*----------------------------------------*/
void vane_monitor()
{
if (mode_angle_mode == heat_mode_angle)
{
dew_prv=0;
dew_prv_time=0x00;
if (vane_cool_prv)
{
if (power)
{
if(comp && (!defrost) && (ad_coil>=coil28c))
{
vane_cool_prv = OFF;
}
}
else
{
vane_cool_prv = OFF; /*power off*/
}
}
else
{
if ((!comp) || defrost || (ad_coil<=coil24c))
{
vane_cool_prv = ON;
}
}
}
else
{
vane_cool_prv = OFF;
if ((mode_angle_mode == cool_mode_angle) && power)
{
if ((v_object_cnt == angle_4_v) || (v_object_cnt == angle_5_v))
{
if (dew_prv_1m && comp)
{
dew_prv_1m=0;
if ((++dew_prv_time) >= 60)
{
dew_prv_time=0x00;
dew_prv=1;
}
}
}
else
{
dew_prv_time=0x00;
dew_prv_1m=0;
}
}
else
{
dew_prv=0;
dew_prv_time=0x00;
dew_prv_1m=0;
}
}
return;
}
/*----------------------------------------*/
void comp_cumulate_sub() /*count for defrost and vane dew*/
{
if (power && (runmode==heat))
{
if (comp)
{
if (c_c_t_1m)
{
c_c_t_1m = OFF;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -