基于AT89S52单片机的蘑菇大棚环境监测系统论文(附录代码)

news2024/11/14 15:21:46

目 录
第1章 绪 论 1
1.1 研究背景和意义 1
1.2 国内外发展现状 2
1.3 设计内容和指标 4
第2章 系统设计方案 5
2.1 系统组成 5
2.1.1 总体结构 5
2.1.2 单片机的选型 5
2.1.3 温湿度传感器选型 6
2.1.4 二氧化碳传感器选型 6
2.1.5 PH值传感器选型 7
2.1.6 加热器选型 8
2.1.7 CO2发生器选型 9
2.1.8 阀门选型 9
2.1.9 通风风机选型 10
2.1.10 卷帘电机选型 11
2.2 通信方案 11
2.3 键盘显示方案 12
2.3.1 键盘方案 12
2.3.2 显示方案 12
2.4 A/D、D/A转换器选型 13
2.4.1 A/D转换器选型 13
2.4.2 D/A转换器选型 13
2.5 蘑菇大棚布局 14
第3章 硬件设计 16
3.1 单片机最小系统设计 16
3.2 检测电路设计 17
3.2.1 温湿度传感器接口电路设计 17
3.2.2 CO2浓度传感器接口电路设计 17
3.2.3 PH值传感器接口电路设计 18
3.3 信号调理电路设计 19
3.3.1 I/V转换电路 19
3.3.2 V/I转换电路 19
3.3.3 多路模拟开关电路 20
3.3.4 A/D转换电路设计 21
3.3.5 D/A转换电路设计 22
3.4 控制电路设计 23
3.5 通信电路设计 23
3.6 显示电路的设计 24
3.7 键盘接口电路设计 25
3.8 电源电路设计 26
3.9 报警电路设计 26
第4章 软件设计 28
4.1 软件总体设计 28
4.2 主要软件模块设计 28
4.2.1 中断子程序设计 28
4.2.2 温湿度监控模块软件设计 29
4.2.3 CO2浓度监控模块软件设计 31
4.2.4 PH值测量模块软件设计 31
4.2.5 温湿度控制模块软件设计 32
4.2.6 CO2浓度控制模块软件设计 33
4.2.7 键盘模块软件设计 34
4.2.8 显示模块软件设计 35
4.2.9 通信模块软件设计 36
4.2.10 模拟PID控制算法 36
第5章 系统的调试与仿真 38
5.1 参数设定值测试 38
5.2 运行测试 39
第6章 结 论 42
参考文献 43
致 谢 44
附 录I 49
附 录II 53
附 录III 61
总体上说,我国自行开发的温室测控系统其技术水平和调控能力与西方发达国家相比还有一定的差距。而我国的综合环境控制技术的研究刚刚起步,目前仍停留在研究单个或者几个环境因素调控技术的阶段,而实际上温室环境中的温度、湿度、CO2浓度、光强等环境因子,都是在互相影响、互相制约的状态下影响植物的生长的,环境因素的时间变化、空间变化都很复杂。因此,我国的现代化设施农业任重而道远。
1.3设计内容和指标
蘑菇属于腐生性中温型真菌,生长发育分子实体和菌丝两个阶段;温度要求菌丝在5~32℃之间均可生长,但以22~25℃最适宜;5~30℃都可分化出子实体,但以15~22℃最适宜。菌丝生长发育中,要求空气中的相对湿度为60~80%;子实体形成时要求空气相对湿度85%~90%。菌丝生长阶段要求二氧化碳浓度为0.1~0.5%,出菇期小于0.1%。蘑菇为好气性真菌,子实体每天早晚通风各1次,时间15~20分钟,菌丝每天通风一次,时间15~20分钟。蘑菇菌丝生长在PH值5.0~8.0的范围,最适宜的PH值是6.5~7.0。本设计要求选用合适的温度、湿度、PH值、二氧化碳浓度传感器和经济适用单片机等构建蘑菇生产环境自动控制系统,可以通过键盘设定参数范围,并在液晶模块上显示各类参数,根据检测值和设定值自对风机、加湿机、加热器等设备进行控制。
第2章
系统设计方案
2.1系统组成
2.1.1总体结构
系统由电源电路、温湿度传感器、二氧化碳传感器、PH值传感器、数据通讯转换、上位机管理软件和控制模块等组成。首先由电源电路提供电源,传感器对温湿度、二氧化碳浓度、PH值等被测参数进行检测输出相应信号经前向通道转为数字量信号后传送至单片机,通过单片机软件部分对所有数据进行读取分析运算后,输出调节信息控制调节装置动作。系统通过按键电路及显示电路实现人机互动。系统总体结构如图2.1所示。
在这里插入图片描述
图2.1系统总体结构图
2.1.2单片机的选型
针对本设计的要求,对单片机共有两套方案可供选择:
方案1:AT89S51单片机作为检测系统的控制核心,辅助相应的外围电路,对温度、湿度进行检测控制。
方案2:AT89S52 单片机作为检测系统的控制核心,辅助相应的外围电路,对温度、湿度进行检测控制。
方案1中AT89S51单片机有2个16位定时器,5个中断源,支持半双工串行通信。具有2K在系统可编程Flash存储器,内部RAM为128B。 方案2中AT89S52单片机有3个16位定时器,8个中断源,支持全双工UART串行通信且掉电后中断可唤醒。具有8K在系统可编程Flash存储器,内部RAM为256B。
综合考虑后,基于AT89S52具有更加丰富的内部资源,本设计选择单片机AT89S52为控制核心。

