基于51单片机的热水器设计

概述: 本实例是基于51单片机的智能热水器控制系统,主要硬件由51单片机最小系统,LCD1602显示屏屏电路,水位传感器电路,ADC转换电路,DS18B20数字温度传感器,蜂鸣器报警电路,按键电路,加水继电器电路,加热继电器电路电路构成。
功能:
1.显示屏显示内容:第一行:当前的水位高度(单位:cm);第二行:当前水箱的温度。
2.三个按键:按键1:设置键;按键2:加一键;按键3:减一键。当设置键按下后,进入阈值调整界面,可分别调整水位上限值、下限值;水箱温度上值、下限值。
3.当系统测量水箱水位,如果水位过低,加水继电器启动加水功能。高于上限值,继电器关闭加水功能。
4.当系统测量水箱温度,如果水温过低,加热继电器启动加热功能。高于上限值,继电器关闭加热功能。
5.当系统检测到水箱温度过高或水位过高时,开启蜂鸣器报警。
原理图:
在这里插入图片描述

(1)单片机最小系统:由51单片机,晶振电路,复位电路组成,其中晶振电路的功能是给单片机运行程序提供时钟节拍,复位电路是为单片机上电时提供一个高电平的复位信号。

(2)采用3路按键电路:当按键按下后,相应的引脚为低电平;按键释放后,引脚为高电平;独立按键为复位按键。

(3)水位信号采集电路:水位电路采用模拟式传感器,水位传感器接上电源后,根据水位的高低输出相应的电压,AD转换芯片AD0832将电压转换为8位的数字值,并通过计算得出当前的水位。

(4)加热、加水控制电路:采用继电器电路进行控制。单片机引脚通过三极管S9012,以此驱动继电器的开关。引脚输出高电平,继电器关闭;引脚输出低电平,继电器开启。

(5)蜂鸣器报警电路:蜂鸣器也用三极管S9012进行驱动。开启与关闭和继电器控制一样。

(6)温度传感器电路:温度感应采用数字型传感器DS18B20,单片机根据温度传感器的控制时序,读取温度传感器内部寄存器,并转化为当前温度。
Protues仿真:
在这里插入图片描述
程序设计:

//主函数
void main()
{
	disp2[9]=0xdf;
	init_1602();	
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		if(!k1)//设置
		{
			if(mode<4)
				mode++;
			else
				mode=0;
			while(!k1);
		}
		if(mode==1)//设置水位下限 
		{
			if(!k2)
			{
				if(lim3<lim4)
					lim3++;
				while(!k2);
			}
			if(!k3)
			{
				if(lim3>0)
					lim3--;
				while(!k3);
			}
		}
		if(mode==2)//设置水位上限 
		{
			if(!k2)
			{
				if(lim4<100)
					lim4++;
				while(!k2);
			}
			if(!k3)
			{
				if(lim4>lim3)
					lim4--;
				while(!k3);
			}
		}
		if(mode==3)//设置温度下限 
		{
			if(!k2)
			{
				if(lim1<lim2)
					lim1++;
				while(!k2);
			}
			if(!k3)
			{
				if(lim1>0)
					lim1--;
				while(!k3);
			}
		}
		if(mode==4)//设置温度上限 
		{
			if(!k2)
			{
				if(lim2<100)
					lim2++;
				while(!k2);
			}
			if(!k3)
			{
				if(lim2>lim1)
					lim2--;
				while(!k3);
			}
		}
		//输出控制
		if((high>lim4)||(ds18b20_temp>lim2))
			beep=0;
		else
			beep=1;
		if(high<lim3)
			out2=0;
		if(high>(lim3+lim4)/2)
			out2=1;
		if(ds18b20_temp<lim1)
			out1=0;
		if(ds18b20_temp>(lim1+lim2)/2)
			out1=1;
	}
}

关注公众号-电子应用学习馆,首页回复“热水器”获取。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值