📄 jf_valve.c
字号:
void valvekeep(void)
{
if (b_valvedelay==1)
if (m_500mscount>=63)
{
m_500mscount=0;
b_valvedelay=0;
PTAD= PTAD & 0xF0;
}
}
void Valve_up(void)
{
if (cur_xs>=8) cur_xs=0;
PTADD= PTADD | 0x0F; //0xFF ;
m_portdata = PTAD ;
m_portdata = m_portdata & 0xF0;
m_portdata = m_portdata | step[cur_xs];
PTAD = m_portdata;
lstx = step[cur_xs];
xs = cur_xs;
stepnum = stepnum + 1;
if (cur_xs==7)
cur_xs = 0;
else
cur_xs = cur_xs + 1;
}
void Valve_down(void)
{
if (cur_xs>=8) cur_xs=0;
PTADD= PTADD | 0x0F;
m_portdata = PTAD ;
m_portdata = m_portdata & 0xF0;
m_portdata = m_portdata | step[cur_xs];
PTAD = m_portdata;
lstx = step[cur_xs];
xs = cur_xs;
stepnum = stepnum - 1;
if (cur_xs==0)
cur_xs=7;
else
cur_xs = cur_xs - 1;
}
void Valve_control(unsigned short opvalue)
{ if (opvalue == stepnum && b_valvedelay==0)
return;
if (opvalue == stepnum && b_end==1)
{
if (b_valvedelay==1) { valvekeep();return;}
else return;
}
if (opvalue> stepnum)
{b_end =0;
Valve_up() ;}
if (opvalue< stepnum)
{b_end =0;
Valve_down() ;}
if (opvalue == stepnum ) {b_valvedelay=1;m_500mscount=0;b_end=1; }
}
void jf_valvectrl(void)
{
if (b_first==0)
{
Valve_control(250);
{
if (b_end ==1 && b_valvedelay==0)
{
b_first=1;b_valverun=1;
}
}
//break;
}
//b_valverun=1;//if(b_comp==1 && m_componsec>=120) b_valverun=1;
if (b_valverun==1 && b_statvalve==0)
{
b_statvalve=1;stepnum=500;b_resetvalve=0;//break;
}
if (b_valverun==1 && b_resetvalve==0)
{
Valve_control(0);
{
if (b_end ==1 && b_valvedelay==0)
{
b_resetvalve=1;b_haverst=1;
}
}
//break;
}
}
void jf_valverunctrl(void)
{
if (b_first1==0 && t_comp_run>=5)
{
Valve_control(260);
{
if (b_end ==1 && b_valvedelay==0)
{
b_first1=1;b_valverun1=1;
}
}
//break;
}
//} //b_valverun=1;//if(b_comp==1 && m_componsec>=120) b_valverun=1;
if (b_valverun1==1 && t_comp_run_times>=3 && b_statvalve1==0)
{
b_statvalve1=1;//break;
}
if (b_valverun1==1 && b_statvalve1==1) //&& b_valvedelay==0 && b_end==1)
{
Valve_control(m_bhl); //break;
}
}
void jf_valvetotal(void)
{
if (b_haverst==0)
{
jf_valvectrl();
}
else
{
if (PINB &b_comp) //如果压缩机开//且无低压保护
{
jf_valverunctrl();
}
else if (fault_state4 & b_fault_lpp!=0) { Valve_control(480); }
}
}
/*开度变化量*/
signed int getkdbhl(void){
signed char tempt0,tempt1; signed int tempt2;//signed int tempt0,tempt1,tempt2;
tempt0= evin_TH; tempt1= defrost_TH + 7; tempt2=stepnum;
tempt2=tempt2 + tempt0; // - tempt1;
tempt2=tempt2 - tempt1;
if (tempt2<=0) {tempt2= stepnum;return(tempt2);} //zht 2007.11.22 //return(0);
else if (tempt2>0 && tempt2<90) {tempt2= stepnum;return(tempt2);} //zht 2007.9.24
else if (tempt2>=90 && tempt2<=480) return(tempt2) ; //if (tempt2>=50 && tempt2<60) {return(tempt2);} ; //zht 2007.9.24
else if (tempt2>480) {tempt2= stepnum;return(tempt2); }
}
void valveproc(void)
{
if (PINB &b_comp)
{
if (defrost_AD>=29 && defrost_AD<=968 && evin_AD>=29 && evin_AD<=968)
{m_bhl= getkdbhl() ;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -