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

单片机 温湿度测量 nrf2401 at89c51

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

东北电力大学本科毕业设计论文

第4章 系统的软件设计

温湿度测量系统的功能是在程序控制下实现的。该系统的软件设计方法与硬件设计相对应,同样采用模块化的设计思想,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序和中断处理程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。温湿度测量系统的软件主要分为:下位机的温度、湿度采集和数据无线传输程序以及上位机的温度、湿度数据的查询、接收、显示和上传程序。

4.1 主程序设计

系统的主程序设计主要完成系统初始化、中断优先级设定以及判断调用各模块程序,即主要实现各程序模块的连接。上位机的系统初始化主要包括 nRF24E1 中寄存器、存储单元的设置、nRF2401 子系统初始化、ZLG7289A 的初始化。下位机的系统初始化主要包括 nRF24E1 中寄存器、存储单元的配置、nRF2401 子系统初始化、DS18B20 的初始化和 HM1500地址的设置。

4.1.1 上位机主程序

上位机主程序开始后先进行初始化设置。初始化的内容包括给相应的字符名称赋值,ZLG7289A 的初始化,设置串口通信参数,打开 CPU 中断,打开串口中断,设置定时器 T0 中断。没有中断的时候,上位机子系统处于等待状态,直到有中断需要响应时,单片机进入相应的中断服务程序,向下位机发送温度(或湿度)测试指令,等下位机接收到完整数据后,将上位机置接收方式,准备接收测得的数据,在上位机接收完下位机上传的数据后,根据中断指令进行显示(或上传),并保持状态,直到响应新的中断为止。

上位机主程序流程框图如图 4-1 所示。

4.1.2 下位机主程序

下位机主程序开始后首先进行初始化设置。初始化的内容包括给相应的字符名称赋值,设置串口通信参数。下位机然后向在线的 DS18B20发初始化脉冲。然后发送 Skip ROM 命令,也就是接下来的 RAM 命令是针对在线所有 DS18B20。将在线所有 DS18B20 序列号存入下位机中,接着循环查询 nRF2401 子系统是否置接收方式,直到有接收数据,转入相应的子程序,执行温度(或湿度)的检测,然后,将测得的数据发送给上位机,复位返回,准备进行新的测试。 下位机主程序流程框图如图 4-2 所示。

17

东北电力大学本科毕业设计论文

图 4-1 上位机主程序流程框图

18

东北电力大学本科毕业设计论文

图 4-2 下位机主程序流程框图

4.2 子程序设计

4.2.1 温度测量子程序

首先由下位机发出所要查询的 DS18B20 地址,所有的 DS18B20 响应中断,判断是否与主机查询的地址相符。地址符合的 DS18B20 回送本机地址,并改变 SM2,地址不符合的 DS18B20 退出中断,SM2=1 不变。DS18B20 在与下位机建立联系后,跟着以查询方式接收下位机接着发送的 DS18B20 的 ROM 命令。主机只有两种 DS18B20 的 ROM 命令:读 DS18B20 的序列号和匹配指定 DS18B20。读序列号和匹配指定DS18B20 都是单字节的指令。匹配指定 DS18B20 命令发送后紧接着的是相应测温点序列号。DS18B20 首先判断是那一种命令,然后转入相应子程序进行处理。读序列号指令相应的子程序完成的是,读出在线的 DS18B20 的序列号,一共八个字节并回送下位机。读序列号时线上只能有一个 DS18B20,否则会引起数据冲突。匹配指定 DS18B20 命令相应的子程序先把接收到的相应测温点序列号放入单片机 RAM 的指定地址中。然后向在线的多个DS18B20 发送匹配测温点的 ROM 命令和相应序列号。只有序列号相同的DS18B20 响应命令。然后单片机发送读寄存器命令,把相应 DS18B20 寄存器内的数据先放入单片机

19

东北电力大学本科毕业设计论文

RAM 的指定地址中。程序流程框图见图 4-3。

4.2.2 湿度测量子程序

下位机发出所要查询的HM1500地址,然后调用A/D转换子程序。HM1500是电压输出式湿敏传感器,输出信号为+1V~+4V的模拟电压,其内部有信号调理电路,已做线性化处理,可根据下式编制出相应的程序:

RH%=0.0391Vout-42.5 (Vout单位为mV)

湿度是温度的函数,湿敏元件对温度亦十分敏感,湿敏传感器温度系数一般在0.2~0.8%RH/℃范围内(HM1500为±0.1%RH/℃),因此,应做相应的温度补偿,可用如下的关系式做补偿:

RH%=(39.1-0.056Ta)Vout10-3-38.5 (Vout单位为mV,Ta单位℃)程序流程框图见图 4-4

图4-3温度测量子程序 图4-4 湿度测量子程序

20

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