#include <AT89X52.h>
#include <intrins.h>
#define uint  unsigned int 
#define uchar unsigned char
#include"1602.h"
#include<dh11.h>
uchar temp[]    ="RH_SET:00% \0";  //设置 的湿度值显示
uchar temp_s[]  ="RH:00% TEMP:00  \0";	//实时湿度显示
sbit sw3=P1^5; //按键定义
sbit sw1=P1^3;
sbit sw2=P1^4;
sbit baojing=P3^3;
//sbit led=P3^5;
uchar set;	//变量定义
uchar num1;
uchar getdata=55;
uint shangxian=34;
uchar temp_h,temp_t;
void conv();
yunxing();
void key();
void kongzhi();
void zhuanhuan()//扫描数据转换
 {
  
temp[7]=shangxian/10%10+0x30;
  temp[8]=shangxian%10+0x30;
  temp_s[3]=temp_h/10%10+0x30;
  temp_s[4]=temp_h%10+0x30;
  temp_s[3]=temp_h/10%10+0x30;
  temp_s[4]=temp_h%10+0x30;
  temp_s[12]=temp_t/10%10+0x30;

  temp_s[13]=temp_t%10+0x30; 
  temp_s[14]=0xdf;
  temp_s[15]='C';
   }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

HTTP协议分析 实验报告

实验名称&#xff1a; HTTP协议分析 一、实验预习 1、实验目的 利用抓包工具&#xff08;Wireshark/Windump/Sniffer&#xff09;抓取HTTP报文&#xff0c;以进一步熟悉和理解HTTP报文格式规范与HTTP协议的工作原理 2、实验内容&#xff08;…

《Linux-权限的理解、shell的理解和粘滞位》

目录 一、shell的理解 二、Linux权限 一、用户的引入 二、权限管理 一、什么是权限 二、Linux下的权限 三、视图展示 四、文件类型 五、为什么gcc编译器编译.txt后缀的文件有问题&#xff1f; 六、修改权限 一、chmod设置文件的访问权限 一、基本使用 二、八进制方案(访…

es的自动补全查询——DSL语句java代码实现

1、DSL语句 elasticsearch提供了Completion Suggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。 为了提高补全查询的效率&#xff0c;对于文档中字段的类型有一些约束&#xff1a; 参与补全查询的字段必须是completion类型。 字段的内容一般…

SpringMVC的执行流程

文章目录1 初始化阶段2 匹配阶段3 执行阶段我们把整个流程分成三个阶段初始化阶段匹配阶段执行阶段 1 初始化阶段 在 Web 容器第一次用到 DispatcherServlet 的时候&#xff0c;会创建其对象并执行 init 方法 init 方法内会创建 Spring Web 容器&#xff0c;并调用容器 refre…

阿里十年技术沉淀|深度解析百PB级数据总线技术

云原生场景下数据总线需求场景及挑战 数据总线简介 数据总线作为大数据架构下的流量中枢&#xff0c;在不同的大数据组件之间承载着数据桥梁的作用。通过数据总线&#xff0c;可以实时接入来自服务器、K8s、APP、Web、IoT/移动端等产生的各类异构数据&#xff0c;进行统一数据…

【java 新特性】java8新特性

核心内容 lambda 函数编程 在Java世界里面&#xff0c;面向对象还是主流思想&#xff0c;对于习惯了面向对象编程的开发者来说&#xff0c;抽象的概念并不陌生。面向对象编程是对数据进行抽象&#xff0c;而函数式编程是对行为进行抽象。现实世界中&#xff0c;数据和行为并…

【机器学习实战】使用SGD、随机森林对MNIST数据集实现多分类(jupyterbook)

1. 获取数据集并重新划分数据集 # 获取MNIST数据集 from sklearn.datasets import fetch_openml mnist fetch_openml(mnist_784, version1, cacheTrue, as_frameFalse)# 查看测试器和标签 X, y mnist[data], mnist[target] X_train, X_test, y_train, y_test X[:60000], X[…

