当前位置: 首页 > news >正文

51单片机热水器温度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机热水器温度控制系统仿真设计

  • 1.主要功能:
  • 2.仿真
  • 3. 程序代码
  • 4. 原理图
  • 5. 设计报告
  • 6. 设计资料内容清单 &&下载链接

51单片机热水器温度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0045

1.主要功能:

本设计旨在实现一个基于51单片机的简易热水壶热水器控制仿真proteus仿真设计,具备以下功能:

1、使用温度传感器DS18B20监测水温 ,用lcd1602显示水温,水温报警阈值,设置的加热温度值;

2、可以通过按键调整加热温度和过温报警阀值;

3、按键控制加热过程启停,温度超过设定值停止加热;

4、超过报警值启动蜂鸣器报警。

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

以下为本设计资料展示图:

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示当前温度值,加热状态,设置的目标温度值,温度报警值。

img

仿真中通过按键调整DS18B20温湿度模块的值改变显示数值。

img上下箭头用于改变温度的值。下箭头调低数值,上箭头调高数值。img改图标显示的是温度的值

开始仿真后,默认报警温度是100℃,当温度超过后蜂鸣器报警。

img

开始仿真后,点击按键开始加热,LCD1602显示start,加热引脚输出PWM信号,当前温度和设置的温度相差越大,输出占空比越大。

img

调整温度超过设置温度后,系统自动停止加热,LCD1602显示stop。

img

3. 程序代码

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

img

main函数代码

#include "reg51.h"
#include"Ds18b20.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^7;//蜂鸣器
sbit out=P2^6;//加热器
sbit k1=P1^0;//按钮
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;uchar time=0,mode=0;//系统变量
uchar wendu=0;//温度
uchar lim1=90,lim2=100;//阀值
uchar disp1[]="Temp:000C";
uchar disp2[]="Set:000 Lim:000";
uchar start=0;void main()//主函数
{uchar i=0;init_1602();	//初始化LCDTMOD|=0X01;TH0=0X3C;TL0=0XB0;	ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){if(!k1)//启动start=1;if(!k2)//停止start=0;if(!k3)//设置加{if(lim1<130)lim1++;while(!k3);}if(!k4)//设置减{if(lim1>0)lim1--;while(!k4);} if(!k5)//阀值加{if(lim2<130)lim2++;while(!k5);}if(!k6)//阀值减{if(lim2>0)lim2--;while(!k6);}//输出占空比,加热控制if(start){if(wendu<lim1){if(i<99)i++;elsei=0;if(i<(lim1-wendu)*2)//设置温度和当前温度相差50以内,温差越小,PWM占空比越小out=0;elseout=1; }elseout=1;}elseout=1;}
}
//定时器中断
void Timer0() interrupt 1
{if(time<10)//0.5stime++;else{time=0;Ds18b20ReadTemp();//读取温度wendu=ds18b20_temp;//显示disp1[5]=wendu/100+0x30;disp1[6]=wendu%100/10+0x30;disp1[7]=wendu%10+0x30;disp2[4]=lim1/100+0x30;disp2[5]=lim1%100/10+0x30;disp2[6]=lim1%10+0x30;disp2[12]=lim2/100+0x30;disp2[13]=lim2%100/10+0x30;disp2[14]=lim2%10+0x30;write_string(1,0,disp1);write_string(2,0,disp2);//报警控制if(wendu>lim2){start=0;beep=0;}elsebeep=1;if(start)write_string(1,10,"start");elsewrite_string(1,10,"stop ");}TH0=0X3C;TL0=0XB0;
}

4. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

img

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

5. 设计报告

6605字设计报告,内容包含设计框图,引言,硬件设计介绍,软件设计介绍,仿真调试,总结和参考文献。

img

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

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

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

1、仿真图

2、程序源码

3、开题报告

4、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

KEIL软件资料

Proteus软件资料

单片机学习资料

答辩技巧

设计报告常用描述

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

img

资料下载链接(可点击):

相关文章:

