基于物联网的智能仓储温湿检测系统_第1页
基于物联网的智能仓储温湿检测系统_第2页
基于物联网的智能仓储温湿检测系统_第3页
基于物联网的智能仓储温湿检测系统_第4页
基于物联网的智能仓储温湿检测系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*实践教学*兰州理工大学计算机与通信学院2014年春季学期物联网综合应用实践课程设计题 目: 基于物联网的智能仓储温湿度检测系统 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 目录摘要3前言4一 基本原理51.1硬件方面5芯片SHT10介绍51.1.2 CC2530介绍71.2软件方面101.2.1 zigbee协议介绍101.2.2 zigbee协议栈结构11二 系统分析152.1程序流程图152.2具体步骤15三 详细设计163.1 总体软件结构163.2硬件模块设计193.3总体结构软件设计19四 总结27六 致谢29 摘要 针对现有仓库温湿度检测存在的问题,结合无线传感器网络技

2、术,提出一种基于ZigBee技术的仓库温湿度采集系统设计方法。该系统采用Zigbee无线通信技术结合传感器,通过运用Zigbee协议架构组建无线传感网络,实现主从节点的数据采集和传输,以及一点对多点,两点之间的通信。并详细阐述了基于Zigbee协议栈的中心节点和终端节点的协议传输,主要是从Zigbee协议栈网络层里AODV路由协议着手,阐述在网络层如何通过AODV路由协议进行节点间的连接以及数据的收发。关键字: 仓储环境监测; CC2530; Zigbee协议栈; 无线传感网络前言防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作

3、可靠性,为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作,但传统的方法采用测试器材,通过人工进行检测,这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此,仓库的测控无线化、智能化和信息化管理已成为仓库储备技术的发展趋势。本设计是一种基于CC2530和数字温湿度传感器的智能仓储管理系统。即该系统是采用ZigBee无线通信技术结合传感器,并通过运用ZigBee协议构架组建无线传感网络,来实现主从节点的数据采集和传输的,同时,需要在网络层通过AODV路由协议来进行节点间的连接以及数据的收发。总之,基于无线传感技术的无线网络传感器是一种将传感器、控制器、计算能

4、力、通信能力完美的结合于一身的嵌入式设备。它们跟外界的物理环境交互,适时地采集信息,并且将采集到的信息通过无线传感网络传送给远程用户。无线网络传感器一般是由一个低功耗的微控制器(MCU)和若干个存储器,无线电/光通信装置、传感器等组件所集成的,通过传感器及通信装置和它们所处的外界物理环境进行交互。一基本原理本实验将使用 CC2530 读取温湿度传感器 SHT10 的温度和湿度数据,并通过 CC2530 内部的 ADC 得到光照传感器的数据,将采样到的温湿度及光照传感器采集数据通过串口发送到CORTEX A8DB开发板上。在CORTEX A8DB开发板上通过软件将采集到的光、湿度、温度值通过曲线

5、描述出来。其中对温湿度的读取是利用 CC2530 的 I/O(P1.0 和 P1.1)模拟一个类 IIC 的过程。其中该系统所使用的SHT10是一款高度集成的温湿度传感器芯片,提供全标定的数字输出。CORTEX A8DB开发板作为最终的显示设备.1.1硬件方面芯片SHT10介绍SHT10 是一款高度集成的温湿度传感器芯片, 提供全标定的数字输出。它采用专利的CMOSens 技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与 14 位的 A/D 转换器以及串行接口电路实现无缝连接。SHT10 引脚特性如下:1

