【毕业设计】21-基于单片机的智能恒温箱_温度报警装置设计(原理图+仿真+源代码+答辩论文+答辩PPT)

news2024/11/23 12:28:53

【毕业设计】21-基于单片机的智能恒温箱/温度报警装置设计(原理图+仿真+源代码+答辩论文+答辩PPT)

文章目录

  • 【毕业设计】21-基于单片机的智能恒温箱/温度报警装置设计(原理图+仿真+源代码+答辩论文+答辩PPT)
    • 任务书
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

任务书

恒温控制在工业生产过程中举足轻重,温度的控制直接影响着工业生产的质量。本文设计了基于单片机的智能恒温箱,要求选择合适的主控芯片、温度检测器、显示器以及报警器。硬件设计主要包括温度采集电路、键盘电路、报警电路、显示电路以及电源电路。
主要内容:本文采用单片机为主控制器,通过温度传感器测得箱内温度,并将温度信号传递给主控制器,主控制器通过相应程序设计控制恒温箱温度,若温度不合格则发出报警信号。
资料链接
原理图工程文件
原理图截图
仿真模型工程文件
仿真截图
答辩论文低重复率文档,20962字
英文文献及翻译
答辩PPT

设计说明书

摘要

随着科学的进步,社会的不断发展,智能控制系统已经成为了一种常用的技术,应用在各行各业中,由于现在对温度控制要求极高,传统的恒温箱无法实现较高精度的温度控制,本文针对此现象设计出一款智能恒温箱来满足当前系统设计要求,可以实现温度控制及报警的功能,
本文的设计流程为对系统的研究背景分析了解系统的工作情况、工作原理,确定本文的研发方向。对系统需要实现的功能确定;对系统的功能分析;对系统元器件选型确定系统总方案;对系统的软件部分设计。首先编写程序的总流程,然后再对系统的报告字模块编写程序,最后将程序调用在主函数中完成程序的设计,最后通过仿真软件将系统仿真出来,测试系统功能。本文设计的基于单片机的的智能恒温箱使用STC89C52单片机为主控芯片;DS18B20温度监测,使LCD1602液显示系统的信息;通过按键实现人机交互功能实现对系统的控制;蜂鸣器作为声学报警器;LED作为光学报警器。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,LCD1602液晶显示器。
通过对系统的硬件电路设计,程序编写,最后使用仿真软件Proteus来测试系统功能,完成本次设计。本系统实现了智能温度箱的控制设计可以对其进行推广,并且功能迭代,实现对智能化大力应用推广。

设计框架架构

前 言… 1

第一章 绪 论… 2

第一节 研究背景… 2

第二节 研究意义… 2

第三节 本文的主要研究内容… 3

第四节 本章小结… 3

第二章 基于单片机的智能恒温箱系统方案确定… 5

第一节 系统功能分析… 5

第二节 系统设计方案选择… 5

一、方案一… 5

二、方案二… 6

第三节 系统主要元器件介绍… 6

一、单片机介绍… 6

二、LCD显示器介绍… 6

三、温度传感器介绍… 7

第三节 系统结构总框图… 7

第四节 本章小结… 8

第三章 基于单片机的智能恒温箱系统硬件电路设计… 9

第一节 单片机最小系统电路设计… 9

第二节 电源电路设计… 10

第三节 按键电路设计… 10

第四节 LED电路设计… 11

第五节 LCD液晶显示电路设计… 11

第六节 温度传感器电路设计… 13

第七节 蜂鸣器报警电路设计… 13

第八节 系统总电路图设计… 14

第九节 本章小结… 15

第四章 基于单片机的智能恒温箱系统的软件设计… 16

第一节 Keil软件介绍… 16

第二节 软件总设计流程… 17

第三节 按键模块程序设计… 18

第四节 LED模块程序设计… 19

第五节 LCD液晶显示模块程序设计… 20

第六节 温度传感器程序设计… 23

第七节 蜂鸣器报警模块程序设计… 25

第八节 本章小结… 26

第五章 基于单片机的智能恒温箱系统的仿真… 27

第一节 仿真软件介绍… 27

第二节 系统调试… 28

第三节 系统测试… 29

第四节 本章小结… 33

总 结… 34

致 谢… 35

参考文献… 36

附 录… 38

一、英文原文… 38

二、英文翻译… 41

三、工程图纸… 43

四、源代码… 44

设计说明书及设计文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

答辩论文低重复率文档,20962字

在这里插入图片描述

源码展示

