云文档网 - 专业文章范例文档资料分享平台

仓库温湿度检测系统设计

来源:网络收集 时间:2024-05-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

黑龙江农垦科技职业技术学院毕业论文

4 系统软件设计

在系统软件设计中,充分考虑了与硬件电路有机结合,利用AT89S52单片机以及温湿度传感器DHT11许多优异的特性实现对温度和湿度的高精度测量。系统软件采用模块化设计,在主程序下分成若干彼此独立的功能模块,如温湿度数据采集、液晶显示、键盘输入、串口通讯模块等。

系统单片机代码采用C语言编写,以Keil uVision3为开发环境。系统程序主要由主程序、温湿度采集子程序、键盘扫描子程序、液晶显示子程序、报警子程序、串口发送和接收子程序等部分组成。其中,系统的主程序设计主要完成系统初始化、中断优先级设定以及判断调用各模块程序,即主要实现各模块程序的链接。设计时只需对温度/湿度进行相应的采集处理后,即可让液晶实时显示当前的温度与湿度值。而蜂鸣报警只需接上单片机的I/O口,并对其接口线进行编程即可完成。整个控制系统软件设计采用键盘控制方式。

4.1 主程序设计

食品温、湿度测控系统软件设计主要由系统初始化、温湿度数据采集、液晶显示、键盘扫描处理、数据通信等几部分组成。

程序设计思想:首先要对系统进行初始化,主要完成对单片机各功能部件初始状态的配置。然后通过键盘处理模块对现场控制信号进行设定,设置温、湿度的上限与下限,即报警范围;同时,键盘处理模块还可以完成特殊情况下强制执行信号的操作,如复位、开/关报警等。接下来通过温湿度传感器数据采集模块完成对环境温、湿度的实时数据采集及相关处理。最后通过液晶显示屏显示现场温、湿度参数,从而实现了对温、湿度参数的实时显示。其中,通过单片机对现场检测到的温、湿度实时参数与所设定的温、湿度控制参数进行比较,若发现现场监测值超出所设定范围,则蜂鸣器发出报警提示。此外,数据通信完成温、湿度检测系统与上位PC机之间的协议化通信,以便上位PC机能够定时读取测控系统的温、湿度参数。

系统程序流程图如图4-1所示:

20

黑龙江农垦科技职业技术学院毕业论文

开始 while

显示温湿度参数

Y

图4-1 温湿度检测系统程序流程图

系统初始化 设定报警范围 读取温、湿度控制参数 键盘扫描 温、湿度数据采集 温湿度是否 超出范围 报警 发送温湿度到上位机 21

黑龙江农垦科技职业技术学院毕业论文

4.2 温湿度采集子程序设计

本设计中温湿度检测模块采用数字温湿度传感器DHT11,当用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。该模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集,采集数据后转换到低速模式。

DHT11工作过程如下:

总线空闲状态为高电平,单片机把总线拉低等待DHT11响应,单片机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到单片机的开始信号后,等待单片机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us,然后读取DHT11的响应信号,单片机机发送开始信号后,可以切换到输入模式或者输出高电平,总线由上拉电阻拉高。

当总线为低电平时,说明DHT11发送响应信号。DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短决定了数据位是0还是1。如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。

温湿度采集子程序见附录。

4.3 液晶显示子程序设计

本设计中采用标准的1602液晶显示屏。1602液晶模块内部的字符发生存储器(CGROM)已经存储了192种字符(160个5×7点阵字符和32个5×10点阵字符),这些字符包括阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。本模块字符在LCD显示屏上的显示位置与该字符的字符代码在显示缓冲区DDRAM内的存储地址一一对应。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,即告诉模块在哪个位置显示字符。

1602液晶显示流程图如下图4-2所示,液晶显示子程序见附录。

22

黑龙江农垦科技职业技术学院毕业论文

入口

获得显示RAM地址

返回主程序 图4-2 液晶显示流程图

对1602初始化,写入显示命令 延时 检测忙信号 Sta7=0? 延时 写入相应数据 数据显示完毕? 4.4 键盘扫描软件设计

在单片机应用系统中,扫描键盘只是CPU的工作任务之一。在实际应用中,要想做到既能及时响应键操作,又不过多地占用CPU时间,就要根据应用系统中CPU的忙闲情况,选择好键盘的工作方式。键盘的工作方式一般有编程扫描方式和中断扫描方式两种,由于本设计中可以利用CPU在完成其他工作的空余,调用键盘扫描子程序,来

23

黑龙江农垦科技职业技术学院毕业论文

响应键输入要求,因此可以选用编程扫描方式。

4.4.1 键盘扫描功能

本设计中键盘扫描程序具备下述四个功能:

(1)判别键盘上有无键按下。其方法为:扫描口输出全扫描字“0”(即各列均为低电平),读各行的状态,若全为“1”,则键盘无键按下,若不全为“1”,则有键按下。

(2)去除键的抖动影响。其方法为:判别到有键按下后,软件延时一段时间(本设计为10ms)后,在判断键盘状态,如果仍有键按下状态,则认为有一个确定的键被按下,否则按键抖动处理。

(3)求按键位置。根据前面介绍的键扫描方法,逐行逐列进行扫描,最后确定按下键的键号。确定键号的方法为:闭合键的键号处于低电平的行首键号加上处于低电平的列号。此外,闭合键的键号也可以用计算的方法获得,计算公式为:处于低电平的行号×4+低电平的列号。

(4)判别按键是否释放。键闭合一次仅进行一次键功能操作,等键释放以后再将键值送入累加器A中,然后执行键功能操作。

4.4.2 键盘扫描工作原理

键盘中行线通过上拉电阻接+5V,平时无按键动作时,行线处于高电平状态,而当有按键按下时,则对应的行线与列线短接,行线电平状态由与此行线相连的列线电平决定。

本设计中对键盘的扫描方式为行扫描,即将行线接到单片机的输入口线,列线接到单片机的输出口线,在单片机的控制下,即可判别键盘中究竟是哪一个按键被按下。其方法是:先令第一列列线为低电平(0),其余3根列线为高电平,读行线状态。如果第1、2、3、4行都为高电平,则第一列没有键闭合;如果读出的行线状态不全为高电平,则为低电平的行线与第一列相交的键处于闭合状态。如果第一列没有键闭合,接着使第二列为低电平,其余列线为高电平。用同样的方法检查第二列上有无键闭合,依此类推,最后使第四列为低电平,其余列为高电平,检查第四列有无键闭合。

24

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库仓库温湿度检测系统设计在线全文阅读。

仓库温湿度检测系统设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/208352.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219