6、. VDD,GND SHT10 的供电电压为 2.45.5V。传感器上电后,要等待 11ms 以越过“休眠”状态。在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个 100nF 的电容,用以去耦滤波。2. SCK 用于微处理器与 SHT10 之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小 SCK 频率。3. DATA 三态门用于数据的读取。DATA 在 SCK 时钟下降沿之后改变状态,并仅在 SCK 时钟上升沿有效。数据传输期间,在 SCK 时钟高电平时,DATA 必须保持稳定。为避免信号冲突,微处理器应驱动 DATA 在低电平。需要一个外部的上拉电阻(例如:10k

7、)将信号提拉至高电平。上拉电阻通常已包含在微处理器的 I/O 电路中。向 SHT10 发送命令:用一组“ 启动传输”时序,来表示数据传输的初始化。它包括:当 SCK 时钟高电平时DATA 翻转为低电平,紧接着 SCK 变为低电平,随后是在 SCK 时钟高电平时 DATA 翻转为高电平。后续命令包含三个地址位(目前只支持“000”,和五个命令位。SHT10 会以下述方)式表示已正确地接收到指令:在第 8 个 SCK 时钟的下降沿之后,将 DATA 拉为低电平(ACK位)。在第 9 个 SCK 时钟的下降沿之后,释放 DATA(恢复高电平)。测量时序(RH 和 T):发布一组测量命令(000001

8、01表示相对湿度 RH,00000011表示温度 T)后,控制器要等待测量结束。这个过程需要大约 11/55/210ms,分别对应 8/12/14bit 测量。确切的时间随内部晶振速度,最多有±15%变化。SHTxx 通过下拉 DATA 至低电平并进入空闲模式,表示测量的结束。控制器在再次触发 SCK 时钟前,必须等待这个“数据备妥”信号来读出数据。检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。接着传输 2 个字节的测量数据和 1 个字节的 CRC 奇偶校验。 需要通过下拉 DATA 为低电平,uC以确认每个字节。所有的数据从 MSB 开始,右值有效(例如:

9、对于 12bit 数据,从第 5 个SCK 时钟起算作 MSB; 而对于 8bit 数据, 首字节则无意义)。用 CRC 数据的确认位,表明通讯结束。如果不使用 CRC-8 校验,控制器可以在测量值 LSB 后,通过保持确认位 ack 高电平, 来中止通讯。在测量和通讯结束后,SHTxx 自动转入休眠模式。 通讯复位时序:如果与 SHTxx 通讯中断,下列信号时序可以复位串口:当 DATA 保持高电平时,触发SCK 时钟 9 次或更多。在下一次指令前,发送一个“传输启动”时序。这些时序只复位串口,状态寄存器内容仍然保留。 CC2530介绍CC2530 是基于2.4-GHz IEEE802.15

10、.4、ZigBee 和RF4CE 上的一个片上系统解决方案。其特点是以极低的总材料成本建立较为强大的网络节点。CC2530 芯片结合了RF 收发器,增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他模块的强大的功能。如今CC2530 主要有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。其具有多种运行模式,使得它能满足超低功耗系统的要求。同时CC2530运行模式之间的转换时间很短,使其进一步降低能源消耗。 CC2530包括了1个高性能的2.4 GHz DSSS(直接序列扩频)射频收发器核心和1个8051控制器,它

11、具有32/64/128 kB可选择的编程闪存和8 kB的RAM,还包括ADC、定时器、睡眠模式定时器、上电复位电路、掉电检测电路和21个可编程I/O引脚,这样很容易实现通信模块的小型化。CC2530是一款功耗相当低的单片机,功耗模式3下电流消耗仅0.2A,在32 k晶体时钟下运行,电流消耗小于1A。CC2530芯片使用直接正交上变频发送数据。基带信号的同相分量和正交分量由DAC转换成模拟信号,经过低通滤波,变频到所设定的信道上。当需要发送数据时,先将要发送的数据写入128B的发送缓存中,包头是通过硬件产生的。最后经过低通滤波器和上变频的混频后,将射频信号被调制到2.4GHz,后经天线发送出去。