Nuxt3使用echart,使用中国地图

目录 第一步安装echart 第二步配置plugins 第三步使用 例如使用饼状图 例如使用中国地图 第一步安装echart npm install echarts --save 第二步配置plugins 在plugins创建echarts.ts文件并写入下面内容 import * as echarts from echartsexport default defineNuxtPlugin((…

springboot事件监听机制二:基本工作原理

前言 这是继《springboot事件监听机制一&#xff1a;实战应用》第二篇&#xff0c;知其然&#xff0c;当然还要知其所以然&#xff0c;深入的源码里面探寻一下这一有套机制的工作原理。spring生态很茂盛&#xff0c;这里不会站太高去分析这个问题&#xff0c;大扯spring的一些原…

优秀的项目跟踪管理软件有哪些?

国内外优秀的项目跟踪管理软件有&#xff1a;1、软件项目跟踪管理PingCode&#xff1b;2、通用项目跟踪管理Worktile&#xff1b;3、小型团队项目跟踪管理Asana&#xff1b;4、基于桌面的项目跟踪软件Microsoft Project&#xff1b;5、适用所有类型项目的跟踪软件Clickup&#…

[ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2018-16509

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

Cellobiose-PEG-DBCO 纤维二糖-聚乙二醇-二苯基环辛炔,DBCO-PEG-纤维二糖

Cellobiose-PEG-DBCO 纤维二糖-聚乙二醇-二苯基环辛炔&#xff0c;DBCO-PEG-纤维二糖 中文名称&#xff1a;纤维二糖-二苯基环辛炔 英文名称&#xff1a;Cellobiose-DBCO 别称&#xff1a;二苯基环辛炔修饰纤维二糖&#xff0c;二苯基环辛炔-纤维二糖 PEG分子量可选&…

2023年湖北安全员ABC报名时间和考试时间是什么时候?甘建二

2023年湖北安全员ABC报名时间和考试时间是什么时候&#xff1f; 安全员ABC考试和报名时间&#xff0c;12月份安全员ABC考试时间是12月底&#xff0c;12月份湖北安全员ABC报名是现在开始报名了&#xff0c;目前报名入口已经开通需要开始报名了。 2023年湖北安全员ABC报名时间&am…

人工智能历史上的重要一步:ChatGPT影响到谷歌地位?

AI神器ChatGPT 火了。 能直接生成代码、会自动修复bug、在线问诊、模仿莎士比亚风格写作……各种话题都能hold住&#xff0c;它就是OpenAI刚刚推出的——ChatGPT。 有脑洞大开的网友甚至用它来设计游戏&#xff1a;先用ChatGPT生成游戏设定&#xff0c;再用Midjourney出图&…

如何让 useEffect 支持 async/await?

大家在使用 useEffect 的时候&#xff0c;假如回调函数中使用 async...await... 的时候&#xff0c;会报错如下。 看报错&#xff0c;我们知道 effect function 应该返回一个销毁函数&#xff08;return返回的 cleanup 函数&#xff09;&#xff0c;如果 useEffect 第一个参数传…

[毕业设计]C++程序类内聚度的计算与存储

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

651页23万字智慧教育大数据信息化顶层设计及智慧应用建设方案

目录 一、 方案背景 1.1 以教育现代化支撑国家现代化 1.2 教育信息化是教育现代化重要内容和标志 1.3 大数据驱动教育信息化发展 1.4 政策指导大数据推动教育变革 1.5 教育大数据应用生态服务教育现代化 二、 建设需求 2.1 地区教育系统亟待进行信息共享、系统融合 2.2…

L2正则线性回归(岭回归)

岭回归 数据的特征比样本点还多&#xff0c;非满秩矩阵在求逆时会出现问题 岭回归即我们所说的L2正则线性回归&#xff0c;在一般的线性回归最小化均方误差的基础上增加了一个参数w的L2范数的罚项&#xff0c;从而最小化罚项残差平方和 简单说来&#xff0c;岭回归就是在普通…

FreeRTOS基础知识

目录 1.任务调度器简介 1.1抢占式调度举例 1.2时间片调度举例 2.任务状态 3.总结 1.任务调度器简介 调度器就是使用相关的调度算法来决定当前需要执行哪个任务。 FreeRTOS一共支持以下三种任务调度方式&#xff1a; FreeRTOS调度方式抢占式调度主要是针对优先级不同的任务…

vector深度剖析及模拟实现

vector模拟实现&#x1f3de;️1. vector的扩容机制&#x1f301;2. vector迭代器失效问题&#x1f4d6;2.1 insert导致的失效&#x1f4d6;2.2 erase导致的失效&#x1f33f;3. vector拷贝问题&#x1f3dc;️4. 模拟实现vector&#x1f3de;️1. vector的扩容机制 #include&…