基于51单片机智能热水器控制系统设计

一.硬件方案

        智能热水器主要实现的功能是可以对水位进行设置并加水,先设置好需要加水的水位段数,单片机会根据这个数判断是否需要加水,同时还可以测量并显示水温、设置水温范围,若水温超过或低于所设置的水温范围,则会报警。

        其主要设计功能如下:

  • 采用LCD1602液晶显示、DS18B20防水型温度传感器测温,液晶显示当前的温度、温度上下限值和预约时间(单片机内部定时器)。
  • 带有红外遥控和手动按键双输入设置参数,更加方便快捷实用。可以显示和设置预约时间(min),可以随意设置预约多少分钟后开启热水器系统控制,这样更加智能和节能。按键可以设置水温的控制范围,五个按键功能:设置、加、减、确定、单独的是复位按键
  • 当温度低于下限的时候继电器吸合,待温度高于上限的时候继电器断开,继电器可以接负载;(默认没有负载,可以接加热管。)
  • 采用两个水位传感器和LM393电压比较器检测上、下水位功能,水少不加热并启动水位控制继电器(上)吸合模拟加水,当水加至水位上限时,继电器断开停止加水 。
  • 热水器工作加热和加水时有相应的指示灯(红灯代表缺水,黄灯代表加水,绿灯代表加热),整个系统有蜂鸣器提示音,实现声光提示;

二.设计电路

        整体电路主要由51单片机最小系统,LCD1602显示屏电路,按键电路,加热继电器电路,DS18B20温度传感器,蜂鸣器报警电路,状态指示灯,遥控电路等组成;

        原理图如图:

        Protues仿真图如下:

 

三.软件设计

主程序源码

void main()
{
    Init1602();
    EA=1;//打开中断总开关
    IT1=1;//下降沿有效
    EX1=1;//外部中断1开
    ET1=1;//打开允许开关
    TMOD=0x01;//设置工作方式
    TL1=0x3c;
    TH1=0xb0;//赋初值
    TH0=0;//T0赋初值
    TL0=0;
    TR0=0;//t0开始计时
    check_wendu();
    delay(1000);
    bjd=99;
    bjx=0;                 //这两个变量的作用就是,防止温度大范围跳动造成加热设备误动作
    while(1)
    {    
        check_wendu();
        if(Mode==0)
        {    
            Display_1602(c,ds,sx,xx);
            if((xia==1)&&(shang==1)) //低于下限
            {
                 que=1;
                shui=0;
                jdq=1;
            }
            else
            {
                que=0;
            }
            if((shang==0)&&(xia==0)) //高于上限
            {
                shui=1;
                if(flag_BJ==0)
                flag_BJ=1;
            }
            if((shang==0)&&(xia==1)) //错误
            {
                shui=1;
                jdq=1;
                Feng=0;
                que=1;
            }
            if(flag==0)
            {
                if((w<bjd)&&(w>bjx))
                {
                    if(w>=sx)
                    {
                        jdq=1;
                        if(flag_BJ==0)
                        flag_BJ=1;
                    }
                    else if((w<xx)&&(que==0))      
                    {
                        jdq=0;
                        if(flag_BJ==0)
                        flag_BJ=1;
                    }
                    else
                    {
                        flag_BJ=0;
                        flag_off=1;
                    }
                    bjd=w+5;
                    bjx=w-5;
                }
            }
        }
        Key();
        Alam();
    }
}

资料链接:https://pan.baidu.com/s/1eNvA3yXGEE65jYjc5VElGQ?pwd=rend 
提取码:rend

  • 7
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值