博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------

摘  要:设计一种计算机教室温度、湿度检测系统,用于控制机房的温、湿度。整个系统采用STC89C51微处理器作为主控系统,硬件电路主要包括51单片机、DHT11温湿度传感器、显示器模块、警报器以及控制设备等5部分。通过给定的温湿度的上下限值并由1602 LCD显示器显示,传感器测量的信号由LCD显示出来,LCD显示实时的温、湿度值。当温、湿度超过限定值时,蜂鸣器鸣叫报警。

1   整体方案结构

1.1  总体设计方案及其论证

本设计要实现的功能是:实时显示当前环境的温、湿度,允许用户设定温、湿度的上下限值,当环境温湿度超过或低于限定值时,系统会以蜂鸣器鸣叫的方式进行报警,并且使控温设备启动。待室内达到正常范围时,蜂鸣器停止鸣叫,控温设备停止运行,系统正常工作。

(1)温度检测:对温室温度进行测量并反映在显示器上。
(2)湿度检测:对温室湿度进行测量并反映在显示器上。
(3)显    示:1602 LCD显示器显示实时温度、湿度值。
依据功能设定,本系统主要分为以下三个模块:
(1)温湿度采集模块
(2)数据处理模块
(3)用户交互模块

其中温湿度采集模块使用的是DHT11数字温湿度传感器,它使用单总线方式,接口简单,而且无需另外校准。分辨率为8bit,能够满足日常环境温湿度的检测要求。

数据处理模块使用的是STC89C51单片机作为最小系统,其完成温湿度数据的采集、运算和控制设备运行的功能。
用户交互模块主要由按键、1602液晶显示器、蜂鸣器和控制设备构成。其中按键用于用户设定温湿度的限定值,1602 LCD用于显示数据,蜂鸣器用于提示用户,控制设备用于调节和控制不符合要求的温、湿度。

1.2  系统设计简图

C51单片机作为主控制器,负责处理由DHT11传输的数据,并把处理好的数据送向显示器模块,DHT11温湿度传感器主要用来采集周围的环境参数,并把采集得到的数据送向单片机。按键电路主要是用来完成单片机的复位操作和温湿度限定值的设定。蜂鸣器电路是用三极管来实现的,用来提示周围的温度或者湿度是否超出设定数值,控制设备等候指令,当蜂鸣器响起且温、湿度不在标准范围内,控制设备自行启动,直到温、湿度正常。显示电路主要用来显示当前的温湿度。

图1-2-1 温湿度监控系统原理图

2  系统硬件设计

2.1  器件选定

将单片机用作测控系统时,总要有被测信号输入通道,由计算机拾取必要的输入信息。对于测量系统而言,其核心任务是怎么样获得准确的被测信号;而对测控系统来说,不可缺少的环节是对条件的监测和对被控对象状态的测试,传感器是实现测量与控制的第一环节,是测控系统的关键部分,一切准确的测量和控制都将在传感器对原始信号的准确可靠的转换和捕捉,工业生产过程的自动化测量和控制,基本主要依赖各种传感器来控制和检测生产过程中的各种量,使系统和设备在最佳状态正常运行,从而保证生产的高质量和高效率[2]。

2.1.1  DHT11温湿度传感器

DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度20-90%RH,温度0~50℃。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准,校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数,采用单线制串行接口[5],使系统集成变得简易快捷。

图2-1-1 封装信息

四条引脚中有两条是电源引脚,有一条是输出数据的引脚,只需要给其供上额定电压,输出引脚采集信号即可完成。若输出信号是模拟量,则通过A/D芯片,将模拟量转换为数字信号,然后传送给单片机。DHT11是数字传感器,不需要进行模数的转换。

2.1.2  1602LCD显示器

液晶显示器(Liquid Crystal Display, LCD)是一种被动式发光的低功耗显示器件。由于液晶这种物质本身不发光,它只是在外加电场的作用下使液晶内部的分子有序排列,从而改变通过这些液晶分子的光线方向,光线再经过底板的反射、散射最终进入人们的视野中。液晶显示器具有重量轻、体积小、功耗低、抗扰能力强等优点,广泛应用于人们的生活中、仪器仪表、控制系统等领域[3]。

本设计将采用点阵字符型1602液晶显示模块。

基本操作时序
(1)读状态;输入:RS=L,R/W=H,E=H;输出:D0~D7为状态字。
(2)读数据;输入:RS=H,R/W=H,E=H;输出:无。
(3)写指令;输入:RS=L,R/W=L,E=H,D0D7为指令码;输出:D0D7为数据。
(4)写数据;输入:RS=H,R/W=L,E=H,D0~D7为数据;输出:无。


                                                        图 2-1-2 外形尺寸