12、CC2530有两个端口分别为TX/RX,RF端口不需要外部的收发开关,芯片内部已集成了收发开关。CC2530的存储器ST-M25PE16是4线的SPI通信模式的FLASH,可以整块擦除,最大可以存储2M个字节。工作电压为2.7v到3.6v。CC2530温度传感器模块反向F型天线采用TI公司公布的2.4GHz倒F型天线设计。天线的最大增益为3.3dB,天线面积为25.7×7.5mm。该天线完全能够满足CC2530工作频段的要求(CC2530工作频段为2.400GHz2.480GHz)。 图1.CC2530芯片引脚CC2530芯片引脚功能AVDD1 28 电源(模拟) 2-V3.6-V

13、模拟电源连接AVDD2 27 电源(模拟) 2-V3.6-V 模拟电源连接AVDD3 24 电源(模拟) 2-V3.6-V 模拟电源连接AVDD4 29 电源(模拟) 2-V3.6-V 模拟电源连接AVDD5 21 电源(模拟) 2-V3.6-V 模拟电源连接AVDD6 31 电源(模拟) 2-V3.6-V 模拟电源连接DCOUPL 40 电源(数字) 1.8V 数字电源去耦。不使用外部电路供应。DVDD1 39 电源(数字) 2-V3.6-V 数字电源连接DVDD2 10 电源(数字) 2-V3.6-V 数字电源连接GND - 接地 接地衬垫必须连接到一个坚固的接地面。GND 1,2,3,4

14、 未使用的连接到GNDP0_0 19 数字I/O 端口0.0P0_1 18 数字I/O 端口0.1P0_2 17 数字I/O 端口0.2P0_3 16 数字I/O 端口0.3P0_4 15 数字I/O 端口0.4P0_5 14 数字I/O 端口0.5P0_6 13 数字I/O 端口0.6P0_7 12 数字I/O 端口0.7P1_0 11 数字I/O 端口1.0-20-mA 驱动能力P1_1 9 数字I/O 端口1.1-20-mA 驱动能力P1_2 8 数字I/O 端口1.2P1_3 7 数字I/O 端口1.3P1_4 6 数字I/O 端口1.4P1_5 5 数字I/O 端口1.5P1_6 3

15、8 数字I/O 端口1.6P1_7 37 数字I/O 端口1.7P2_0 36 数字I/O 端口2.0P2_1 35 数字I/O 端口2.1P2_2 34 数字I/O 端口2.2P2_3 33 数字I/O 模拟端口2.3/32.768 kHz XOSCP2_4 32 数字I/O 模拟端口2.4/32.768 kHz XOSCRBIAS 30 模拟I/O 参考电流的外部精密偏置电阻RESET_N 20 数字输入 复位,活动到低电平RF_N 26 RF I/O RX 期间负RF 输入信号到LNARF_P 25 RF I/O RX 期间正RF 输入信号到LNAXOSC_Q1 22 模拟I/O 32-

16、MHz 晶振引脚1或外部时钟输入XOSC_Q2 23 模拟I/O 32-MHz 晶振引脚2温湿度传感器模块温湿度探头直接使用 IIC 接口进行控制,光敏探头经运放处理后输出电压信号到 AD 输入。IIC 接口将同时连接 EEPROM 以及温湿度传感器两个设备,将采用使用不同的 IIC设备地址的方式进行区分。其电路原理图如下所示:图(1)温湿度传感器模块原理图使用 1012bit 的 AD 采集器进行光敏信号采集,使用专用温湿度传感器 (IIC 接口)进行温湿度信号采集。一次采样使用 2 字节描述,MSB 方式,温湿度及光电传感器模块输出数据结构如下:(1)仅采集温度信息温度数据高字节,温度数据

17、低字节。(2)仅采集湿度信息湿度数据高字节,湿度数据低字节。(4)采集全部信息温度数据高字节,温度数据低字节,湿度数据高字节,湿度数据低字节。 注意:本指令一次测量,最多只上传 1 次采集数据,不支持连续采集数据上传。1.2软件方面 zigbee协议介绍 ZigBee协议标准采用分层结构,每一层为上层提供一系列特殊的服务:数据实体提供数据传输服务;管理实体则提供所有其他的服务。所有的服务实体都通过服务接人点SAP为上层提供接口,每个SAP都支持一定数量的服务原语来实现所需的功能。ZigBee标准的分层架构是在OSI七层模型的基础上根据市场和应用的实际需要定义的。其中IEEE 802154200

