基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真+程序+设计报告+讲解视频)

news2024/9/20 8:11:48

基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真+程序+设计报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0099

1. 主要功能:

基于51单片机的简易温控水杯恒温杯仿真设计

1、采用DS18B20检测温度,温度检测范围-55~125摄氏度。

2、LCD1602显示检测温度和设置温度值,温度低于设定值显示low,高于显示high。

3、检测温度小于设定温度-1°时,开启加热器。

检测温度大于设定温度+1时,开启制冷器控制温度。

4、按键加减设置温度设定值,可以通过按键控制电动开关盖。

51单片机、DS18B20温度传感器、LCD1602显示

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

img

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真

开始仿真后LCD1602液晶显示当前测量的温度,设置温度,如果检测到温度大于设置值+1,制冷器开始工作降温。

img

如果检测到温度小于设置值-1,加热器开始工作加热提高温度。

img

可以通过按键控制瓶盖开关。

img

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。

#include "reg51.h"
#include"Ds18b20.h"
#include "lcd1602.h"
#define uchar unsigned char	//重定义
#define uint unsigned int
sbit k1=P3^0;//按钮
sbit k2=P3^1;
sbit k3=P3^2;
sbit door=P2^2;	//开关盖
sbit heat=P2^0;	 //加热
sbit cold=P2^1;	 //制冷

sbit beep=P2^5;//蜂鸣器

uchar time=0,num1=0;//定时
int wendu=0;//温度
uchar Ds_0_flag=0;//0度以上标志位
float tp; 
完整代码见文章下载链接
uint down=40;//阀值
uchar disp1[]="wendu:000 C     ";
uchar disp2[]="set_wendu:000 C ";
//uchar disp2[]="L:000 C  H:000 C";

uchar flag=0,beep_flag=0;

void delay(uint i)//延时
{
	while(i--)
	{
		delay_uint(50000);
	}
}
void main()
{
	disp1[9]=0xdf;
	disp2[13]=0xdf;
//	disp2[14]=0xdf;
	init_1602();//初始化液晶
	TMOD|=0X11;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
	TH1=(65536-50000)/256;	//给定时器赋初值,定时50ms
	TL1=(65536-50000)%256;	
	ET1=1;//打开定时器1中断允许
	EA=1;//打开总中断
	TR1=1;//打开定时器1

	delay(4);
	beep_flag = 0;
	while(1)
	{
		//按键检测
		if(!k1)
		{
			if(down<125) //下限阈值检测范围小
				down++;	//阈值+1
			while(!k1);
		}
		if(!k2)
		{
			if(down>0)
				down--;	 	//阈值-1
			while(!k2);
		}
		if(!k3)
		{
			if(door){
				door=0;
			}else{
				door=1;
			}
			while(!k3);
		}

	}
}

void Timer1() interrupt 3//定时器中断
{
	TH1=(65536-50000)/256;	//给定时器赋初值,定时50ms
	TL1=(65536-50000)%256;	
	if(time<10)
		time++;
	else
	{
		time=0;
		wendu=Ds18b20ReadTemp();//测量温度
		if(wendu<0){
			Ds_0_flag=0;
			wendu=wendu-1;
			wendu=~wendu;
			tp=wendu;
			wendu=tp*0.0625+0.5;	
			disp1[6]='-';//计算温度
	  		disp1[7]=wendu%100/10+0x30;
			disp1[8]=wendu%10+0x30;
		}else{
			Ds_0_flag=1;
			tp=wendu;
			wendu=tp*0.0625+0.5;	
			//温度在寄存器中12位,分辨率:0.0625
			//加0.5是四舍五入
			disp1[6]=wendu/100+0x30;//计算温度
			disp1[7]=wendu%100/10+0x30;
			disp1[8]=wendu%10+0x30;
		}


		disp2[10]=down/100+0x30;//计算阈值
		disp2[11]=down%100/10+0x30;
		disp2[12]=down%10+0x30;

		write_string(1,0,disp1);//显示
		write_string(2,0,disp2);
	}
	if(wendu<down-1||Ds_0_flag==0){
		write_string(1,12,"Low ");
		heat = 0;//低温加热
		cold = 1;
	}else if(wendu>down+1){
		write_string(1,12,"High");
		cold = 0;//高温制冷
		heat = 1;
	}else{
		write_string(1,12,"    ");
		heat=cold=1;//取消加热制冷
	}
		
}


5. 设计报告

7187字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等

img