图2-1-3 点阵字符型1602液晶显示器的显示地址映射图

控制器内部带有80B的RAM缓冲区,对应关系如图2-1-2所示。
在图中的00H0FH、40H4FH地址中的任意处写显示数据时,液晶都可以立即显示出来,但写入到10H27H或50H67H地址处时,必须通过移屏指令将他们移入可显示区域才能正常显示[4]。

2.2  主控系统电路和各硬件模块

2.2.1STC89C51单片机简介

STC89C51单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

其主要特性如下:
工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
用户应用程序空间为12K/10K/8K/6K/4K/2K字节
片上集成512字节RAM
通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片
具有EEPROM功能
具有看门狗功能
共3个16位定时器/计数器。即定时器T0、T1、T2
外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒
通用异步串行口(UART),还可用定时器软件实现多个UART
工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)
PDIP封装

2.2.2  单片机最小系统

图2-2-2 最小系统原理图

2.2.3  复位电路与晶振电路

检测系统采用上电复位,当RST引脚上出现了两个周期以上的高电平就会触发内部复位,这里的EA端与复位电路无关,由于数据都放在了内部存储器,所以EA端直接上拉高电平。

晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率,可以用于同一个晶振项链的不同锁相环来提供的。单片机STC89C51的晶振电路采用无源晶振,微调电容取30pF。

图2-2-3 复位电路、晶振电路

2.2.4  蜂鸣器警报模块

本设计采用蜂鸣器报警电路,如图所示。当蜂鸣器额定电流≤30mA,而对于STC89C51单片机,P3.2口的灌电流为15mA,仅靠单片机的P3.2口电流是不能驱动蜂鸣器的,必须使用晶体管放大电流。通常使用PNP型晶体管,当外部环境的温度或者湿度超过预设值的时候,基级变为低电平,蜂鸣器导通鸣叫,实现报警。

图2-2-4 蜂鸣器警报模块

2.2.5  温湿度按键模块

图2-2-5 按键模块

2.2.6  系统显示模块

显示模块选用1602点阵字符型液晶显示器,它是目前工控系统中使用最广泛的液晶屏之一。它的显示的质量高,驱动方便,经过编程后显示的内容丰富多样。

DHT11是数字型温湿度传感器,可直接以数字的方式传输所采集到当前环境的温、湿度,DHT11采用的是单总线通信,因此只需将单片机的一个I/O端口与DHT11的通信接口连接就可以实现数据的采集和传送。

图2-2-6 1602LCD与DHT11原理图

2.3  硬件实施控制与实物成品

操作说明:
S1:复位键         S2:设置/保存         S3:数值加       S4:数值减
1、系统上电后,LCD1602显示当前环境的温湿度值,按下S2设置键,依次进入预设温度上限、湿度上限、湿度下限、温度下限的调节模式。
2、按S3数值加键,预设值加。
3、按S4数值减键,预设值减。
4、设置成功后,再按S2设置键退出,返回到正常监测模式。

图2-3-1 硬件实物图1


图2-3-2 硬件实物图2

3  系统软件设计

系统软件设计采用分部模块化设计,其中包括主程序、温度检测子程序、湿度检测子程序、数据储存、子程序读取、LCD显示子程序。软件设计时温湿度监测系统的核心部分,将采用循环的方式来完成数据的收集,并进行数据对比。系统上电后正常运转,并进行温、湿度的检测与处理。

图3-1 软件设计流程图

4  结  语

本文设计的是计算机教室的温湿度检测、报警、控制系统。由高性价比单片机STC89C51对传感器数据进行处理,通过温湿度传感器,实现对温、湿度数据的采集,并对数据进行处理, 1602
LCD显示器显示即时温、湿度值。当测出数值超出设定的温、湿度值时,由单片机驱动蜂鸣器模块,实现报警功能,控制设备自行启动,调节室内的温度、湿度,使其恢复到正常范围。综合上述的功能,就可以构造一个以DHT11传感器和C51单片机为基础的系统,实现稳定和简便的温、湿度环境数据监测功能。

--------------------- 
作者:qq_41979953 
来源:CSDN 
原文:https://blog.csdn.net/qq_41979953/article/details/87868120