18、3标准定义了底层协议:物理层(physical layer,PHY)和媒体访问控制层(medium access control sublayer,MAC)。ZigBee 联盟在此基础上定义了网络层(network layer,NWK),应用层(application layer,APL)架构。在应用层内提供了应用支持子层(application support sublayer,APS)和 ZigBee设备对象(ZigBee device object,ZDO)。应用框架中则加入了用户自定义的应用对象。 ZigBee的网络层采用基于Ad Hoc的路由协议,除了具有通用的网络层功能外,还应该与

19、底层的IEEE 802154标准一样功耗小,同时要实现网络的自组织和自维护,以最大限度方便消费者使用,降低网络的维护成本。应用支持子层把不同的应用映射到ZigBee网络上,主要包括安全属性设置、业务发现、设备发现和多个业务数据流的汇聚等功能。 ZigBee无线测温系统的组成及原理基于ZigBee技术的无线测温系统主要由基于ZigBee技术的底层无线传感器网络、远程数据传输网络以及功能完善的上位监控系统3部分组成,该系统是由大量的传感器点、汇节点以及远程传输模块组成的分布式系统。基于簇的分层结构具有天然的分布式处理能力,簇头就是分布式处理中心,即无线传感器网络的一个汇节点。每个簇成员(传感器节点

20、)都把数据传给簇头,数据融合后直接传给远程传输网络,中央控制中心通过远程传输网络与多个汇节点连接,汇节点和传感器节点之间通过ZigBee技术实现无线的信息交换。带有射频收发器的无线传感器节点负责对数据的感知和处理并传送给汇节点;通过远程传输网络获取采集到的相关信息,实现对现场的有效控制和管理。 zigbee协议栈结构ZigBee协议栈定义了四层,分别是物理层、媒体访问控制层、网络层、应用层。物理层和媒体访问控制层由IEEE802.15.4-2003定义,上层的网络层和应用层由Zigbee联盟定义。应用层分别包括ZDO(Zigbee设备对象),APS(应用支持子层)和AF(应用框架)组成。Zig

21、bee协议栈每一层负责完成所规定的任务,并且向上层提供服务,各层之间的接口通过所定义的逻辑链路来提供服务。 ZigBee协议栈结构如图2 ZigBee协议栈结构图所示。图2 ZigBee协议栈结构图1. 物理层物理层由半双工的无线收发器及其接口组成,主要作用是激活和关闭射频收发器;检测信道的能量;显示收到数据包的链路质量;空闲信道评估;选择信道频率;数据的接受和发送。2. 媒体访问控制层媒体访问控制(MAC)层建立了一条节点和与其相邻的节点之间可靠的数据传输链路,共享传输媒体,提高通信效率。在协调器的MAC层,可以产生网络信标,同步网络信标;支持ZigBee设备的关联和取消关联;支持设备加密;

22、在信道访问方面,采用CSMA/CA信道退避算法,减少了碰撞概率;确保时隙分配(GTS);支持信标使能和非信标使能两种数据传输模式,为两个对等的MAC实体提供可靠连接。3. 网络层 网络层负责拓扑结构的建立和维护网络连接,主要功能包括设备连接和断开网络时所采用的机制,以及在帧信息传输过程中所采用的安全性机制。此外,还包括设备的路由发现和路由维护和转交。并且,网络层完成对一跳(onehop)邻居设备的发现和相关结点信息的存储。一个ZigBee协调器创建一个新网络,为新加入的设备分配短地址等。并且,网络层还提供一些必要的函数,确保ZigBee的MAC层正常工作,并且为应用层提供合适的服务接口。网络层

