{
shang-=1; //上限减1
if(shang<=10)shang=10; //上限最小减到10
}while(key3==0);//松手检测
}
}
while(flag==2) //设置下限
{
d1=17;d2=xia/10;d3=xia%10; //显示字母L 显示下限温度值
display(); //以下注释同上
if(key1==0)
{
delay(30);
if(key1==0)flag=0;
while(key1==0);//松手检测
}
if(key2==0)
{
delay(30);
if(key2==0)
{
xia+=5;
if(xia>=95)xia=95;
}while(key2==0);//松手检测
}
if(key3==0)
{
delay(30);
if(key3==0)
{
xia-=1;
if(xia<=0)xia=0;
}while(key3==0);//松手检测
}
}
}
void zi_dong()//自动温控模式
{
uchar i;
d1=dang;d2=wen_du/10;d3=wen_du%10; //显示档位,显示当前温度值
zi_keyscan();//按键扫描函数
display(); //调用显示函数
if(wen_duif((wen_du>=xia)&&(wen_du<=shang))//温度大于下限,小于上限 1挡
{
dang=1; //档位置1
for(i=0;i<3;i++){dj=0;display();zi_keyscan();} //PWM通过延时得到
for(i=0;i<6;i++){dj=1;display();zi_keyscan();}
}
if(wen_du>shang){dj=1;dang=2;}//高温全速
}
void main() //主函数
{
uchar j;
dj=0; //电机开
shang=30;
xia=20; //初始上下限值
for(j=0;j<80;j++) //先读取温度值,防止开机显示85
ReadTemperature();
while(1) //进入while循环
{
ReadTemperature(); //读取温度值
for(j=0;j<100;j++)zi_dong();//自动温控模式
}
}
[1] [2]