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

作者 : admin 本文共1142个字,预计阅读时间需要3分钟 发布时间: 2024-06-16 共1人阅读

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

(仿真+程序)

功能介绍

具体功能:

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

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

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

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

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

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

​演示视频:

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

基于51单片机太阳能热水器设计插图 添加图片注释,不超过 140 字(可选)

程序

#include 
#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都一样,引脚功能都一样。程序也是一样的。)

基于51单片机太阳能热水器设计插图(1) 添加图片注释,不超过 140 字(可选)

设计资料

01仿真图

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

基于51单片机太阳能热水器设计插图(2) 添加图片注释,不超过 140 字(可选)

02程序

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

基于51单片机太阳能热水器设计插图(3) 添加图片注释,不超过 140 字(可选)

03设计资料

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

基于51单片机太阳能热水器设计插图(4)

可以关注下方公众号!

点赞分享一起学习成长。

本站无任何商业行为
个人在线分享 » 基于51单片机太阳能热水器设计
E-->