void main (void)
{
	u8 key;
	wendu=check_wendu();		  //初始化时调用温度读取函数 防止开机85°C
	Init1602();			  //调用初始化显
  LCD_Write_String(0,0," Intellect Temp");  //开机界面
	LCD_Write_String(1,0,"SET:00  NOW:00.0"); 
	delay_ms(1000);
	wendu=check_wendu();		  //初始化时调用温度读取函数 防止开机85°C
	while (1)        					//主循环
	{
		key=Key_Scan();					//按键扫描
		wendu=check_wendu();	  //读取温度值
		
		if(key==KEY_SET)
		{
			Mode++;
		}		
		switch(Mode)						//判断模式的值
		{
			case 0:								//监控模式
			{
				Display_1602(yushe_wendu,wendu);  //显示预设温度,预设烟雾,温度值,烟雾值
				
				if(wendu>=(yushe_wendu*10))	  //温度大于等于预设温度值时(为什么是大于预设值*10:因为我们要显示的温度是有小数点后一位,是一个3位数,25.9°C时实际读的数是259,所以判断预设值时将预设值*10)
				{
					Buzzer=0;			  			//打开蜂鸣器报警
					Led_Yellow=0;		  			//打开温度报警灯
					Led_Gre   =1;           //关闭未报警指示灯
				}
				else					  					//温度值小于预设值时
				{
					Led_Yellow=1;		  			//关闭报警灯
					Led_Gre   =0;           //打开未报警指示灯
				}
				if((wendu<(yushe_wendu*10)))	  //当烟雾小于预设值并且温度也小于预设值时 (&&:逻辑与,左右两边的表达式都成立(都为真,也就是1)时,该if语句才成立)
				{
					Buzzer=1;			  			//停止报警
				}
				break;
			}
			case 1://预设温度模式
			{
				SelectPosition(1,3) ;					//指定位置
	   		write_com(0x0d);							//阴影闪烁
				if(key==KEY_ADD)							//加键按下
				{
					yushe_wendu++;					    //预设温度值(阀值)加1
					if(yushe_wendu>=99)			 	//当阀值加到大于等于99时
					yushe_wendu=99;					 		//阀值固定为99
					LCD_Write_Char(1,4,yushe_wendu,2) ;//显示预设温度
				}
				if(key==KEY_MINUS)				 		//减键按下
				{
					if(yushe_wendu<=1)					//当温度上限值减小到1时
					yushe_wendu=1;          		//固定为1
					yushe_wendu--;						//预设温度值减一,最小为0
					LCD_Write_Char(1,4,yushe_wendu,2) ;//显示预设温度
				}
				break;			  								//执行后跳出switch
			}			
			default	:	
			{
				write_com(0x38);//屏幕初始化
				write_com(0x0c);//打开显示 无光标 无光标闪烁
				Mode=0;			//恢复正常模式
				break;
			}
		}		
	}
}

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

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

相关文章

Tomcat:servlet与servlet容器

前言 在介绍Tomcat之前&#xff0c;我们首先需要了解它的作用&#xff0c;简单的说&#xff0c;tomcat就是一个servlet容器。因此&#xff0c;本文首先从Web 应用程序开始讲起&#xff0c;逐步介绍servlet。 Web即表示网页的意思&#xff0c;它用于表示 Internet 主机上供外界访…

【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 一、获取定位信息 开启定位相关功能只是将定位的前提条件准备好&#xff0c;若想获得手机当前所处的位置信息&#xff0c;还要依靠下列的3种定位工具。 &#xff08;1&#xff09;定位条件器Criteria 定位条件器用于设置定位的…

如何从报表控件FastReport .NET中连接到 PostgreSQL 数据库?

FastReport.NET官方版下载 Fastreport是目前世界上主流的图表控件&#xff0c;具有超高性价比&#xff0c;以更具成本优势的价格&#xff0c;便能提供功能齐全的报表解决方案&#xff0c;连续三年蝉联全球文档创建组件和库的“ Top 50 Publishers”奖。 慧都科技是Fast Repor…

Nacos注册中心和服务消费方式(服务治理)

目录 一、服务治理介绍 什么是服务治理&#xff1f; 二、nacos简介 三、nacos实战入门 1.搭建nacos环境 2.将商品、订单、微服务注册到nacos 四、实现服务调用的负载均衡 1.什么是负载均衡 2. DiscoveryClient实现负载均衡 3.Ribbon实现负载均衡 Ribbon支持的负载…

Nacos作为配置中心详解

前言 在单体架构的时候我们可以将配置写在配置文件中&#xff0c;但有⼀个缺点就是每次修改配置都需要重启服务才能生效。 当应用程序实例比较少的时候还可以维护。如果转向微服务架构有成百上千个实例&#xff0c;每修改⼀次配置要将全部实例重启&#xff0c;不仅增加了系统的…

Spring Boot FailureAnalyzer 应用场景

Spring Boot 自定义FailureAnalyzer 今天在学习Spring Boot 源码的过程中&#xff0c;在spring.factories 文件中无意中发现了FailureAnalyzer 这个接口。由于之前没有接触过&#xff0c;今天来学习一下 FailureAnalyzer 接口的作用。 在学习FailureAnalyzer之前, 我们先看以…

Spark 3.0 - 8.ML Pipeline 之决策树原理与实战

目录 一.引言 二.决策树基础-信息熵 三.决策树的算法基础 - ID3 算法 四.ML 中决策树的构建 1.信息增益计算 2.连续属性划分 五.ML 决策树实战 1.Libsvm 数据与加载 2.StringIndexer 3.VectorIndexer 4.构建决策树与 Pipeline 5.测试与评估 6.获取决策树 六.总结…

