📄 other.c
字号:
////////////////////////////////////////////////////
/* auto_solve.c */
///////////////////////////////////////////////////
#include "REG51STC.H"
#include <ABSACC.H>
#include "oven.h"
#include "citation.h"
/************************************************
* 功能:上电发光器件自检
*************************************************/
void start_check(void)
{ uint i;
uchar j;
//-----------------------------------------
if(state !=1 && state !=2) state=9; //系统自检状态
for(i=1000;i>0;i--)
{ WDT_CONTR=0x3c;WDT=!WDT;
delay(1000);
}
for(i=1000;i>0;i--)
{
if(KEYSET) break;
}
if(i==0) {sys_stare=1;led_set=0;} //将进入参数设置
//------------------------------------------
for(j=0;j<5;j++)
{
led[0]=led[1]=led[2]=led[3]=30;led[4]=0x00;
disp();
for(i=100;i>0;i--)
{ WDT_CONTR=0x3c;WDT=!WDT;
delay(1000);
}
//-----------------
led[0]=led[1]=led[2]=led[3]=29;led[4]=0xff;
disp();
for(i=100;i>0;i--)
{ WDT_CONTR=0x3c;WDT=!WDT;
delay(1000);
}
//-----------------
}
led[0]=0;led[1]=29;led[2]=29;led[3]=29;//29=灭
led[4]=0xff;
disp();
if(sys_stare){led_set=0;menu=1;}
else {menu=0;}
while(!KEYSET) {WDT_CONTR=0x3c;WDT=!WDT;}
//--------------------------------
if(state !=1 && state !=2)
{ state=0; //系统状态
for(i=1000;i>0;i--)
{
if(KEYADD) break;
}
if(i==0) {sys_stare=1;led_set=0;state=40;} //将显示湿度
while(!KEYADD) {WDT_CONTR=0x3c;WDT=!WDT;}
//-----------------------------------
for(i=1000;i>0;i--)
{
if(KEYSUB) break;
}
if(i==0) {sys_stare=1;led_set=0;state=50;} //将显示湿度
if(sys_stare==1)led_set=0;
else led_set=1;
while(!KEYSUB) {WDT_CONTR=0x3c;WDT=!WDT;}
}
//-----------------------------------
//if(state<40) {led[0]=0;led[1]=0;led[2]=0;led[3]=0;}//29=灭
}
/****************************************************************
* 功能:停止运行
****************************************************************/
void stop_run(void)
{
led[4]=0xff;
state=0;
heat_ok=0;
RLY1=1; RLY2=1; //RLY3=1;
//OUTOM1=1;
//OUTOM2=1;
}
/****************************************************************
* 功能:自动控制
****************************************************************/
void auto_dominate(void)
{ //float m;
if(urc<dry_flag && state==1 && work_time>900) //urc湿度
{ //pause_heat=1; //暂停加热
if(stop_drying==0)
{ stop_run(); //自动调整为消毒
if(state==0 || !timerov)
{ count_down=900;
state=2;
led_fuchsia=0;
led_run=0;
RLY1=0;
timerov=1; //0-->超时
fmqok=1;
}
}
}
else stop_drying=900; //烘干后必须15分钟湿度不能再次超过30%
/////
if(state==1)
{
//if(urc>80 && pwout<dynamo) pwout=dynamo; //增
//-----------------------------------------------
//m=dynamo*urc/100;
//if(m<2)m=2; //最小为100W
//if(work_time>900 && urc<80 && pwout>m) pwout=(uchar)m; //减
//if(work_time>900 && urc<70 && pwout>m) pwout=(uchar)m;
//if(work_time>900 && urc<60 && pwout>m) pwout=(uchar)m;
//if(work_time>900 && urc<50 && pwout>m) pwout=(uchar)m;
if(work_time>900 && urc<40)big_ok=0; // 自动调功
//------------------------------------------------
//if(work_time>120 &&urc<50 && pwout>15) pwout=10; //极速减
if(urc>=dry_flag+2) pause_heat=0; //取消暂停加热
}
}
/****************************************************************
* 功能:电源电压下降
****************************************************************/
void descend_power(void)
{ uint i;
if(!INT0)
{
for(i=200;i>0;i--)
{
WDT_CONTR=0x3c;
WDT=!WDT;
if(INT0)break;
}
if(i==0)
{
//EA=0;
//if(state==1 || state==2)power_drop_save();
//EA=1;
}
}
power_drop=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -