【毕业设计】22-基于单片机的智能温度计的系统设计(原理图工程+仿真工程+源代码+仿真视频+答辩论文+答辩PPT)

news2025/1/2 3:50:06

【毕业设计】22-基于单片机的智能温度计的系统设计(原理图工程+仿真工程+源代码+仿真视频+答辩论文+答辩PPT)@[toc]

资料下载链接

资料下载链接
资料链接:https://www.cirmall.com/circuit/28616/
包含此题目毕业设计全套资料:
基于单片机的智能温度计的系统设计(原理图+仿真+论文(低重复率))
资料包含:毕业设计全套资料(精品)
1.原理图工程及原理图截图
2.仿真工程、仿真截图、仿真视频
3.源代码
4.答辩论文(低重复率),20736字
5.流程图
6.答辩PPT

任务书

采用单片机作为控制器、结合温度传感器、A/D转换器、显示芯片等外围元件设计出一个智能温度计系统,使其实现系统的启动、停止、复位、对温度的设定、采集、显示、超温报警等功能。
1、根据智能温度计的功能要求,提出系统总体结构;
2、对系统进行硬件设计、软件设计;
3、利用PROTEUS软件对系统进行仿真验证。

设计说明书

摘要

在设计系统之前,首先对温度传感器的发展和使用情况分析,了解当前的需求,然后对基于单片机的智能温度计的系统方案确定。选择合适的温度计来作为本次系统的温度传感器,确定系统方案。确定系统所使用的元器件,选择使用STC89C52单片机作为系统的主控制器,通过液晶显示器来显示实时的温度和报警温度阀值,温度传感器选择使用单总线传输数据的,系统通过光学和声学两种方式报警,通过按键来调节系统报警的阀值。然后对系统电路搭建,通过模块化的方式来实现电路的设计,在设计中考虑到稳定性和抗干扰能力,然后对单片机运行程序编写,绘制程序编写流程图,首先绘制系统总流程图,然后绘制各个子流程图,根据流程图来编写系统程序,最后完成本次系统的设计通过Proteus软件对系统仿真。

设计框架架构

前 言 1
第一章 绪论 2
第一节 温度计的研究背景 2
第二节 温度计的研究意义 2
第三节 温度计的研究现状及趋势 3
第四节 本文的主要研究内容 3
第二章 智能温度计的系统设计方案分析 5
第一节 温度检测方案的确定 5
一、温度传感器的简介及原理 5
二、温度传感器特性 6
三、温度传感器的选定 6
第二节 智能温度计的设计要求分析 7
第三节 系统结构组成框图 7
第四节 本章小结 8
第三章 智能温度计的系统硬件电路设计 10
第一节 单片机最小系统电路设计 10
一、单片机的简介 10
二、复位电路 11
二、晶振电路 12
第二节 温度检测电路的设计 13
第三节 按键电路设计 13
第四节 报警提示模块电路设计 14
第五节 LCD液晶显示模块电路 14
第六节 蜂鸣器报警模块电路 15
第七节 系统总电路图 16
第八节 本章小结 17
第四章 智能温度计的系统设计的软件设计 18
第一节 Keil软件介绍 18
第二节 系统的主程序流程设计 18
第三节 其他子程序流程设计 19
一、LED显示驱动程序流程图 19
二、按键模块程序流程图 20
三、LCD液晶显示驱动程序流程图 20
四、温度传感器驱动程序流程图 21
五、蜂鸣器报警驱动程序流程图 22
第四节 按键模块程序设计 22
第五节 LED显示驱动程序设计 23
第六节 LCD液晶显示驱动程序设计 23
第七节 温度传感器驱动程序设计 24
第八节 蜂鸣器报警驱动程序设计 25
第九节 本章小结 25
第五章 智能温度计的系统设计的仿真 26
第一节 仿真软件介绍 26
一、Proteus软件介绍 26
二、Proteus优势 26
第二节 系统仿真 27
一、系统总仿真图 27
二、功能仿真验证 28
第三节 结果分析 32
第四节 本章小结 33
结 论 34
致 谢 35
参考文献 36
附 录 38
一、英文原文 38
二、英文翻译 41
三、工程图纸 43
四、源代码 44

设计说明书及设计文件

在这里插入图片描述

在这里插入图片描述在这里插入图片描述答辩论文(低重复率),20736字
在这里插入图片描述

源码展示

#include <reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include "intrins.h"											   
#define     u8  			unsigned char
#define     u16   		unsigned int
#define     uchar  			unsigned char
#define     uint   		unsigned int
uchar yushe_wendu=50;				//温度预设值
uint wendu; 								//温度值全局变量
//运行模式  
uchar Mode=0;				 				//=1是设置温度阀值  =2是设置烟雾阀值	=0是正常监控模式
//管脚声明
sbit Led_Gre
=P2^2;				 //绿灯
sbit Led_Yellow  =P2^4;				 //黄灯
sbit Buzzer    	 =P2^0;				 //蜂鸣器
sbit Fan    	 	 =P3^3;				 //
/********************************************************************
* 名称 : delay_1ms()
* 功能 : 延时1ms函数
* 输入 : q
* 输出 : 无
***********************************************************************/
void delay_ms(uint q)
{
	uint i,j;
	for(i=0;i<q;i++)
		for(j=0;j<110;j++);
}
/***********************************************************************************************************
LCD1602相关函数
***********************************************************************************************************/
//LCD管脚声明 (RW引脚实物直接接地,因为本设计只用到液晶的写操作,RW引脚一直是低电平)
sbit LCDRS = P2^7;
sbit LCDEN = P2^6;
sbit D0		 = P0^0;
sbit D1		 = P0^1;
sbit D2		 = P0^2;
sbit D3		 = P0^3;
sbit D4		 = P0^4;
sbit D5		 = P0^5;
sbit D6		 = P0^6;
sbit D7		 = P0^7;
//LCD延时
void LCDdelay(uint z)		  //该延时大约100us(不精确,液晶操作的延时不要求很精确)
{
  uint x,y;
  for(x=z;x>0;x--)
    for(y=10;y>0;y--);
}
void LCD_WriteData(u8 dat)	  
{
	if(dat&0x01)D0=1;else D0=0;
	if(dat&0x02)D1=1;else D1=0;
	if(dat&0x04)D2=1;else D2=0;
	if(dat&0x08)D3=1;else D3=0;
	if(dat&0x10)D4=1;else D4=0;
	if(dat&0x20)D5=1;else D5=0;
	if(dat&0x40)D6=1;else D6=0;
	if(dat&0x80)D7=1;else D7=0;
}
//写命令
void write_com(uchar com)
{
  LCDRS=0;				  
	LCD_WriteData(com);
//  DAT=com;
  LCDdelay(5);
  LCDEN=1;
  LCDdelay(5);
  LCDEN=0;
}
//写数据
void write_data(uchar date)
{
  LCDRS=1;
	LCD_WriteData(date);
//  DAT=date;
  LCDdelay(5);
  LCDEN=1;
  LCDdelay(5);
  LCDEN=0;
}
/*------------------------------------------------
              选择写入位置
------------------------------------------------*/
void SelectPosition(unsigned char x,unsigned char y) 
{     
	if (x == 0) 
	{     
		write_com(0x80 + y);     //表示第一行
	}
	else 
	{      
		write_com(0xC0 + y);      //表示第二行
	}        
}
/*------------------------------------------------
              写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) 
{     
	SelectPosition(x,y) ;
	while (*s) 
	{     
		write_data( *s);     
		s ++;     
	}
}
//========================================================================
// 函数: void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l)
// 应用: LCD_Write_Char(0,1,366,4) ;
// 描述: 在第0行第一个字节位置显示366的后4位,显示结果为 0366
// 参数: x:行,y:列,s:要显示的字,l:显示的位数
// 返回: none.
// 版本: VER1.0
// 日期: 2013-4-1
// 备注: 最大显示65535
//========================================================================
void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l) 
{     
	SelectPosition(x,y) ;
	if(l>=5)
		write_data(0x30+s/10000%10);	//万位
	if(l>=4)
		write_data(0x30+s/1000%10);		//千位
	if(l>=3)
		write_data(0x30+s/100%10);		//百位
	if(l>=2)
		write_data(0x30+s/10%10);			//十位
	if(l>=1)
		write_data(0x30+s%10);		//个位
}
/*1602指令简介
  write_com(0x38);//屏幕初始化
  write_com(0x0c);//打开显示 无光标 无光标闪烁
  write_com(0x0d);//打开显示 阴影闪烁
  write_com(0x0d);//打开显示 阴影闪烁
*/

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

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