基于单片机的温湿度检测系统(电路+论文)相关推荐

  1. 基于STC89C51单片机的温湿度检测系统

    基于STC89C51单片机的温湿度检测系统 摘 要:设计一种计算机教室温度.湿度检测系统,用于控制机房的温.湿度.整个系统采用STC89C51微处理器作为主控系统,硬件电路主要包括51单片机.DHT1 ...

  2. 电量监测程序 c语言,基于单片机的电量检测系统设计方案.doc

    基于单片机的电量检测系统设计方案 1绪论 自第一个微处理器问世以来,以微处理器为核心构成的计算机以各种各样的形式,无孔不入的渗入到人们的生产.生活.科研等各个领域,为人类带来了渗透到各个领域的&quo ...

  3. 基于单片机的空气检测系统的设计

    基于STM32的室内空气检测系统的设计 摘  要:为保证居民生活环境的安全性,应该对室内空气质量参数进行检测,使人们能够及时了解室内的空气质量,排除险情,该设计通过STM32单片机结合蓝牙通信和温湿度 ...

  4. 基于mqtt 的温湿度检测系统

    最近实验内容是基于mqtt的温湿度传感,现在说一下基本的流程 老师的实验要求是实现mqtt的消息中间件这样的话,就需要一个服务器两个客户端,其中服务器是用来转发,其中一个客户端做发布,另外一个客户端做 ...

  5. 【毕业设计】基于单片机的心率检测系统 - stm32 物联网 嵌入式

    1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目 基于STM32的血氧心率检测器的设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: h ...

  6. 51单片机之温湿度检测系统(DTH11、OLED、LCD1602)

    目录 LCD1602 LCD1602引脚 LCD1602显示字符 写时序图和读时序图 写时序图 检测忙标志是否忙 LCD1602初始化 在哪里显示,写入指令(地址) 显示什么字符(写入数据) DTH1 ...

  7. 【无标题】基于51单片机和DHT11的温湿度检测系统

    基于51单片机的温湿度检测系统 摘 要:设计一款能够实时检测当前空气温度和湿度的装置.主控芯片采用STC12C5A60S2芯片,温湿度传感器采用DHT11数字温湿度传感器,显示屏幕采用OLED屏幕.整 ...

  8. 基于单片机的温湿度监测报警

    基于单片机的温湿度监测系统(独立按键.LCD1602.DHT11) 0.关注微信公众号(风吹摇铃 奔赴星海)下载全套资料,全套资料中包括如下内容:(需要PCB和焊接实物请阅读(使用前必读)文件下的内容 ...

  9. 基于单片机空气质量检测二氧化碳 一氧化碳温湿度PM2.5检测系统的设计与实现

    功能介绍 以51单片机作为主控系统: 对空气空气中有毒有害气体进行监测: 使用LCD1602液晶显示,采集到的PM2.5值通过单片机串口传输: 通过传感器对室内PM2.5粉尘进行检查: 通过按键设置的 ...

最新文章

  1. 昌吉学院计算机工程系毕业后安排工作嘛,0昌吉学院.doc
  2. 开源自己写的Library到github,让别人或自己的项目依赖
  3. kubernetes-Pod定义
  4. java 多线程异常_java多线程执行异常
  5. 铁幕一体计算机配置,讽刺的铁幕来自俄罗斯套娃的爱情配置要求介绍 配置要求高吗_游侠网...
  6. 配置金蝶14.3APi
  7. python每行输出5个数据_12个流行的Python数据可视化库总结
  8. 单身暴击!程序员用 Python 给女朋友写了个翻译软件
  9. 程序员面试金典——番外篇之约瑟夫问题1
  10. get s 数组c语言,(完整版)C语言题库数组.pdf
  11. Unity3D 脚本实现动画效果
  12. 462计算机连接错误,金蝶K3始终462错误,怎么处理???????
  13. r语言和python的区别-r语言和python的详细对比
  14. 数据约束 for:麻包缝裤衩
  15. 利用libjpeg库实现jpg与bmp图片互转指南
  16. 单片机实验笔记(汇编、Proteus仿真)(下)
  17. windows查看进程及杀死进程
  18. Helix --未完待续
  19. RISCV--汇编指令
  20. sudo su后获取不到JAVA_HOME环境变量的解决方案

热门文章

  1. 猿来小课Java视频教程讲师浅谈JAVA体系结构
  2. GEE 01 -Sentinel2A 哨兵数据下载
  3. BT开源项目Snark源码分析
  4. 饥荒专属服务器证书过期,饥荒TGP版存档丢失及证书不存在解决方法介绍
  5. 作为面试官被放鸽子的50个理由,论如何放面试官的鸽子
  6. mac苹果下载VSCode最全步骤
  7. 机智应对,测试面试套路与反套路,我是不可能中套的......
  8. 快手极速版邀请码|抖音极速版邀请码自动浏览想法
  9. matlab演示系统,用MATLAB演示新古典增长模型
  10. jackson序列化错误 get类型方法名的坑 [com.fasterxml.jackson.databind.exc.InvalidDefinitionException]