51单片机热水器温度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机热水器温度控制系统仿真设计 1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单 &&下载链接 51单片机热水器温度控制系统仿真设计( proteus仿真程序原理图报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#x…...

Spring Boot 配置文件加密

方式一&#xff1a;Spring Cloud Config 一、建立config server 1. build.gradle 文件中添加&#xff1a; plugins {id javaid org.springframework.boot version 2.7.0id io.spring.dependency-management version 1.0.11.RELEASE }ext {set(springCloudVersion, "202…...

【树形权限】树形列表权限互斥选择、el-tree设置禁用等等

需求&#xff1a;按照权限管理配置的数据权限树展开&#xff1b;点击查看按钮后进入其他指定机构选择弹窗为一树形结构 本文章对项目中出现得关键点进行总结。 一、实现如上树形列表 在 element 官方表格示例中&#xff0c;实现树形表格列表数据渲染&#xff0c;非常简单。只…...

ubuntu 22.04安装cuda、cudnn、conda、pytorch

1、cuda 视频连接 https://www.bilibili.com/video/BV1bW4y197Mo/?spm_id_from333.999.0.0&vd_source3b42b36e44d271f58e90f86679d77db7cuda 11.8 https://developer.nvidia.com/cuda-toolkit-archive点击进入 https://developer.nvidia.com/cuda-11-8-0-download-arc…...

2023 最新前端面试题 (HTML 篇)

1. src 和 href 的区别 src 用于替换当前元素&#xff08;引入&#xff09;&#xff0c;href 用于在当前文档和引用资源之间确立联系&#xff08;引用&#xff09; &#xff08;1&#xff09;src&#xff08;source&#xff09; 指向外部资源的位置&#xff0c;指向的内容将会嵌…...

华为云银河麒麟V10安装libmcrypt

本次安装是在华为云上执行。cpu是鲲鹏&#xff0c;操作系统是银河麒麟V10. 先下载安装包&#xff1a; wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz 解包&#xff0c;进入目录中。 执行如下命令&#xff1a; ./configure make make install 执…...

智慧导览|智能导游系统|AR景区导览系统|景区电子导览

随着文旅市场的加快复苏&#xff0c;以及元宇宙、VR、AR、虚拟数字人等新兴技术的快速发展&#xff0c;文旅行业也正在加快数字化转型的步伐&#xff0c;向智慧景区建设迈进。为满足不同年龄段游客的游览需要&#xff0c;提升旅游服务体验&#xff0c;越来越多的旅游景区、博物…...

【Docker】Docker基本使用介绍

Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。 一、安装Docker 首先&#xff0c;你需要从官方网站上下载Docker的安装包&#xff0c;并按…...

Linux命令200例:man用于显示和阅读关于Linux内置命令的使用说明

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0…...

idea 无法识别maven的解决

问题描述 从git拉取代码或者修改文件夹以后&#xff0c;整个项目所有依赖爆红无法通过修改或者重新加载maven解决版本为idea 2021 问题定位 maven的版本太高&#xff0c;而idea的般本太低&#xff0c;导致识别的时候稳定性差 解决 使用idea原生的maven版本 选择已捆绑的m…...

String底层函数的实现方式

一、常见的String封装函数 1. strcpy函数的实现 char *strcpy(char *dest, const char *src) {char *tmp dest;while ((*dest *src) ! \0)/* nothing */;return tmp; } 2. strncpy函数的实现 char *strncpy(char *dest, const char *src, size_t count) {char *tmp dest…...

uniapp实现微信小程序全局可分享功能

uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】 主要使用 Vue.js 的 全局混入 1.创建一个全局分享的js文件。示例文件路径为&#xff1a;./utils/shareWx.js &#xff0c;在该文件中定义全局分享的内容&#xff1a; export default {data() {retur…...

大数据成为市场营销利器 ,促进金融贷款企业获客精准化

随着大数据技术的不断普及&#xff0c;中国对尖端技术和云计算技术的投资大幅增加。大数据、云计算技术、物联网等一系列新一代信息技术也加速完善。 目前&#xff0c;大数据技术也非常成熟&#xff0c;大数据的应用领域也多种多样。大数据的重要方面“运营商大数据”已经被政…...

Acwing 3472. 八皇后

题目如下&#xff1a; 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。 如何将 88 个皇后放在棋盘上&#xff08;有 88 个方格&#xff09;&#xff0c;使它们谁也不能被吃掉&#xff01; 这就是著名的八皇后问题。 对于某个满足要…...

Word转为PDF后图片模糊怎么办?Word转为PDF的技巧介绍

将Word文档转为PDF是我们日常办公和文档处理中常见的需求。PDF格式的优势在于跨平台兼容性、保留原始格式、文档保护以及方便共享和分发等方面。本文将探讨Word转为PDF后图片模糊怎么办?Word转为PDF的技巧有哪些?通过这些问题的答案&#xff0c;可以帮助您更好的利用文件转换…...

【django开发手册】详解drf filter中DjangoFilterBackend,SearchFilter,OrderingFilter使用方式

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;开源建设者与全栈领域优质创作者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#xff1a;Zeeland&#x1f4da; Github主页: Undertone0809 (Zeeland)&…...

3D开发工具HOOPS Publish如何快速创建交互式3D PDF文档?

HOOPS Publish是一款功能强大的SDK&#xff0c;可以创作丰富的工程数据并将模型文件导出为各种行业标准格式&#xff0c;包括PDF、STEP、JT和3MF。HOOPS Publish核心的3D数据模型是经过ISO认证的PRC格式(ISO 14739-1:2014)&#xff0c;它为装配树、拓扑和几何、产品制造信息和视…...

【Kafka】ZooKeeper启动失败报错java.net.BindException: Address already in use: bind

问题描述 Kafka 2.8.1 ZooKeeper启动失败。 zookeeper-server-start.bat ../../config/zookeeper.properties[2023-09-04 18:21:49,497] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory) [2023-09-04 18:21:49,498] ERROR Un…...

系统架构设计师-计算机系统基础知识(1)

目录 一、嵌入式系统概述 1、基本概念 2、嵌入式系统软件组成架构 二、嵌入式软件开发 三、嵌入式硬件 1、嵌入式微处理器 一、嵌入式系统概述 1、基本概念 &#xff08;1&#xff09;嵌入式系统是以应用为中心、以计算机技术为基础&#xff0c;并将可配置与可裁剪的软、硬件…...

Mediasoup在node.js下多线程实现

mediasoup基于socket.io的交互消息来完成join-room的请求过程。Join的过程&#xff0c;实际就是获取stream的过程&#xff0c;也就是视频加载时间(video-load-speed)。在RTMP系统&#xff0c;视频加载时间是秒开。Mediasoup给出的第一个frame是I-frame&#xff0c;但由于交互的…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...