【学习笔记67】JavaScript中的闭包

一、认识函数的过程 1. 定义 在堆内存中开辟一段内存空间(XF001)把函数体的内容&#xff0c;完全百分百的照抄一份&#xff0c;存放在内存空间中(XF001)把内存空间的地址(XF001) 赋值给函数名2. 调用 根据函数名内存储的地址 (XF001) &#xff0c;去堆内存中找到对应函数会去…

Nginx安装Openresty加载Lua代码

1、下载 VM环境&#xff1a;ubuntu 16 http://openresty.org/cn/download.html 我选择的是截图红框的那个版本&#xff0c;其他高级的版本&#xff0c;我编译的时候都会报错&#xff0c;所以选择了这个版本&#xff0c;大家编译失败的时候不要放弃&#xff0c;继续选择其他版…

【PS-8】选区

目录 矩形选框工具 先选区再按【shift】&#xff0c;正方形选区 选区的同时按【ALT】&#xff0c;从中心点选区 选区时按【shiftalt】&#xff0c;从中心点建立正方形选区 模式1&#xff1a;添加到选区 模式2&#xff1a;新选区 模式3&#xff1a; 从选区减去 模式4&am…

《C++Primer》-1-前序与基础第I部分重点

文章目录第一章 开始1. c之与其他语言的优点&#xff1f;2. c语言的组成3. 标准输入输出cin、cout4. include格式第二章 变量和基本类型1. 无符号数的使用注意2. 初始化注意事项3. 声明与定义4. 标识符的下划线规则5. &引用、取地址&、指针的区别6. 如何理解“因为引用…

Rainbow Brackets的配色修改和使用

修改配色&#xff1a;&#xff09; 敲好看内&#xff01;&#xff01; 记得每个都要改噢&#xff01; 5分别对应的是&#xff1a; 圆括号 方括号 波形括号 尖括号 6分别对应的是&#xff1a; ECB1E9 F6F0A9 78B8EF F3BBA2 A9D57E 使用方式 Ctrl 鼠标右键&#xff1a;高亮{}…

C++ Reference: Standard C++ Library reference: Containers: list: list: end

C官网参考链接&#xff1a;https://cplusplus.com/reference/list/list/end/ 公有成员函数 <list> std::list::end C98 iterator end(); const_iterator end() const; C11 iterator end() noexcept; const_iterator end() const noexcept; 返回结束迭代器 返回一个指向…

企业日常公关如何抵御负面信息的入侵?

如今&#xff0c;互联网时代信息传播速度极快&#xff0c;这使得宣传工作效率倍增&#xff0c;也给企业舆情管理带来一定的挑战。舆情优化搞得好&#xff0c;企业宣传工作事半功倍&#xff0c;网络舆论走向负面的话&#xff0c;则对宣传工作非常不利&#xff0c;会导致推广效果…

Echart 柱状图,X轴斜着展示

option { color: [‘#3398DB’], tooltip: { trigger: ‘axis’, axisPointer: { // 坐标轴指示器&#xff0c;坐标轴触发有效 type: ‘shadow’ // 默认为直线&#xff0c;可选为&#xff1a;‘line’ | ‘shadow’ } }, grid: { left: ‘3%’, right: ‘4%’, bottom: ‘3%’…

go-zero服务自动收集线上问题线上实战

前言 ​ 对于pprof&#xff0c;相信熟悉go语言的程序员基本都不陌生&#xff0c;一般线上的问题都是靠它可以快速定位。但是实际项目中&#xff0c;很多时候我们为了性能都不会开启它&#xff0c;但是出了问题又要靠它来分析。好在go-zero已经帮我们很好的集成进来了&#xff…

Leu-Trp-Leu-COOH,42293-99-2

编号: 122381中文名称: 三肽Leu-Trp-Leu英文名: Leu-Trp-LeuCAS号: 42293-99-2单字母: H2N-LWL-OH三字母: H2N-Leu-Trp-Leu-COOH氨基酸个数: 3分子式: C23H34N4O4平均分子量: 430.54精确分子量: 430.26等电点(PI): 6.11pH7.0时的净电荷数: -0.02平均亲水性: -2.3333333333333疏…

[附源码]计算机毕业设计springboot环境保护宣传网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Windows中睡眠和休眠的区别

休眠一般是笔记本电脑才有的功能&#xff0c;睡眠是几乎所有电脑都有 一、系统层面的理解 1.1 睡眠 睡眠状态下&#xff0c;电脑只会消耗很少的电量&#xff0c;电脑可更快启动&#xff0c;并且可以立即返回到离开的位置。因此&#xff0c;使用者不必担心由于电池电量耗尽而丢…

国外Essay写作怎么让内容丰富起来?

在国外大学&#xff0c;写Essay是很多课程常用的考核方式&#xff0c;这种形式也非常考察同学们的综合能力。但对于本身英语就是第二语言的我们&#xff0c;有时候会觉得困难&#xff0c;有时候拖到最后匆忙交上去一篇&#xff0c;当然没有办法得到好分数。今天我们就来看一看如…