23、要求能够很好地完成在IEEE 802154标准中MAC子层所定义的功能,同时,又要为应用层提供适当的服务接口。为了与应用层进行更好的通信,网络层中定义了两种服务实体来实现必要的功能。这两个服务实体是数据服务实体(NLDE)和管理服务实体(NLME)。网络层的NLDE通过数据服务实体服务访问点(NLDESAP)来提供数据传输服务,NLME通过管理服务实体服务访问点(NLMESAP)来提供管理服务。NLME可以利用NLDE来激活它的管理工作,它还具有对网络层信息数据库(NIB)进行维护的功能。 在这个图中直观地给出了网络层所提供的实体和服务接口等。 NLDE提供的数据服务允许在处于同一应用网络中的

24、两个或多个设备之间传输应用协议数据单元(APDU)。NLDE提供的服务有:产生网络协议数据单元(NPDU)和选择通信路由。选择通信路由,在通信中,NLDE要发送一个NPDU到一个合适的设备,这个设备可能是通信的终点也可能只是通信链路中的一个点。NLME需提供一个管理服务以允许一个应用来与协议栈操作进行交互。 NLME需要提供以下服务:配置一个新的设备(configuring a new device)。具有充分配置所需操作栈的能力。配置选项包括:ZigBee协调器的开始操作,加入一个现有的网络等。 4. 应用层应用层包括三部分:应用支持子层(APS)、ZigBee设备对象(ZDO)和应用框架(

25、AF)。应用支持子层的任务是提取网络层的信息并将信息发送到运行在节点上的不同应用端点。应用支持子层维护了一个绑定表,可以定义、增加或移除组信息;完成64位长地址(IEEE地址)与16位短地址(网络地址)一对一映射;实现传输数据的分割与重组;应用支持子层连接网络层和应用层,是它们之间的接口。这个接口由两个服务实体提供:APS数据实体(APSDE)和APS管理实体(APSME)。APS数据实体为网络中的节点提供数据传输服务,它会拆分和重组大于最大荷载量的数据包。APS管理实体提供安全服务,节点绑定,建立和移除组地址,负责64位IEEE地址与16位网络地址的地址映射4。ZigBee设备对象负责设备的

26、所有管理工作,包括设定该设备在网络中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。用户在开发ZigBee产品时,需要在ZigBee协议栈的AF上附加应用端点,调用ZDO功能以发现网络上的其他设备和服务,管理绑定、安全和其他网络设置。ZDO是一个特殊的应用对象,它驻留在每一个ZigBee节点上,其端点编号固定为0。AF应用框架是应用层与APS层的接口。它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。 CC2530串口通信原理UART 接口可以使用 2 线或者含有引脚 RXD、TXD、可选 RTS 和 C

27、TS 的 4 线。UART 操作由 USART 控制和状态寄存器 UxCSR 以及 UART 控制寄存器 UxUCR 来控制。这里的 x 是 USART 的编号,其数值为 0 或者 1。当 UxCSR.MODE 设置为 1 时,就选择了 UART 模式。当 USART 收/发数据缓冲器、寄存器 UxBUF 写入数据时,该字节发送到输出引脚 TXDx。UxBUF 寄存器是双缓冲的。当字节传输开始时,UxCSR.ACTIVE 位变为高电平,而当字节传送结束时为低。当传送结束时,UxCSR.TX_BYTE 位设置为 1.当 USART 收/发数据缓冲寄存器就绪,准备接收新的发送数据时,就产生了一个中

28、断请求。该中断在传送开始之后立刻发生,因此,当字节正在发送时,新的字节能够装入数据缓冲器。当 1 写入 UxCSR.RE 位时,在 UART 上数据接收就开始了。然后 UART 会在输入引脚 TXDx中寻找有效起始位,并且设置 UxCSR.ACTIVE 位为 1.当检测出有效起始位时,收到的字节就传入到接收寄存器,UxCSR.RX_BYTE 位设置为 1.该操作完成时,产生接收中断。同时UxCSR.ACTIVE 变为低电平。通过寄存器 UxBUF 提供到的数据字节。当 UxBUF 读出时,UxCSR.RX_BYTE 位由硬件清 0。二 系统分析 该系统通过具有IIC总线接口的单片全校准字式新型