随着科技日新月异的进步和生活质量的不断提升,人们对生活用品的功能性、便利性和智能化程度提出了更高的要求。在这样的时代背景下,智能生活用品正逐渐成为现代生活的标配,它们不仅改善了人们的生活质量,还极大地提高了生活的舒适度与效率。智能恒温水杯作为一种代表性的智能化生活用品,其核心功能在于能够自动感应并调节杯内液体的温度,确保饮品始终保持在最适宜饮用的范围内,无论是热饮还是冷饮,都能做到随心所欲,这无疑极大地迎合了现代快节奏生活中人们对健康饮水习惯的追求,也因其高度的实用性和便捷性而广受市场和消费者的青睐。

针对这一趋势,本课题聚焦于设计一款基于51系列单片机为核心的简易温控水杯恒温杯仿真系统。此设计项目的核心目标有两个方面:首先,从实用角度出发,致力于研发一种能够精确控制水温的技术方案,使水杯能根据预先设定的温度自动启动加热或降温机制,从而实现在任何环境条件下都能让杯中的水温保持在理想的水平,充分满足人们日常生活中对不同饮品适宜温度的需求;其次,从教育与科研层面来看,本课题设计有助于提升学生对嵌入式系统设计理论的理解,通过从理论到实践的设计过程,让学生亲手构建一套包含温度感知、数据处理、控制执行等环节的完整闭环系统,有效锻炼学生的动手能力和工程实践能力。

6. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、程序代码注释

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

img

百度网盘下载链接:-失效请留言
https://pan.baidu.com/s/1gET6ed4LRllvEgB6qmK4kg?pwd=drml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1794268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百元级蓝牙耳机推荐,五大最新真香品牌机型盘点!

蓝牙耳机已成为我们不可或缺的伴侣无论是通勤路上的音乐陪伴&#xff0c;还是健身房里的动感节奏&#xff0c;一副高品质的蓝牙耳机都能为我们带来无与伦比的听觉享受&#xff0c;今天我将为大家盘点五大最新真香品牌机型&#xff0c;这些百元级的蓝牙耳机不仅价格亲民&#xf…

Qt如何让按钮的菜单出现在按钮的右侧

直接上代码&#xff0c;我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要&#xff0c;大家务必经常拿出来看看。 void MainWindow::initMenu() { QMenu* menuLiXiang new QMenu; QAction* actXiangMuZhangCheng new QAction("项目章程"); …

cocos入门4:项目目录结构

Cocos Creator 项目结构教程 Cocos Creator 是一个功能强大的游戏开发工具&#xff0c;它为开发者提供了直观易用的界面和强大的功能来快速创建游戏。在使用 Cocos Creator 开发游戏时&#xff0c;合理地组织项目结构对于项目的可维护性和扩展性至关重要。以下是一个关于如何设…

新一代企业共享服务中心,开启企业智慧管理决策新纪元

随着数字化浪潮加速来袭&#xff0c;企业面临着与以往全然不同的挑战与机遇。 业务与人员的增长致使服务请求与日俱增&#xff0c;业务类型愈加复杂&#xff0c;大量来自不同业务线的服务请求使内部服务压力增加。业务激增后只得依赖更多资源投入&#xff0c;势必掣肘服务效率。…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:医疗健康智能服务

北京天星医疗股份有限公司(简称“天星医疗”)作为国产运动医学的领导者&#xff0c;致力于提供运动医学的整体临床解决方案&#xff0c;公司坐落于北京经济技术开发区。应用于肩关节、膝关节、足/踝关节、髋关节、肘关节、手/腕关节的运动医学设备、植入物和手术器械共计300多个…

Postgresql源码(135)生成执行计划——Var的调整set_plan_references

1 总结 set_plan_references主要有两个功能&#xff1a; 拉平&#xff1a;生成拉平后的RTE列表&#xff08;add_rtes_to_flat_rtable&#xff09;。调整&#xff1a;调整前每一层计划中varno的引用都是相对于本层RTE的偏移量。放在一个整体计划后&#xff0c;需要指向一个统一…

Cochrane Library循证医学数据库的介绍及文献下载

今天要讲的数据库是Cochrane Library循证医学数据库&#xff0c;我们先来了解一下该数据库&#xff1a; Cochrane Library是国际Cochrane Collaboration的主要产品&#xff0c;由英国Wiley InterScience公司出版发行。是一个提供高质量证据的数据库&#xff0c;是循证医学的证…

如何把试卷上的字去掉再打印?分享三种方法

如何把试卷上的字去掉再打印&#xff1f;随着科技的不断发展&#xff0c;现代教育和学习方式也在逐渐变革。在学习过程中&#xff0c;我们经常需要对试卷进行整理和分析&#xff0c;以便更好地掌握知识点和复习。然而&#xff0c;传统的试卷整理方法往往效率低下且容易出错。幸…

