基于51单片机太阳能热水器设计

基于51单片机太阳能热水器

(仿真+程序)

功能介绍

具体功能:

1.LCD1602显示屏第一行显示温度,第二行显示温度下限;

2.按键可以设置温度的下限,控制出水;

3.当温度低于设置下限值,加热继电器吸合;

4.用两个开关模拟水位检测传感器,

当水位上下两传感器检测到没水时,继电器开始控制加水;

当水位上下两传感器检测到有水时,停止加水;

​演示视频:

基于51单片机太阳能热水器设计 

添加图片注释,不超过 140 字(可选)

程序

#include <reg52.h>
#include "lcd1602.h"
#include "ds18b20.h"
/***公众号:木子单片机****
************************************/

 


sbit BUZZ = P2 ^ 4;  // 蜂鸣器
sbit KEY1 = P3 ^ 0;  // 按键1
sbit KEY2 = P3 ^ 1;  // 按键2
sbit KEY3 = P3 ^ 4;  // 按键3
sbit Relay1=P3 ^ 6;  // 加热继电器
sbit Relay2=P3 ^ 5;  // 加水继电器
sbit Relay3=P3 ^ 3;  // 出水继电器 
sbit AlarmLed =P2^3; // 低水位指示灯
sbit SW1 =P2^5;  //  高水位
sbit SW2 =P2^6;  //  低水位



u16 Hvalue = 40;  // 高温度
 

void Key(void)
{
   if(KEY1 == 0)     // 按键1按下
	 {
	   if(KEY1 == 0)   // 按键1继续按下
		 {
			 delay(100);    // 延时消抖
			 if(++Hvalue>= 80)   // 最高温度加
			 {
			      Hvalue = 80;
			 } 
		   while(!KEY1);   // 按键1释放
		 } 
	 }
	 
	 if(KEY2 == 0)     // 按键2按下
	 {
	   if(KEY2 == 0)   // 按键2继续按下
		 {
			 delay(100);   // 延时消抖
			 if(--Hvalue<= 1)
			 {
			      Hvalue = 1;
			 } 
		   while(!KEY2);   // 按键1释放
		 } 
	 }
	 
	  if(KEY3 == 0)     // 按键3按下
	 {
	   if(KEY3 == 0)   // 按键3继续按下
		 {
			 delay(100);   // 延时消抖
       Relay3=~Relay3;
		   while(!KEY3);   // 按键3释放
		 } 
	 }
}



硬件设计

使用元器件:

单片机:AT89C51;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

添加图片注释,不超过 140 字(可选)

设计资料

01仿真图

本设计使用proteus7.8和proteus8.9两个版本设计!具体如图!

添加图片注释,不超过 140 字(可选)

02程序

本设计使用软件keil5版本编程设计!具体如图!

添加图片注释,不超过 140 字(可选)

03设计资料

        资料获取请关注同名公众号,全部资料包括仿真源文件 、程序(含注释)等。具体内容如下,全网最全! !

可以关注下方公众号!

点赞分享一起学习成长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值