好文档 - 专业文书写作范文服务资料分享网站

LabVIEW湿度检测系统

天下 分享 时间: 加入收藏 我要投稿 点赞

沈阳工学院本科毕业设计

图2.6 MAX3232原理图

通过原理图可知MAX3232的连接方式,其1脚和3脚直接连接104的瓷片电容,4脚和5脚直接也连接104的瓷片电容,2脚和6脚分别接104瓷片电容后接地,本设计中我们用到的是1路接收器和1路驱动器,其DOUT1连接到DB9的2脚即接收数据口,RIN1连接到DB9的3脚发送数据口,其和单片机连接口是ROUT1和DIN1分别连接到单片机的串口P3.0和P3.1。.

2.4 电源部分电路的设计

本设计中所有的元器件都是用+5V供电即可,而且需要设计需要和PC端进行实时的数据传输,所以电源部分的设计是直接利用USB母座通过USB线从笔记本的USB口取电即可,在电源和地端并上10uf的电解电容和104的磁片电容,其得到的电压刚好是+5V而且非常稳定足以满足本设计的需求,电源部分原理图如图2.7所示。

图2.7 电源部分原理图

9

沈阳工学院本科毕业设计 3 系统的软件设计

3.1 软件系统总体工作流程

本系统的整体流程是:利用DHT11进行实时湿度的实时采集并通过串口传输给上位机通过LabVIEW进行处理,本设计中软件下位机工作流程如图3.1所示。

系统初始化

湿度采集 串口传送至PC 图3.1 软件下位机流程图

由系统的整体流程可知,本设计的软件部分设计可分为上位机部分的软件设计和下位机的软件部分设计,下面先介绍下位机部分的软件设计。

3.2 湿度采集程序的设计

本设计中采用的DHT11是典型的单总线数据通信的元器件,即只使用DATA引脚就可以完成所有的控制和数据传输,采用单总线数据格式,一次通讯时间长度在4ms左右,温度和湿度的数据分小数部分和整数部分还有校验码,DHT11的数据精度是1%,所以他读取到的小数部分是不存在的一直为零,所以我们只需要对整数部分的数据进行处理即可,操作流程如下:

一次完整的数据传输的数据长度为40bit,高位在前低位在后。数据为,8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验数据,总共为40bit,如果前面32bit的计算总和等于后面的校验位则证明本次的数据读取是正确的,若不等于,证明数据读取错误,必须重新读数据。

DHT11的控制流程大致是:主控芯片发送一次启动信号以后,DHT11从低功耗模式转换为高速模式,等待到主控芯片的启动信号结束以后,DHT11发送响应信号,由主机接收判断以后,DHT11开始送出40bit的数据,并触发信号采

10

沈阳工学院本科毕业设计 集,我们估计需要使用到的数据段对数据进行采集,但一般都是全部采集,这样才可以使用DHT11自带的数据校验功能。DHT11每接收到一次启动信号则触发一次温湿度的数据采集,如果没有收到启动信号,则一直处于低功耗模式,不采集数据。

DHT11的DATA总线在低功耗模式时为高电平,主控芯片把DATA拉低等待DHT11响应,而且主控芯片把DATA拉低必须大于18ms,保证DHT11能稳定的检测到启动信号。DHT11接收到主控芯片的启动信号以后,等待主控芯片的启动信号结束后,然后DHT11会发出80us低电平响应信号。主机发送启动信号结束后,延时等待40us左右后, 即可读取DHT11的响应信号,判断其为响应信号以后即可开始读取40bit的数据位。

DATA总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号以后,会再把DATA总线拉高80us,准备发送40bit数据,每一bit数据都以50us低电平作为间隙,高电平的长短判断了数据位是高还是低。当最后一bit数据传送完毕以后,DHT11会拉低DATA总线50us,以示数据传输结束,随后总线由上拉电阻拉高并且进入空闲状态,对DHT11进行数据采集需要特别注意的是,两次的采集间隔必须在1s以上,否则采集命令无效。

本设计中DATA口连接在单片机的P1.0口,根据DHT11的通信协议,首先由单片机的P1.0口主动产生要求的激发信号,然后将数据线的控制权交给传感器,接着单片机通过while语句不间断的检查P1.0口的高低电平,从而达到对时序的正确把握,解析出准确的传输数据,在通过对其数据的分析处理,即可得到当前的湿度值,DHT11的采集程序流程图如图3.2所示。

11

沈阳工学院本科毕业设计

程序开始

P1.0拉低延时18ms

P1.0拉高延时40us N DHT11响应信号 Y

返回 图3.2 DHT11程序流程图

数据读取 数据校验 12

沈阳工学院本科毕业设计 3.3 串口通信部分程序

STC89C52单片机上有一个通用异步接收/发送器UART,通过引脚RXD[P3.0]和TXD[P3.1]可外部电路进行全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,本设计中实用的是工作方式1。

51单片机的串行端口主要由SCON、PCON这两个寄存器来控制的,用于设置传输的速率,是否触发中断,数据位,标志位,校验位,和接收或者发送模式的选择。串口通信主要还用到了一个数据寄存器SBUF,SBUF为发送和接收所共用的寄存器。当在发送模式时,只写不读;接收模式时,只读不写。设置完成发送条件以后,向SBuF写入数据就启动了串口的发送;读SBuF就可以读取到串口接收到的数据。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的定时溢出时间来确定串口的波特率,串口通信程序流程图如图3.3所示。

程序开始

T1为工作方式2,开中断

串口方式1,波特率9600,允许接收 串口发送完成 N Y

清除标志位 返回 图3.3 串口通信程序流程图

13

LabVIEW湿度检测系统

沈阳工学院本科毕业设计图2.6MAX3232原理图通过原理图可知MAX3232的连接方式,其1脚和3脚直接连接104的瓷片电容,4脚和5脚直接也连接104的瓷片电容,2脚和6脚分别接104瓷片电容后接地,本设计中我们用到的是1路接收器和1路驱动器,其DOUT1连接到DB9的2脚即接收数据口,RIN1连接到DB9的3脚发送数据口,其和单片机连接口是ROUT
推荐度:
点击下载文档文档为doc格式
370l26ca133gyk618jsm0fvam2gyzr007cc
领取福利

微信扫码领取福利

微信扫码分享