29、相对温湿度传感器SHT10实现对温湿度的采集,将信号送至ZigBee技术,从节点采集温湿度数据每隔一定的时间轮流向主节点发送,主节点收到数据之后通过串口将各节点的温湿度数据传给智能主板。2.1程序流程图开始系统时钟初始化读取温湿度数据显示温湿度数据LCD初始化 图3 软件流程图 2.2具体步骤 1、给智能主板供电(USB外接电源或2节干电池) 。 2、将一个无线节点模块插入到带LCD的智能主板的相应位置。 3、将温湿度及光电传感器模块插入到智能主板的传感及控制扩展口位置。 4、将CC2530仿真器的一端通过USB线(A型转B型)连接到 PC 机,另一端通过10Pin下载线连接到智能主板的CC2

30、530 JTAG口(J203) 。 5、将智能主板上电源开关拨至开位置。按下仿真器上的按钮,仿真器上的指示灯为绿色时,表示连接成功。 6、使用IAR7.51打开“OURS_CC2530LIBlib10(HumiTempLight) IAR_files”下的 HumiTempLight.eww文件,下载运行程序。 7、观察LCD上温度、湿度和光照强度的变化。 8、用一个物体挡住光照传感器的光线,观察LCD上光照强度数据的变化。 9、向温湿度传感器吹一口气体,观察LCD上温湿度数据的变化。 三 详细设计3.1 总体结构构成 温湿度采集模块主要有无线模块和数据采集模块,由数据采集模块完成温湿度的采集

31、。温湿度及光照传感器采集数据,并把采集的数据通过串口发送到CORTEX A8DB开发板上。在CORTEX A8DB开发板上通过软件将采集到的光、湿度、温度值通过曲线描述出来。无线传感模块 无线传感器网络在设计目标方面与传统的无线网络有所区别,前者是以数据为中心的,后者以传输数据为目的。在无线传感器网络中,因为节点通常运行在人无法接近的恶劣甚至危险的远程环境中,所以除了少数节点需要移动以外,大部分节点都是静止不动的。在被监测区域内,节点任意散落,节点除了需要完成感测特定的对象以外,还需要进行简单的计算,维持互相之间的网络连接等功能。并且由于能源的无法替代以及低功耗的多跳通信模式节,设计无线传感节

32、点时,有效的延长网络的生命周期以及节点的低功耗成为无线传感器网络研究的核心问题。在节省功耗的同时增加通信的隐蔽性,避免长距离的无线通信易受外界噪声干扰的影响,也都是在设计传感器网络时需要攻克的新难题。图4 无线传感器节点模型无线传感网络的建立是基于传感器加无线传输模块的,传感器采集的数据,简单处理后经过无线传输模块传到服务器或应用终端。目标、观测节点传感节点和感知视场是无线传感器网络所包括的4个基本实体对象。另外,要完成对整个系统的应用刻画,还需要对远程任务管理单元、外部网络和用户进行定义。大量传感节点随机部署,单个节点经过初始的通信和协商,通过自组织方式自行配置,形成一个传输信息的单跳链接或

33、一系列的无线网络节点组成的网络,协同形成对目标的感知视场。传感节点检测的目标信号经过传感器本地简单处理后通过单播或广播以多跳的方式通过邻近传感节点传输到观测节点。用户和远程任务管理单元则能够通过卫星通信网络或Internet等外部网络,与观测节点进行数据信息的交互。观测节点向网络发布查询请求和控制指令,接收传感节点返回的目标信息。图5 无线传感器网络通信体系结构无线传输模块可以实现短距离(小于300米)的信号传输。在实际应用中,需要根据不同需求选择传感器,如电压电流、功耗、温湿度、液面、震动、压力等等。3.1.2.数据采集模块温湿度探头直接使用IIC接口进行控制。其电路原理图如下所示: 图6