相关文章

029-Swing实现简单计算器功能

https://blog.csdn.net/software7503/article/details/127952712https://blog.csdn.net/software7503/article/details/127952712上一讲:028-GUI事件处理,ActionListener事件,MouseListener事件 下一讲:030-用Swing组件及Action事件实现登录功能_CS

UNCTF2022 writeup

题量太多了&#xff0c;比赛结束之后又要做一遍… 注&#xff1a;最后给出的均为题目解出的flag&#xff0c;提交时需将格式修改为UNCTF{} 文章目录Web我太喜欢bilibili大学啦ezgame签到babyphpeasy_upload给你一刀我太喜欢bilibili大学啦修复版302与深大随便注PwnwelcomeUNCT…

企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建

一、ELK概述 1、ELK日志分析系统 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ElasticSearch&#xff1a; ElasticSearch&#xff1a;是…

Linux:进程(一)

文章目录前言一、进程是什么二、描述进程--PCB三、查看进程四、通过系统调用获取进程标示符五、通过系统调用创建进程-fork初识六、进程状态七、进程状态查看八、僵尸进程&#xff08;Z&#xff1a;zombie&#xff09;1.是什么2.为什么3.怎么避免九、孤儿进程十、进程优先级十一…

内蒙古简易医院企业网设计与规划

目 录 摘 要 1 Abstract 2 第1章 绪论 5 1.1 背景及意义 5 1.2 国内外研究现状 6 1.2.1 国外研究现状 7 1.2.2 国内研究现状 7 1.3研究内容 8 第2章 医院企业网需求分析 9 2.1医院基本情况 9 2.1.1基本情况 9 2.1.2建筑楼群及信息点分布图 9 2.2需求需求 10 2.2.1管理需求 10 2…

Matlab下载安装详细教程

下载链接&#xff1a;https://pan.baidu.com/s/19JbPP2hWlZraVbLuNlHpcg 提取码&#xff1a;6666 下载网盘链接是公众号“电脑DIY圈”里的分享&#xff0c;不是博主自己的&#xff0c;另外此安装教程同样来自电脑DIY圈公众号&#xff0c;博主仅做整理&#xff0c;以便日后需要 …

图 知识点总结(王道)

图的定义 图G由顶点集V和边集E组成&#xff0c;记为G&#xff08;V,E&#xff09;&#xff0c;其中V&#xff08;G&#xff09;表示图G中顶点的有限非空集&#xff1b;E(G)表示图G中顶点之间的关系&#xff08;边&#xff09;集合。若V{v1&#xff0c;v2vn}&#xff0c;则用|V…

asp开发的人脸识别:人脸照片+身份证号+姓名,核验实人认证

今天接到一个客户需求&#xff0c;要求用asp开发人脸识别功能&#xff0c;主要用于网站上用户的实人核验&#xff0c;用户上传照片后&#xff0c;通过照片姓名身份证号码&#xff0c;核验是不是一个人&#xff0c;判断用户的真实性。asp写这个其实很简单&#xff0c;经过一个小…

黑*头条_第7章_kafka实战应用文章自动审核

黑*头条_第7章_kafka实战应用&文章自动审核 文章目录黑*头条_第7章_kafka实战应用&文章自动审核kafka实战应用&文章自动审核今日目标1 kafka封装1.1 功能需求1.2 定义1.2.1 约束定义1.3 实现设计1.4 开发实现1.4.1 配置文件1.4.2 KafkaMessage1.4.3 KafkaListener1…

