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

基于STC89C52RC单片机的大棚温湿度自动控制系统毕业设计(含源文件) - 图文

来源:用户分享 时间:2025/5/19 5:14:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

4 系统软件设计

系统的工作流程是,操作人员在计算机上输入需要设定的温湿度限定值,当设定的温湿度值与检测温湿度值不同时,单片机控制系统则会采取相应的调节动作。此程序流程包括五个部分,第一部分是主程序,其描述总体结构;第二部分是SHT10温度采集程序,其功能是通过SHT10传感器采集温湿度值,并进行修正;第三部分是LCD1602显示子程序,对LCD1602进行初始化,将温湿度进行显示;第四部分是输出控制子程序,对设定值和实际值进行判断以决定是否进行温湿度的调节;第五部分是按键输入电路,用来修改温湿度上下限值。

4.1 软件设计的总体结构

本次设计的大棚温湿度自动控制系统由一个主程序调用多个子程序,它们包括SHT10温湿度采集子程序、LCD1602液晶显示子程序、输出控制子程序、键盘扫描子程序,如下图所示:

SHT10 LCD1602 温湿度 采集子 程序

图4.1 程序总体结构

主程序输出控制子程序

键盘扫描子程序

液晶屏显示子程序

主程序主要就是调用各个子程序的C语言文件中定义的函数,实现SHT10、LCD1602初始化等操作,然后测量温湿度,调用函数对数据进行处理,最后进行显示并输出控制信号。

在Keil工程中编写程序的时候,为了让整个工程看起来条理清晰,要按照各个模

页 第 22

块分别新建C文件写子程序。某个C文件要调用其它C文件中的函数时,要在当前C语言文件中先进行声明,然后再调用,或者也可以把每个C文件中定义的函数都写到相同名字下的.h头文件中,其他C文件要调用该函数时要在前面加上#include <*.h>,将头文件包括进来。对于变量也是如此,如果某个变量也在其他C文件中使用,那么要在一个C文件总将它定义为全局变量,即在函数外面定义。其他C文件要使用该变量时,要先使用extern将全局变量的作用域扩展到本C语言文件。

页 第 23

4.2 主要模块的设计流程框图

4.2.1 主程序流程图

开始

SHT10复位 初始化LCD1602 测量温湿度 对温湿度数据进行修正 在液晶屏上显示温湿度 将温湿度与设定值比较 Yes 是否超限? No Yes 是否有按键? 进入键盘扫描子程启动温湿度调节设备 No 图4.2 主程序流程图

页 第 24

4.2.2 SHT10子程序流程图

图4.3 SHT10子程序流程图

开始 发送启动时序 发送控制字 测量结束? Yes 接收数据 No 接收校验位 结束 温湿度传感器SHT10使用类似于I2C总线的时序与单片机通信,由于51单片机没有I2C接口,所以需要编写程序,用单片机的某两个I/O口管脚模拟I2C总线的时序,从而与SHT10通信。

SHT10有4种时序:启动传输时序、写字节时序、读字节时序及复位时序。复位时序和启动传输时序可通过依次拉低或拉高时钟线和数据线,因而实现起来比较简单;而写时序和读时序就比较复杂。写时序用来发送控制字,即发送命令,测量结束后,发出读时序读回测量数据。向SHT10的8个数据位的写入,于第9个时钟周期之后,读

页 第 25

基于STC89C52RC单片机的大棚温湿度自动控制系统毕业设计(含源文件) - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3e9yb3mswp6rgfk162cz_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top