34、数据采集模块电路图本实验将使用CC2530 读取温湿度传感器SHT10的温度和湿度数据,并将采样到的数据转换然后再LCD显示。其中对温湿度的读取是利用CC2530的I/O(P1.0和P1.1)模拟一个类IIC得过程。 3.2硬件模块设计 传感器节点由数据处理发送模块,温度传感器,湿度传感器和供电般构成。数据处理模块是由CC2530构成,温湿度采集采用温湿度传感器SHT10。其结构图如 温度采集模块湿度采集模块数据处理模块 电源模块 图7 硬件结构图3.3总体结构软件设计3.3.1、串口通信设计程序流程图及核心代码:* 函数名称:initUART* 功能描述:CC2530 串口初始化*/void

35、 initUART(void)PERCFG = 0x00; /位置 1 P0 口P0SEL = 0x3c; /P0用作串口U0CSR |= 0x80; /UART方式U0GCR |= 11; /baud_e = 11;U0BAUD |= 216; /波特率设为 115200UTX0IF = 1;U0CSR |= 0X40; /允许接收IEN0 |= 0x84; /uart0接收中断/* 函数名称:UartTX_Send_String* 功能描述:串口发送数据函数* 参 数:*Data - 发送数据指针* len - 发送的数据长度* 返 回 值:无*/void UartTX_Send_Stri

36、ng(UINT8 *Data,int len)int j;for(j=0;j<len;j+)U0DBUF = *Data+;while(UTX0IF = 0);UTX0IF = 0;/* 函数名称:HAL_ISR_FUNCTION* 功能描述:串口接收数据中断函数* 参 数:halUart0RxIsr - 中断名称* URX0_VECTOR - 中断向量* 返 回 值:无*/HAL_ISR_FUNCTION( halUart0RxIsr, URX0_VECTOR )UINT8 temp;URX0IF = 0;temp = U0DBUF;*(str + count) = temp;coun

37、t+;/* 函数名称:main* 功能描述:串口间歇发送 字符串,当串口接收到数据后,再通过串口* 回发出去。*/void main()UINT8 *uartch = " "UINT8 temp = 0;SET_MAIN_CLOCK_SOURCE(CRYSTAL); /设置主时钟为 32M 晶振initUART(); /初始化串口while(1)UartTX_Send_String(uartch,17); /发送 halWait(200);halWait(200);if(count) /判断串口是否接收到数据temp = count; /保存接收的数据长度halWait(5

38、0); /等待数据接收完成if(temp =count) /判断数据是否接收完成UartTX_Send_String(str,count); /回发接收到的数据 str = 0;count = 0;3.3.2、温度,湿度传感器模块设计开始系统时钟初始化读取温湿度数据显示温湿度数据LCD初始化程序流程图及核心代码:void main() int wendu; int shidu; char s16; UINT8 adc0_value2; float shuzi = 0;SET_MAIN_CLOCK_SOURCE(CRYSTAL); / 设置系统时钟源为 32MHz 晶体振荡器GUI_Init()

39、; / GUI 初始化GUI_SetColor(1,0); / 显示色为亮点,背景色为暗点GUI_PutString5_7(25,6,"OURS-CC2530"); /显示 OURS-CC2530GUI_PutString5_7(10,22,"Temp:");GUI_PutString5_7(10,35,"Humi:");GUI_PutString5_7(10,48,"Light:");LCM_Refresh();while(1) th_read(&tem,&hum); /从采集模块读取温度和湿度的数据 sprintf(s, (char*)"%d%d C", (INT16)(int)tempera / 10),(INT16)(int)tempera % 10); /将采集的温度结果转换为字符串格式 GUI_PutString5_7(48,22,(char *)s); /显示采集的温湿度的结果 LCM_Refresh(); sp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论