SpringMVC ---- HttpMessageConverter

SpringMVC ---- HttpMessageConverter1. RequestBody2. RequestEntity3. ResponseBody4. SpringMVC处理json5. SpringMVC处理ajax6. RestController注解7. ResponseEntityHttpMessageConverter&#xff0c;报文信息转换器&#xff0c;将请求报文转换为 Java 对象&#xff0c;或…

[牛客top101]详解01,02,反转链表问题

文章目录前言1. 整体翻转链表1.1 题目描述1.2 题目详解2. 翻转链表的部分区间2.1 题目描述2.2 题目详解3. 完整代码展示前言 从本章开始,我们就开始刷题旅程啦,路上必定问题多多,但还是得练呐!所以,就现在,开始啦! 1. 整体翻转链表 1.1 题目描述 给定一个单链表的头结点pHea…

(续)SSM整合之springmvc笔记(拦截器)(P164-168)

目录 一 准备工作 1. 创建spring_mvc_extension com.atguigu 2 .导入依赖 3. 添加web模块 4 .web.xml 5 . springmvc.xml 6 index.html 7 控制层 8 success.html 9 .添加到tomcat ​10 测试 二 . 测试拦截器 1 . index.html 2 . FirstInterceptor …

Docker概念及安装

一、Docker概述 1 IT架构的演进&#xff1a; 裸金属 → 虚拟机 → 容器→ 函数化、代码化 云计算涌现出很多改变传统IT架构和运维方式的新技术&#xff0c;比如虚拟机、容器、微服务、Serverless&#xff08;无服务&#xff09;&#xff0c;无论这些技术应用在哪些场景&…

智慧能源解决方案-最新全套文件

智慧能源解决方案-最新全套文件一、建设背景存在的问题二、建设架构三、建设方案四、获取 - 智慧能源全套最新解决方案合集一、建设背景 我国工业能耗占全国总能耗比例近70%&#xff0c;许多经济大省工业能耗占比甚至显著高于70%&#xff0c;工业企业能耗增速也明显领先全国其…

Bash脚本debug攻略

初学Bash时, 我从未想过去debug Bash脚本, 也从未想过Bash脚本也能debug. 随着技术的增长, 写的脚本越来越复杂, 使用echo打印日志来调试脚本的方式也越来越捉襟见肘了. 直到某天 通读了一遍Bash Reference Manual, 才发现Bash脚本也是可以debug的. 下面就介绍三种debug Bash脚…

定时器之编码器模式

1.什么是编码器 编码器&#xff08;encoder&#xff09;是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号&#xff0c;前者称为码盘&#xff0c;后者称为码尺。 2.分类 按照读出方式编码器可以分为接触式和非接…

C++学习笔记(面向对象部分开始6500字复习总结)

函数重载 1.对象属性 对象方法 和 类属性 类方法 2.const函数read only&#xff0c;不会修改任何数据 3.class默认private&#xff0c;struct默认public 4.&#xff01;&#xff01;&#xff01;&#xff01;C编译器优化&#xff01;&#xff01;&#xff01;《个人理解》当…

单细胞分析:数据整合(九)

导读 本文将学习跨条件执行单细胞整合&#xff0c;以识别彼此相似的细胞。 1. 目标 跨条件对齐相同的细胞类型。2. 挑战 对齐相似细胞类型的细胞&#xff0c;这样就不会因为样本、条件、模式或批次之间的差异而在后续分析中进行聚类。 3. 推荐 建议先不整合分析&#xff0c;再决…

2020下半年软件设计师上午题错题总结

2020下半年 1、以下关于两个浮点数相加运算的叙述中&#xff0c;正确的是 &#xff08;3&#xff09; 。 A. 首先进行对阶&#xff0c;阶码大的向阶码小的对齐 B. 首先进行对阶&#xff0c;阶码小的向阶码大的对齐 C. 不需要对阶&#xff0c;直接将尾数相加 D. 不需要对阶…

[附源码]java毕业设计网上购物商城

项目运行 环境配置&#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…