前端实现大文件分片并行上传、断点续传、秒传(完整解析)

一、总体流程图 二、具体步骤 简单理解&#xff1a;前端先将文件切割多份&#xff0c;在进行上传&#xff0c;由后端进行切片合并操作。 具体逻辑&#xff1a; 1. 前端选中上传文件&#xff08;如果是批量上传就把选中的文件存入选中文件列表数组中&#xff0c;后续在遍历上…

java版CRM客户关系管理系统源码:CRM客户关系管理系统的功能详解

CRM客户关系管理系统是一款功能全面的客户管理工具&#xff0c;旨在帮助企业和销售团队提高客户管理效率&#xff0c;优化销售流程。该系统包含多个模块&#xff0c;覆盖了从线索到回款的全流程管理&#xff0c;为用户提供了一个集成化的客户关系管理平台。 一、待办事项模块&a…

Python 技巧分享:NEF 文件的元数据提取

介绍 随着摄影技术的不断发展&#xff0c;NEF 文件作为尼康相机的 RAW 格式文件&#xff0c;因其包含丰富的图像数据和元数据&#xff0c;备受摄影爱好者和专业摄影师的青睐。提取 NEF 文件中的元数据对照片管理、分析及处理具有重要意义。本文将介绍如何使用 Python 技术&…

nltk报错Error loading stopwords: <urlopen error [Errno 11004]

最佳解决方案是手动下载并安装 nltk 数据。这里是详细步骤&#xff0c;确保每一步都能正确执行&#xff1a; 步骤 1: 手动下载 stopwords 数据集 下载 stopwords 数据集&#xff1a; 打开浏览器&#xff0c;访问以下链接下载 stopwords 数据集&#xff1a; stopwords.zip 解…

sap 应用日志-Application Log

文章目录 sap 应用日志-Application Log概念事务代码函数创建程序显示配置文件运行结果弹出式全屏式 程序剖析清空日志创建日志模拟数据添加日志消息显示日志BAL_DSP_LOG_DISPLAY-显示内存消息 全部程序 sap 应用日志-Application Log 概念 SAP 应用日志&#xff08;Applicat…

【亚马逊云科技 CSDN 联合巨献】 「对话AI 构建者:从基础到应用的 LLM 全景培训」 限时免费!

&#x1f680;&#x1f31f;【亚马逊云科技 & CSDN 联合巨献】 &#x1f4da;「对话AI 构建者&#xff1a;从基础到应用的 LLM 全景培训」&#x1f525; 限时免费&#xff01; &#x1f4c6; 抓紧时间&#xff01;6月7日前注册&#xff0c;原价 399&#xff0c;现在仅需 0…

网络编程(五)

网络编程&#xff08;五&#xff09; 网络服务器超时检测使用select进行超时检测套接字属性**getsockopt:获取socket软通道的某项属性值**setsockopt:设置socket软通道的某项属性值**&#xff08;socket建立之后就可使用&#xff09; 信号**signal()&#xff1a;信号处理函数se…

【Python】搭配 Python 环境(超详细教程)

要想能够进行 Python 开发&#xff0c;就需要搭建好 Python 的环境。 需要安装的环境主要是两个部分&#xff1a; 运行环境&#xff1a;Python 开发环境&#xff1a;PyCharm 一、安装 Python 1、找到官方网站 Welcome to Python.org 在搜索引擎中搜索 python 关键字&…

【WP】猿人学13_入门级cookie

https://match.yuanrenxue.cn/match/13 抓包分析 抓包分析发现加密参数是cookie中有一个yuanrenxue_cookie 当cookie过期的时候&#xff0c;就会重新给match/13发包&#xff0c;这个包返回一段js代码&#xff0c;应该是生成cookie的 <script>document.cookie(y)(u)(a…

Linux环境---在线安装jdk

Linux环境—在线安装jdk 一、使用步骤 1.安装环境 JDK版本&#xff1a;1.8 1.1 建立存放软件的目录 注意&#xff1a;此处本人是将需要按照的软件存放在directory目录下&#xff0c;可根据实际情况调整接收路径。 命令如下&#xff1a; mkdir directory2.安装jdk 2.1 建…

vscode设置代码自动换行显示

☆ 问题描述 vscode设置代码自动换行显示 ★ 解决方案 ✅ 总结

深入理解mysql中的各种超时属性

1. 前言 connectTimeout: 连接超时 loginTimeout: 登录超时 socketTimeout: Socket网络超时&#xff0c;即读超时 queryTimeout: sql执行超时 transactionTimeout:spring事务超时 innodb_lock_wait_timeout:innodb锁等待超时 wait_timeout:非交互式连接关闭前的等待时间 inter…