标题:
单片机温控程序源码
[打印本页]
作者:
一龙大师
时间:
2017-10-26 18:02
标题:
单片机温控程序源码
本帖最后由 一龙大师 于 2017-10-27 20:11 编辑
当按下K1键,进入手动设定加一,相对地恒温温度值的状态,此时按下K2键可以设定恒温温度值,每按一下K2,温度设定值,每按一下K3,设定值减一,设定好在正确温度范围内的温度值后,再按一下K2,系统开始执行,当前测得的温度将于设定值进行比较,以控制加热或散热装置运行或停止,期间,按下K4键,这设定值请零,系统恢复初始状态,停止所有动作。在设定好恒温温度值后, 可以按下K5键,系统在执行恒温的加热或散热的同时还进入定时时间设定状态,此时,同样可以按K1、K3键来加减设定定时时间值,设定好后再按一下K5,定时系统准备完成,等待环境温度降到或升到设定的恒定温度值,环境温度到达设定温度值时,定时开始,定时数值开始进入倒计时,时间值逐步减小,当减小到零时,系统恢复初始状态,一切运行停止,且恒温温度设定值和定时时间值都自动清零。期间,可以按下K6键,将定时时间值清零以重新设定。
void keyscan()
{
if(!k2)
{
delay(10);
if(!k2)
{
set_en =!set_en;
}
}
if(set_en==1)
{
if(!k1);
{
delay(10);
if(!k1)
{
num2++;
while(!k1);
}
}
if(!k3)
{
delay(10);
if(!k3)
{
num2--;
while(!k3);
}
}
}
if(!k4)
{num2=0;}
if(!k5)
{
delay(10);
if(!k5)
{
set_en1=set_en1+1;
if(set_en1==3)
set_en1=0;
}
}
if((set_en1==1)&&(set_en==0))
{
if(!k1);
{
delay(10);
if(!k1)
{
num3++;
while(!k1);
}
}
if(!k3)
{
delay(10);
if(!k3)
{
num3--;
while(!k2);
}
}
}
if((set_en1==2)&&(num1==num2)&&(num2!=0))
{
TR0=1;
}
if(!k6)
{num3=0;}
}
这是什么意思
if(!k2)
{
delay(10);
if(!k2)
{
set_en =!set_en;
}
}
if(!k5)
{
delay(10);
if(!k5)
{
set_en1=set_en1+1;
if(set_en1==3)
set_en1=0;
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1