版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0 0 浙江万里学院 本科毕业设计本科毕业设计(论文论文) (2014 届) 论文题目论文题目 基于 nrf24l01 的无线温湿度 检测系统设计 (英文) design of wireless temperature and humidity detection system based on nrf24l01 所在学院 电子信息学院 专业班级 电气工程及其自动化 101 班 学生姓名 陈树源 学号 2010013827 指导教师 郑子含 职称 副教授 完成日期 2014 年 4 月 20 日 1 1 基于 nrf24l01 的无线温湿度 检测系统设计 陈树源 (浙江万里学院电信学院电气 1
2、01 班) 2014 年 4 月 2 2 摘摘 要要 温湿度是一个非常重要的参数。在工业、医疗、军事和生活等许多地方, 都需要用到检测装置来测量温湿度。随着现代社会的告诉发展,传统直接布线 测量方式已无法再满足现状,特别是在某些环境恶劣的工业环境和户外环境, 通过直接布线测量显得苍白而无力,因此无线温湿度检测技术应运而生。 本设计主要由主控模块、无线传输模块、温湿度监测系统、显示模块、时 间模块、电源模块等组成。并通过对各种类模块进行对比和筛选,挑出比较适 合该设计的模块。主控模块采用单片机stc89c51,温湿度模块采用sht11温湿度 传感器,无线传输模块采用nrf24l01,时钟芯片采用
3、ds12c887,显示模块采用液 晶lcd1602。单片机通过时钟模块获取时间数据,对数据进行处理;温湿度传感 器采集温湿度信号送给单片机处理;单片机通过无线模块再把时间数据和温湿 度数据发送到pc端,在显示模块上显示数据。整个系统实现了实时监控环境温 湿度的功能。 关键词:关键词:温湿度;stc89c51;sht11;nrf24l01 3 3 abstract temperature and humidity is an important parameter. in many parts of the industrial, medical, military and other life
4、, you need to use the detector to measure the temperature and humidity. with the development of modern society tells traditional direct measurement wiring can no longer meet the status, especially in some harsh industrial environments and outdoor environment, through direct measurement wiring looked
5、 pale and weak. therefore, wireless temperature and humidity detection technology came into being. primarily by the design control module, wireless transmission module, temperature and humidity monitoring system, display module, time module, power modules and other components. and through various ty
6、pes of modules for comparison and selection, pick more suitable for the design of the module. master module using scm stc89c51, temperature and humidity module using sht11 temperature and humidity sensors, wireless transmission module using nrf24l01, clock chip ds12c887, using liquid crystal display
7、 module lcd1602. scm data obtained through time clock module, for data processing; temperature and humidity sensors collect temperature and humidity signal to the microcontroller processing; microcontroller through a wireless module and then the temperature and humidity data and time data is sent to
8、 the pc side, the data displayed on the display module. the function of the whole system to achieve real-time monitoring of temperature and humidity. key words: temperature and humidity; stc89c51; sht11; nrf24l01 4 4 目目 录录 1引言.7 2总体设计.8 2.1 方案论证及比较.8 2.1.1 主控模块的选择.8 2.1.2.温湿度检测系统的选择.9 2.1.3.无线发射模块的选
9、择.10 2.1.4.显示模块的选择.11 3 系统硬件设计.13 3.1 单片机主控模块.13 其功能和特点.13 3.2 无线射频模块 nrf24l01 .14 3.2.1 nrf24l01 引脚功能.15 3.2.2 工作模式.15 3.2.3 nrf24l01 模块与单片机的连接原理图.16 3.3 温湿度传感器 sht11.17 3.3.1 sht11 温湿度传感器的基本原理.17 3.3.2 sht11 与单片机的管脚连接原理图.18 3.4 显示模块.19 3.4.1 lcd1602 的引脚.19 3.4.2 lcd1602 与单片机的连接图.20 3.5 电源模块.20 4 系
10、统软件设计.21 4.1 主程序流程图.21 4.2 nrf4l01 数据发送子程序.21 4.3 nrf4l01 数据接收子程序.23 4.4 温湿度采集子程序.23 4.5 液晶显示子程序.23 4.5.1 lcd1602 的指令.23 4.5.2 lcd1602 数据显示子程序流程图.25 致谢.29 参考文献.30 附录 1 系统原理图.31 附录 2 源程序代码.32 5 5 1 1引言引言 随着社会生产的不断发展进步,许多工农业生产过程以及民用场合都需要对 环境的温度和湿度进行检测并控制,比如:粮仓、温室蔬菜大棚、通信基站、 电力变电房、药厂、图书馆、博物馆等1。 在当今的工业、电
11、力行业中,为了保证社会的正常运作以及人民的正常生 活,保证电气设备的正常运行至关重要。很多企业提倡对设备进行预防性的维 护,而温度是预防性维护中最重要的监控参数,温度的过高或过低都可能潜藏 着安全隐患。所以实现温对度在线监测是保证高压设备安全运行的重要手段。 在传统的温湿度测量中分别采用温度传感器和湿度传感器采集温度和湿度信号 并通过布置大量的电缆或导线进行有线传输在多测点的情况下 这种方法无疑大 大增加了成本和系统设计的复杂性同时安装拆卸繁琐不灵活信号容易受到干扰 2。 如今,对农业环境实施技术的认识已经增加到行业当中。对所需因素的手 动搜集可以是零星的,不连续的,并且会在错误的测量中发生变
12、化。这可能会 给控制重要的环境因素造成困难。无线独特的传感器节点可以减少用于监控环 境所需要的时间和精力。数据日志允许数据减少,遗失或错放。并且,这些数 据也允许安置在关键位置,而不需要在危险情况下放置专门人员3。目前,无 线数据通信的应用领域越来越广:遥控遥测、无线抄表、门禁系统、身份识别、 非接触 rf 智能卡、无线标签、安全防火系统、生物信号采集、机器人控制 等凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。所以在 种种因素下,采用无线检测系统的优越性就体现出来了4。 6 6 2 2总体设计总体设计 2.1 方案论证及比较 2.1.1 主控模块的选择 主控模块作为整个系统的控制
13、核心,其性能的好坏对系统工作的影响是非 常重要的,经过资料翻阅,初步设定以下两种方案供参考。 方案一:stc89c51 的主 cpu 电路选用 stc89c52rc 系列单片机, stc89c52rc 是采用 8051 核的 isp(in system programming)在系统可编程芯 片,最高工作时钟频率为 80mhz,片内含 8k bytes 的可反复擦写 1000 次的 flash 只读程序存储器,器件兼容标准 mcs-51 指令系统及 80c51 引脚结构,芯 片内集成了通用 8 位中央处理器和 isp flash 存储单元,具有在系统可编程 (isp)特性,配合 pc 端的控制
14、程序即可将用户的程序代码下载进单片机内部, 省去了购买通用编程器,而且速度更快。stc89c52rc 系列单片机是单时钟/ 机 器周期(1t)的兼容 8051 内核单片机,是高速/ 低功耗的新一代 8051 单片机, 全新的流水线/ 精简指令集结构,内部集成 max810 专用复位电路。 方案二:at90s8515 是一种 avr 系列单片机,使用它系统无需程序存储器、 数据存储器以及 ad 转换器,大大简化了硬件的设计。其内部的硬件看门狗电 路及相应的看门狗指令控制,提高了系统的可靠性及安全性,适合用于组成智 能检测及采集处理系统。电荷耦合器件 ccd 是在大规模集成电路工艺基础上研 制雨成
15、的 mos 型集成电路芯片。自 1970 年美国贝尔实验室 wsboyle 和 gesmith 首先提出以来,其技术研究取褥了惊人的进展。利用摄像镜头 ccd 把实时图像信息通过光电转换而再现信息存储与传递功能。当对它施加特定时 序的脉冲时,其存储的电荷便能在 ccd 内作定向传输而实现自扫描。它具有体 积小、分辨率高、稳定性能良好、抗电磁干扰等特点5。得以在工件尺寸检测、 图像传真、智能传感器等方面广泛应用本文致力于线阵 ccd 智能检测系统的研 制,将传感技术、智能技术和单片机相结合,实现了非接触在线检测,系统具 有实时性、准确性、智能化、灵敏度高以及标准输出等优点。由于本课题显示 7 7
16、 的信息简单,不需要显示复杂的信息,若采用该系统就造成资源浪费。 本着系统设计硬件选择经济实惠的原则,采用方案一。 2.1.2.温湿度检测系统的选择 温湿度检测部分是用来显示温湿度信息,科学家根据不同的检测要求研制 出多种方案,本人提取几种可以应用在本次系统的方案进行比较。 方案一:采用 honeywell 公司相对湿度传感器 hih3610,并配合 dallas 公 司一线总线智能电池监视器件 ds2438 实现湿度采集,组成一种完全符合一线总 线规范的湿度传感器。相对湿度传感器 hih3610 在供电电压为 5v 时,其消耗电 流仅为 200ma,其输出电压为:v out=v supply
17、0.0062(sensorrh)+016,若 v supply固定为 5v,则其值仅由相对温度值决定。由于一线总线上供电电压值为变 量,故要求在进行湿度测量的同时还应测量电源电压 v supply的值。hih3610 测 量湿度值还与环境温度有关,故应进行温度补偿,补偿公式为: rh=(sensorrh)1054600216t。因此,为得到准确的湿度测量值,还 应在测量湿度的同时测量环境温度和一线总线电源电压值。ds2438 硬件资源有 2 个 adc 和 1 个温度传感器;电压 adc 对 0 一 iov 输入信号实现 10 位变换或通 过内部多路开关对 05v 输入信号实现 9 位变换,用
18、来读取加在电源引脚上的 电压硬件资源有 2 个 adc 和 1 个温度传感器,电压 adc 对 010v 输入信号实现 10 位变换或通过内部多路开关对 05v 输入信号实现 9 位变换,用来读取加在 电源引脚上的电压。sl8820h1 是 dallas 公司推出的智能型数字式温度传感器, 它采用一线接口,既可通信,又可通过数据线供电,只需占用微处理器的一个 i0 位;并且 dsl88206将测的温度信号转换为数字量输出,可以直接与微处 理器相连,大大简化了电路的设计。dsl8820 本身带有命令集和存储器,微处 理器通过发出控制命令,对 dsl8820 的存储器进行读写,完成温度测量。这个
19、方案主要的缺点是逻辑电路复杂,器件和维护的成本较高,不利于大量投入农 业设备的检测。 方案二:sht11 是单片集成的数字温湿度传感器,所有信号的调理都在芯 片内部完成,采用 i2c 总线串行接口电路实现通信,完成数据和时钟的传输, 8 8 而且直接输出数字信号。这样不仅节省了单片机的 i/o 口线,而且减少了 a/d 转换器件,降低了成本,与单片机接口简单、检测准确、稳定性好,实现了对 温湿度参数的测量。在实际测量中由于 sht11 的输出特性呈一定的非线性,采 用软件补偿以获取准确数据。该温湿度传感器功能强大,且具有高度的可靠性 和长时间的稳定性等特点,价格也相对低廉,所以完全符合本次设计
20、系统的需 要。 方案三:hmp45d 温湿度传感器是由温度传感器和湿度传感器组成。其中, 温度传感器是铂电阻温度传感器,湿度传感器是湿敏电容湿度传感器。铂电阻 的特点是:温度系数较大,即灵敏度较大;电阻率较大,易于绕制高阻值的元 件;性能稳定,材料易于提纯;测温精度高,复现性好。湿敏电容传感器是用 有机高分子膜作介质的一种小型电容器。hmp45d 温湿度传感器的头部必须有保 护滤纸,防止感应元件被尘埃污染。湿敏电容不能长时间暴露在含有某些化学 物质的气体中,否则可能改变它的性能,缩短使用寿命。所以,应定期拆开传 感器的头部网罩,清洗滤纸或者更换新的滤纸7。首先,对于应用于农牧业的 温湿度检测系
21、统,这一点显得非常的不现实。其次,该温湿度传感器必须安装 在百叶箱内。传感器的中心点离地面 150 m。这会使得检测的结果失去一定 的准确性。所以这个也不适合。 综上所述,方案二比较符合本次设计的要求。 2.1.3.无线发射模块的选择 本次设计是基于无线设备的温湿度监测系统,所以,无线设备的稳定性和 准确性非常的重要。经总结,归纳了以下两种方案。 方案一:nrf905 是 nordic vlsi 公司推出的单片机视频收发器,工作于 433868915 mhz,3 个 ism(工业、科学和隧学)频道,采用 32 脚 o 刚封装, 芯片尺寸为 5m5m,工作电压为 1.93.6v。它由频率合成嚣、
22、功率合戒器、 晶体振荡器和调制器组成,外围元件少,不用外加声表面振荡器,天线可采用 pbc 环形天线或单端鞭状天线,发射功率最太为 10 dbm接收功率为 460 dbm,在开阔地传输距离一般可达 600 m 以上。(在地形复杂时会缩短距离,这 9 9 与使用环境、干扰、系统调谐有关。但一般调谐不可大于 200 m8。由于该系 统应用于农牧业,应用环境非常巨大,所以,这一点不能满足设计的需要。 方案二:nrf24l01 是一款工业级内置链路层逻辑的 2.4hz 超低成本的无线 收发芯片,nrf24l01 支持多点间通信,最高传输速率达 2mbit/s,比蓝牙具有更高 的传输速度。它采用 soc
23、 方法设计只需少量外围元件便可组成射频收发电路。 与蓝牙不同的是,nrf24l01 没有复杂的通信协议,它完全对用户透明通过一个标 准的 spi 接口与外围控制器连接,同种产品之间可以自由通信,并且比蓝牙产品 更便宜。所以 nrf24l01 是业界体积最小、功耗最少、外围元件最少的低成本射 频系统级芯片9。基于以上特点,该无线传输模块满足本次设计的需要。 综上所述,方案二比较合适。 2.1.4.显示模块的选择 方案一:选择主控为 st7920 的带字库的 lcd12864 来显示信息。12864 是 一款通用的液晶显示屏,能够显示多数常用的汉字及 ascii 码,而且能够绘制 图片,描点画线,
24、设计成比较理想的结果。 方案二:采用字符液晶 lcd1602 显示信息,1602 是一款比较通用的字符液 晶模块,能显示字符和数字等信息,且价格便宜,容易控制。 方案三:采用 led7 段数码显示管显示,其成本低,容易显示控制,但不能 显示字符。 综上所述,我们选择了经济实惠的字符液晶 lcd1602 来作为接收端的显示。 发送端用 7 段数码管显示。 本次设计的无线温湿度监控系统有上位机子系统(发送端)和下位机子系 统(接收端)两个部分组成。 上位机子系统: 1010 图 2-1 发送端系统原理图 下位机子系统 : 该系统主要 由 stc89c51 单片机,nrf24l01 无线射频模块,液
25、晶显示, 温湿度传感器 ,时钟模块和电源模块组成 如图 2-2。 图 2-2 接收端系统原理图 1111 3 3 系统硬件设计系统硬件设计 3.1 单片机主控模块 stc 系列单片机是美国 stc 公司最新推出的一种新型 51 内核的单片机,片内含有 flash 程序存储器、sram、uart、spi、ad、pwm 等模块,其中 stc89c51 的基本功 能与普通的 51 单片机完全兼容。 时钟电路图: 时钟模块选用时钟芯片 ds12c887。它将晶体振荡器电路、充电电路和可充 电锂电池等一起封装在芯片的上方,组成一个加厚的集成电路模块,其原理图 如图 3-1 所示。 图 3-1 时钟模块原
26、理图 其功能和特点 在没有外部电源的情况下可工作10年 自带晶体振荡器及锂电池 可计算到2100年前秒、分、小时、周、日、月、年七种日历信息并带闰 年补偿 用二进制码或bcd码代表日历和闹钟信息 有12小时和24小时两种制式,12小时制有am 和pm 提示 数据地址总线复用 内建128bram,14b时钟控制寄存器,l14b通用ram 可编程方波输出、总线兼容中断 三种可编程中断: 1212 时间性中断,可产生每秒一次至每天一次中断 周期性中断122ms到500ms 时钟更新结束中断 复位电路电路图: 复位是单片机的初始化操作,单片机在启动运行时,都需要先复位,它的 作用是使cpu和系统中其它
27、部件都处于一个确定的初始状态,并从这个状态开始 工作。单片机的外部复位电路有上电自动复位和按键手动复位两种方式,按键 手动复位又分为按键电平复位和按键脉冲复位。而本次设计选择按键电平复位, 按复位键后复位端通过电阻与vcc电源接通。如图3-2所示,因为采用了12mhz, 每机器周期为1us,则只需要2us以上时间的高电平,在rst引脚(在电容器c3的 负端)出现高电平后的第二个机器周期执行复位,利用电容充电来实现,在接 电的瞬间,reset端的电位与vcc相同,随着充电电流的减少,reset的电位逐渐 下降,当按下reset键,此时电源vcc经过电阻r1、r2分压,在reset端产生复位 高电
28、平。 图 3-2 复位电路 3.2 无线射频模块 nrf24l01 nrf24l01 是一款新型单片射频收发器件,工作于 2.4 ghz2.5 ghz ism 频 段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了 增强型 shock burst 技术,其中输出功率和通信频道可通过程序进行配置。 nrf24l01 功耗低,在以-6 dbm 的功率发射时,工作电流也只有 9 ma;接收时, 工作电流只有 12.3 ma,多种低功率工作模式(掉电模式和空闲模式)使节能设 计更方便。 1313 3.2.1 nrf24l01 引脚功能引脚功能 nrf24l01 的封装及引脚排列如图
29、 所示。各引脚功能如下: 图 3-3 nrf24l01 封装图 ce:使能发射或接收 ; csn,sck,mosi,miso:spi 引脚端,微处理器可通过此引脚配置 nrf24l01: irq:中断标志位 ; vdd:电源输入端 ; vss:电源地; xc2,xc1:晶体振荡器引脚 ; vdd_pa:为功率放大器供电,输出为 1.8 v; ant1,ant2:天线接口; iref:参考电流输入。 3.2.2 工作模式工作模式 通过配置寄存器可将 nrf241l01 配置为发射、接收、空闲及掉电四种工 作模式,如表所示。 待机模式 1 主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作 的;
30、 待机模式 2 则是在当 fifo 寄存器为空且 ce=1 时进入此模式; 1414 待机模式下,所有配置字仍然保留。 在掉电模式下电流损耗最小,同时 nrf24l01 也不工作,但其所有配置寄存器的 值仍然保留。 表 1:nrf24l01 四种工作模式 模式 pwr_upprim_rxce fifo 寄存器状态 接收 模式 111- 发射 模式 101 数据在 tx fifo 寄存 器中 发射 模式 1010 停留在发送模式,直 至数据发送完 待机 模式 2 101 tx fifo 为空 待机 模式 1 1-0 无数据传输 掉电 0- 3.2.3 nrf24l01nrf24l01 模块与单片
31、机的连接原理图模块与单片机的连接原理图 nrf24l01 单端匹配网络:晶振,偏置电阻,去耦电容。 1515 ce 1 csn 2 sck 3 mosi 4 miso5 irq 6 vdd 7 vss 8 xc2 9 xc1 10 vdd_pa11 ant1 12 ant2 13 vss 14 vdd15 iref 16 vss 17 vdd 18 dvdd 19 vss 20 u1 nrf24l01 vdd c9 10nf c8 1nf c1 22pf r2 22k r1 1m x1 16m c2 22pf c3 2.2nf c4 4.7pf c7 33nf c6 1.0pf l3 3.9n
32、h l1 8.2nh l2 2.7nh c5 1.5pf 50omh,rfi/o ce csn sck mosi miso irq 图 3-4 nrf24l01 单端 50 射频输出电路原理图 3.3 温湿度传感器温湿度传感器 sht11sht11 3.3.1 sht11 温湿度传感器的基本原理 sht11 的湿度检测运用电容式结构,并采用具有不同保护的“微型结构” 检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器 件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感 器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点, 同时不会产生由于温
33、度与湿度传感器之间随温度梯度变化引起的误差。 comsenetm 技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模/数 转换器、校准数据存储器、标准 12总线等电路全部集成在一个芯片内。sht11 传感器的内部结构框图如图 3-5 所示 1616 图 3-5 sht11 传感器内部就结构框图 sht11 的每一个传感器都是在极为精确的湿度室中校准的。sht11 传感器 的校准系数预先存在 otp 内存中。经校准的相对湿度和温度传感器与一个 14 位 的 a/d 转换器相连,可将转换后的数字温湿度值送给二线 i2c 总线器件,从而 将数字信号转换为符合 i2c 总线协议的串行数字信号。
34、由于将传感器与电路部分结合在一起,因此,该传感器具有比其它类型的 湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗 干扰性能,保证了传感器的长期稳定性,而 a/d 转换的同时完成,则降低了传 感器对干扰噪声的敏感程度。其次在传感器芯片内装载的校准数据保证了每一 只湿度传感器都具有相同的功能,即具有 100%的互换性。最后,传感器可直接 通过 12c 总线与任何类型的微处理器、微控制器系统连接,从而减少了接口电 路的硬件成本,简化了接口方式。 3.3.2 sht11 与单片机的管脚连接原理图 以下是 sht11 与单片机的管脚连接原理图,如图 3-6 所示 图 3-6 sht
35、11与单片机的管脚连接图 1717 3.4 显示模块显示模块 显示模块采用的是液晶 lcd1602。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号 等的点阵型液晶模块。它由若干个5x7或者5x11等点阵字符位组成,每个点阵字 符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔, 起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用 自定义 cgram,显示效果也不好) 。1602lcd 是指显示的内容为16x2,即可以显示 两行,每行16个字符液晶模块(显示字符和数字) 。 3.4.1 lcd1602 的引脚 以下是 lcd1602
36、的引脚图 3-7。 图 3-7 1602 采用标准的 16 脚接口,其中: 第 1 脚:gnd 为电源地。 第 2 脚:vcc 接 5v 电源正极。 第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源 时对比度最高(对比度过高时会 产生“鬼影” ,使用时可以通过一个10k 的电 位器调整对比度) 。 第4脚:rs 为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指 令寄存器。 第5脚:rw 为读写信号线,高电平(1)时进行读操作,电平(0)时进行写操 作。 第6脚:e(或 en)端为使能(enable)端,高电平(1)时读取信息,负跳变时 1818 执行指令。 第714
37、脚:d0d7为8位双向数据端。第1516脚:空脚或背灯电源。 15脚背光正极。 16脚背光负极。 3.4.2 lcd1602 与单片机的连接图 3.5 电源模块 j1 为 line input 5v,两个 104 电容为滤波电容,引脚分别接地,主要是滤 掉高频纹波,防止自激震荡;47uf 为滤波电容,主要是滤掉低频纹波;r1 作限流 作用以保护稳压二极管 d2,当输入电压和输出负载电流发生变化时 r1 通过本身 降压的变化,来调整稳压二极管 d2 的工作电流,从而起到稳压作用。其原理图如 图 3-8 所示 图 3-8 5v 转3.3v 原理图 1919 4 4 系统软件设计系统软件设计 简单介
38、绍系统软件组成。简单介绍系统软件组成。 4.1 主程序流程图 4.2 nrf4l01 数据发送子程序 发射数据时,首先将 nrf24l01 配置为发射模式:接着把接收节点地址 tx_addr 和 有效数据 tx_pld 按照时序由 spi 口写入 nrf24l01 缓存区,tx_pld 必须在 csn 为低时 连续写入,而 tx_addr 在发射时写入一次即可,然后 ce 置为高电平并保持至少 10s, 延迟 130s 后发射数据;若自动应答开启,那么 nrf24l01 在发射数据后立即进入接收模式 ,接收应答信号(自动应答接收地址应该与接收节点地址 tx_addr 一致)。如果收到应 答,则
39、认为此次通信成功,tx_ds 置高,同时 tx_pld 从 tx fifo 中清除;若未收到应答 ,则自动重新发射该数据(自动重发已开启),若重发次数(arc)达到上限,max_rt 置高 ,tx fifo 中数据保留以便在次重发;max_rt 或 tx_ds 置高时,使 irq 变低,产生中断 ,通知 mcu。最后发射成功时,若 ce 为低则 nrf24l01 进入空闲模式 1;若发送堆栈中有数 据且 ce 为高,则进入下一次发射;若发送堆栈中无数据且 ce 为高,则进入空闲模式 2。 配置字 2020 spi 口为同步串行通信接口,最大传输速率为10 mb/s,传输时先传送低 位字节,再传
40、送高位字节。但针对单个字节而言,要先送高位再送低位。与 spi 相关的指令共有 8 个,使用时这些控制指令由 nrf24l01 的 mosi 输入 。相应的状态和数据信息是从 miso 输出给 mcu。 nrf24l0l 所有的配置字都由配置寄存器定义,这些配置寄存器可通过sp i 口访问。nrf24l01 的配置寄存器共有 25 个,常用的配置寄存器如表 2 所示。 4.2.2 nrf4l01nrf4l01数据发送数据发送 表 2:常用配置寄存器 地址 (h ) 寄存器名称功能 00config 设置 24l01 工作模式 01en_aa 设置接收通道及自动应答 02en_rxaddr 使能
41、接收通道地址 03setup_aw 设置地址宽度 04setup_retr 设置自动重发数据时间和次 数 07status 状态寄存器,用来判定工作 状态 0a0 f rx_addr_p0p5 设置接收通道地址 10tx_addr 设置接收接点地址 2121 111 6 rx_pw_p0p5 设置接收通道的有效数据宽 度 4.3 nrf4l01 数据接收子程序 接收数据时,首先将 nrf24l01 配置为接收模式,接着延迟 130s 进入 接收状态等待数据的到来。当接收方检测到有效的地址和crc 时,就将数 据包存储在 rx fifo 中,同时中断标志位 rx_dr 置高,irq 变低,产生中
42、 断,通知 mcu 去取数据。若此时自动应答开启,接收方则同时进入发射状态 回传应答信号。最后接收成功时,若ce 变低,则 nrf24l01 进入空闲模式 1。 4.4 温湿度采集子程序 4.5 液晶显示子程序 4.5.1 lcd1602 的指令 1602 液晶模块内部的控制器共有 11 条控制指令。 第 1 条:清显示(0 x01h) rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 0 1 第 2 条:光标复位(0 x02h 或 0 x03h) 2222 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 1
43、 * 第 3 条:设置输入模式 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 1 i/d s 第 4 条:显示开/关控制 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 1 d c b 第 5 条:光标或者字符移位 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 1 s/c r/l * * 第 6 条 功能设置 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 1 dl n f * * 第 7 条:字符发生存储器地址 rs rw d7 d6 d5 d4 d3
44、d2 d1 d0 0 0 0 1 字符发生器地址(agg) 第 8 条 :数据存储器地址 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 0 1 显示数据存储器地址(add) 第 9 条:读取忙标志或者地址 rs rw d7 d6 d5 d4 d3 d2 d1 d0 0 1 bf 计数器地址(ac) 第 10 条 写数据到 cgram 或者 ddram rs rw d7 d6 d5 d4 d3 d2 d1 d0 1 0 写入的数据 第 11 条 cgram 或者 ddram 读取数据 rs rw d7 d6 d5 d4 d3 d2 d1 d0 1 1 读取的数据 2323 4.5.2 lcd1602 数据显示子程序流程图 2424 5 5 制作与调试制作与调试 我们进行的是单点通信,传输温湿度数据。发送端采集温湿度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论