基于无线传感器的农业环境监测系统_第1页
基于无线传感器的农业环境监测系统_第2页
基于无线传感器的农业环境监测系统_第3页
基于无线传感器的农业环境监测系统_第4页
基于无线传感器的农业环境监测系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、综合课程设计报告书题目:基于无线传感器的农业环境监测系统我国是世界上设施栽培面积最大的国家,而且近几年国产连栋温室每年以新增100 150 万公顷的面积快速发展。引导温室用户根据作物的要求进行环境因子的调节以获得作物产量和品质的提 高,是温室环境因子调控决策支持系统的主要目标和方向。然而,目前的温室测控系统大多采用有 线布网、人工测量,导致现场安装困难,工作效率偏低,测量精度差,这不仅大大增加了电气工程 施工费用,也导致施肥等工作困难;此外,系统中的每个监控点没有自组织功能和自愈能力,维护 工作量大,也不利于系统升级。因此,为了实现温室农作物的优质、高产和高效,开发和研制一种 新型的温室环境测

2、控系统是十分必要的。 无线传感器网络技术是现代传感器技术、微电子技术、通信技术、嵌入式计算技术和分布式信息处 理技术等多个学科的综合。把无线传感器刚络技术引入到温室大棚生产中来,农业将有可能逐渐地 从以人力为中心,依赖于孤立的生产模式转向以信息和软件为中心的生产模式。从而实现温室信息 采集自动部署、自组织传输和智能控制、大幅度提高单位面积的劳动生产率和资源产出率、改善温 室等设施工作环境和工作条件、提高工作效率、保障农民身体健康、提高农民生活质量,有助于解 决“三农”问题,对实现温室作物生产的可持续发展具有重要意义。1 无线传感器系统概述1.1 无线传感器技术无线传感器网络是由部署在监测区域部

3、或附近的大量廉价的、具有通信、感测及计算能力的微 型传感器节点通过自组织构成的“智能”测控网络。无线传感器网络在军事、农业、环境监测、医 疗卫生、工业、智能交通、建筑物监测、空间探索等领域有着广阔的应用前景和巨大的应用价值, 被认为是未来改变世界的十大技术之一、全球未来四大高技术产业之一。1.2 研究背景随着无线技术的快速发展和日趋成熟,无线通信也发展到一定的阶段,其发展的技术越来越成 熟,方向也越来越多,越来越重要,大量的应用方案开始采用无线技术进行数据采集和通信。微机电系统和低功耗高集成数字设备的发展,使得低成本、低功耗、小体积的传感器节点得以 实现。这样的节点配合各类型的传感器,可组成无

4、线传感器网络(WSN)。无线传感网络是一种开创了新的应用领域的新兴概念和技术。广泛应用于战场监视、大规模环境监测和大区域的目标追踪等 领域。传感技术、传感网络已经被认定为最重要的研究之一。因为无线传感器网络节点一般采用电 池供电,工作环境通常比较恶劣,而且数量大、更换非常困难,所以低功耗是无线传感器网络最重 要的设计准则之一,因此,它迫切需要对传统的嵌入式应用开发进行更新和改进,需要精心设计的 软硬件系统,以使其可靠而耐用。2003 年 , 美国技术评论杂志论述未来新兴十大技术时,WSN被列为第一 ; 美国今日防务杂志更认为 WSN的应用和发展将引起一场划时代的军事技术革命和未来战争的变革。可

5、以预测,WSN是 信息感知和采集的一场革命 , 是 21 世纪最重要的技术之一 2 。低功耗无线传感模块, 便是组成无线 传感网络的节点。此方面的研究由来已久,是计算机应用的扩展,采用了大规模集成电路和嵌入式 技术,使用智能微处理器对采集到的信息进行处理和加工。现已广泛应用于社会建设的各个层面和 人们的日常生活当中。但过去的研究有的只考虑低功耗而性能不高, 有的性能高但是功耗太大。因此,在无线传感技术应用如此广泛的今天,在保证无线传感模块性能的同时又能实现其低功 耗具有一定的理论和现实意义。1.3 研究 目的当前对于无线传感技术的研究仍然处在一个高速发展的阶段,低功耗就是其发展方向之一,而 低

6、功耗与高性能的结合实现还不完全。因此,为了更好的实现无线传感模块的功能,增加模块的可 靠性和使用寿命,通过对无线传感节点的硬件功耗的分析,确定无线传感模块各单元的基本功率消 耗,并进行相应比较,确定需重点降耗的单元,在此基础上结合当前对低功耗无线传感模块的研究, 通过对比分析选择合适的芯片完成对低功耗无线传输模块的自主设计和制作。并辅助软件开发人员 完成各子模块的驱动编写,实现低功耗无线传感模块的整体通信功能。1.4 研究意义无线传感网络是一种开创了新应用领域的新兴概念和技术。当前,传感技术、传感网络已经被 认定为最重要的研究之一。无线传感器网络节点的稳定运行是整个网络可靠性的重要保障。低功耗

7、 无线传感模块研究具有极其重要的学习和研究价值, 其功能的实现具有极其重要的理论和现实意义。首先,现有的众多研究中,将性能和低功耗相结合的较少,有的只考虑低功耗而性能不高,有 的性能高但是功耗太大。本文综合了性能和低功耗的共同需求,经过深入的分析和对芯片的数据比 较,提出了低功耗无线传感模块的硬件设计思路。其次,增加无线传感模块的应用。无线传感模块应用已非常广泛,除去组成无线传感网络的应 用外,无线传感技术还广泛的应用于环境监测,如车间温湿度、压力等;短距无线通信等。实现了 无线传感模块的低功耗,其对电能的需求就会更小,应用的围将会进一步的扩大。2 系统分析和总体设计2.1 对无线传感器系统的

8、要求系统由温湿度传感器 SHT11、光照传感器 TSL2561,AT89S52 单片机,无线数据传输模块 PTR2000,PC和电源模块组成。传感器节点通过自组织方式构成网络,将采集到的数据沿着其他节点逐跳进行 传输,传输到显示模块进行数据显示。主要技术指标 (1)通信与组网:负责监测环境信息的传感器节点自组织搭建无线网络,并向管理和基础服务层提 供服务支持;( 2)通信频段: 2.4-2.4835Hz ;( 3)采用通信协议标准: ZigBee 协议标准;( 4)借点可靠通信围: 200m;(5)传感器精度:温度 0.3 ( 25时),湿度: 2.0%RH(2080%RH),光照强度: 1l

9、x 。2.2 系统组成及工作原理2.2.1 系统组成系统由电源,上位机系统和下位机系统组成。电源包括LM7805,四节 5 号 AA 电池和一个 10K电阻。 上位机包括无线收发模块 PTR2000,MAX232,PC。下位机包括无线收发芯片 PTR2000,AT89S52 单片机,温湿度传感器 SHT11,光照强度传感器 TSL2561。SHT11AT89PTS52R20TSL256100电源模块图 2.1 传感器节点系统框图2.2.2 工作原理 多个无线传感器节点通过无线通信方式形成的一个多跳自组织网络,其中的节点将采集到的数 据依照最近路线逐个传递到离监测中心最近的传感器节点,再从节点发

10、送到监测中心。由检测中心 的 PC中 Labview8.6 软件开发出的监测界面显示数据曲线图。监测软件界面图3 系统硬件设计3.1 上位机系统图 3.1 上位机系统框图Fig.3.1 Block diagram of the host system上位机采用 PTR2000,PTR2000主要有以下几个特点 3 : 该器件将接收和发射合接为一体; 工作频率为国际通用的数传频段433MHZ;采用 FSK调制/ 解调,可直接进入数据输入 /输出,抗干扰能力强,特别适合工业控制场合; 采用 DDS(直接数据合成) +PLL 频率合成技术,因而频率稳定性极好; 灵敏度高达 105bBm;工作电压低(

11、 2.7V ),功耗小,接收待机状态电流仅为8A;具有两个频道,可满足需要多信道工作的场合;工作 速率 最高达 20kbit/s( 也可在较抵速率下工作,如 9600bps); 超小体积,约 40 275mm;可直接与 MCU的串口进行连接(如 8031),也可以通过 MAX232与计算机接口,软件编程非常方便;标准的 DIR 引脚间距更适合于趼、嵌入式设备; 由于采用了低发射功率、高接收灵敏的设计,因此使用时无需申请许可证,开阔地时的使用距 离最远可达 1000 米。引脚排列及功能PTR2000模板的引脚排列如图 1 所示。各引脚的功能说明如下;VCC(1脚);下输入端,电压围为 2.75.

12、25V ;CS(2脚):频道选择端。 CS=0时,选择工作频道 1, 即 433.92MHz;CS=1时选择工作频道 2, 即 434.33 MHzDI(3 脚):数据输入端DO( 4 脚):数据输出端;PWR( 5 脚):节能控制端。当 PWR=1时,模块处于正常工作状态, PWR=0时,模块处于待机微功 耗状态;TXEN6脚):发射 / 接收控制端。当 TXEN=1时,模块为发射状态;当 TXEN=0时,模块被设置为 接收状态。GND( 7 脚):电源地PTR2000 可与所有单片机(如 80C31、2051 、68HC08、PIC、Z8 等)配合使用,可直接接单片机 的串口或 I/O 口

13、,也可与计算机串口进行通讯,此时需要在中间简单地接在一个RS232 电平转换芯片,如 MAX232等。3.2 下位机系统+5V7GND +5V1NCVCC2NCSDA3NCSCK4NCGND67SHT118GND10uFGNDVCC CS DI DOPWRTXENPTR200034567891010uFSW-PB10K22pF11MGND22pFGND11121314151617181920GNDVOLM7805+6VGND+5V2K10KGND+5VP1.0/T2VCCP1.1/T2EXP0.0/AD0P1.2P0.1/AD1P1.3P0.2/AD2P1.4P0.3/AD3P1.5/MOSI

14、P0.4/AD4P1.6/MISOP0.5/AD5P1.7/SCKP0.6/AD6RSTP0.7/AD7P3.0/RXDEA/VPPP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7/A15P3.4/T0P2.6/A14P3.5/T1P2.5/A13P3.6/WRP2.4/A12P3.7/RDP2.3/A11XTAL2P2.2/A10XTAL1P2.1/A9GNDP2.0/A8AT89S524309383736353433323130292827262524232221VDDSDAADSELINTGNDSCL162534TSL2561 2KGND+5V下位机电

15、路图3.2.1 微处理器模块AT89S52是一种低功耗、高性能 CMO S8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使 用 Atmel 公司高密度非易失性存储器技术制造, 与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位 CPU 和在系统可编程 Flash ,使得 AT89S52在众多嵌入式控制应用系统中得到广泛应用。主要性能:1、与 MCS-51单片机 产品兼容;2、8K 字节在系统可编程 Flash 存储器 ;3、1000 次擦写周期;4、全静态操作: 0Hz-33MHz;5、三级

16、加密程序存储器;6、32 个可编程 I/O 口线;7、三个 16 位定时器 / 计数器 ;8、六个 中断源 ;9、全双工 UART串行通道; 10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电 标识符 。引脚说明AT89S52 是一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器 技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和 在系统 可编程 Fl

17、ash ,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k 字节 Flash ,256字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个 数据指针,三个 16 位 定时器/计数器,一个 6向量 2级中断结构,全双工串行口, 片晶振及 时钟 电路 。另外, AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种 软件 可选择节电模式。空闲模式下, CPU 停止工作, 允许 RAM、定时器 /计数器、 串口、中断继续工 作。掉电保护方式下, RAM容被保存, 振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复

18、位为止。P0 口: P0口是一个 8位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8个 TTL逻 辑电平。对 P0端口写“ 1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0口也被作为低 8位 地址 /数据复用。在这种模式下, P0 不具有部上拉电阻。 在 flash 编程时, P0 口也用来接收指令 字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。P1 口: P1 口是一个具有部上拉电阻的 8 位双向 I/O 口, p1 输出缓冲器能驱动 4 个 TTL 逻辑电 平。对 P1 端口写“ 1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使

19、用时,被外部拉低的引脚由于部电阻的原因,将输出电流( IIL )。此外, P1.0 和 P1.1 分别作定时器 / 计数器 2 的外部计数输入( P1.0/T2 )和定时器 / 计数器 2 的触发 输入( P1.1/T2EX )。 在 flash 编程和校验时, P1口接收低 8位地址字节。 引脚号第二功能:P1.0 T2 (定时器 /计数器 T2的外部计数输入) ,时钟输出P1.1 T2EX (定时器 / 计数器 T2的捕捉 / 重载触发信号和方向控制)P1.5 MOSI (在 系统编程 用)P1.6 MISO (在系统编程用)P1.7 SCK (在系统编程用)P2 口: P2 口是一个具有

20、部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电 平。对 P2 端口写“ 1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流( IIL )。 在访问外部程序存储器或用 16 位地址 读取外部数据存储器(例如执行MOVX DPT)R 时, P2 口送出高八位地址。在这种应用中, P2 口使用很强的部上拉发送 1。在使用 8 位地址(如 MOVXR I)访问外部数据存储器时, P2 口输出 P2 锁存 器的容。 在 flash 编程和校验时, P2口也接收高 8 位地址字节和一些控制信号。P3 口:

21、 P3 口是一个具有部上拉电阻的 8 位双向 I/O 口, p3 输出缓冲器能驱动 4 个 TTL 逻辑电 平。对 P3 端口写“ 1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流( IIL )。 P3 口亦作为 AT89S52 特殊功能(第二 功能)使用,如下表所示。 在 flash 编程和校验时, P3 口也接收一些控制信号。端口引脚 第二功能:P3.0 RXD( 串行输入口 )P3.1 TXD( 串行输出口 )P3.2 INTO( 外中断 0)P3.3 INT1( 外中断 1)P3.4 TO( 定时 /计数器 0)P3.5

22、 T1( 定时 /计数器 1)P3.6 WR( 外部数据存储器写选通 )P3.7 RD( 外部数据存储器读选通 )此外, P3 口还接收一些用于 FLASH闪存 编程和程序校验的控制信号。RST: 复位输入。当振荡器工作时, RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输 出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引

23、脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX和 MOVC指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN: 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN信号。EA/VPP:外部访问允许,欲使 CPU仅访问外部程序存储器(地址为0000H-FFFFH),

24、EA端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程,复位时部会锁存 EA端状态。如 EA端为高电 平(接 Vcc 端), CPU则执行部程序存储器的指令。 FLASH存储器编程时,该引脚加上 +12V的编程允 许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。XTAL1: 振荡器反相放大器和部时钟发生电路的输入端。XTAL2: 振荡器反相放大器的输出端。3.2.2 温湿度传感器 SHT11SHT11是瑞士 Scnsirion 公司推出的一款数字温湿度传感器芯片。 该芯片广泛应用于暖通空调、 汽车、消费电子、自动控制等领域。共主要特点如下:高度集成,将温度感

25、测、湿度感测、信号变换、AD 转换和加热器等功能集成到一个芯片上;提供二线数字串行接口 SCK和 DATA,接口简单,支持 CRC传输校验,传输可靠性高; 测量精度可编程调节,置 AD转换器(分辨率为 812 位,可以通过对芯片部寄存器编 程米选择 ) ;测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量 的露点计算功能;封装尺寸超小 (7.62 mm5.08mm2.5 mm) ,测量和通信结束后,自动转入低功耗模式; 高可靠性,采用 CMOSens工艺,测量时可将感测头完全浸于水中。2 SHT11 的引脚功能SHT11 温湿度传感器采用 SMD(LCC表) 面贴片封

26、装形式,接口非常简单,引脚名称及排列顺 序如图 1 所示。各引脚的功能如下: 脚 1和 4- 信号地和电源,其工作电压围是 2.4 5.5 V ;脚 2 和脚 3- 二线串行数字接口,其中 DA-TA为数据线, SCK为时钟线;脚 5 8- 未连接。3 SHT11 的部结构和工作原理温湿度传感器 SHT11将温度感测、湿度感测、信号变换、AD 转换和加热器等功能集成到一个芯片上,其部结构如图 2 所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制 成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号 放大器进行放大;然后进入一个14 位的 AD转换

27、器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程 中,校准系数会自动校准来自传感器的信号。此外,SHT11部还集成了一个加热元件,加热元件接通后可以将 SHT11的温度升高 5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的 温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95 RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的I2C 总线

28、协议是不兼容的, 因此需要用通用微处理器 I O口模拟该通信时序。 微处理器对 SHT11的控制是通过 5 个 5 位命令代码来实现的,命令代码的含义如表1 所列。4 SHT11 应用设计微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信, 所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I O口模拟通信协议。4.1 硬件设计SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线 SCK用于微处理器和 SHT11之间通信同步,由于接口包含了完全 静态逻辑,所以对 S

29、CK最低频率没有要求;当工作电压高于4.5V 时, SCK频率最高为 10 MHz,而当工作电压低于 4.5 V 时, SCK最高频率则为 1 MHz。硬件连接如图 3 所示。4.2 软件设计图 5SHT11湿度测试时序图SHT11湿度测试时序如图 5 所示。其中,阴影部分为 SHT11控制总线。主机发出启动命令,随后发 出一个后续 8 位命令码,该命令码包含 3 个地址位 (芯片设定地址为 000)和 5 个命令位;发送完该 命令码,将 DATA总线设为输入状态等待 SHT11的响应; SHT11接收到上述地址和命令码后,在第8个时钟下降沿, 将 DATA下拉为低电平作为从机的 ACK;在第

30、 9 个时钟下降沿之后, 从机释放 DATA(恢 复高电平 ) 总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到 DATA总线被拉低后,得知湿度测量已经结束,给出SCK时钟信号;从机在第 8 个时钟下降沿,先输出高字节数据;在第 9 个时钟下降沿,主机将 DATA总线拉低作为 ACK信号。然后释放总 线 DATA;在随后 8 个 SCK周期下降沿, 从机发出低字节数据; 接下来的 SCK下降沿, 主机再次将 DATA 总线拉低作为接收数据的 ACK信号;最后 8个 SCK下降沿从机发出 CRC校验数据,主机不予应答 (NACK) 则表示测量结束。由于

31、微处理器通过二线串行数字接口访问湿度传感器SHT11,而访问协议是芯片生产商白定义的,所以需要用通用 I O口模拟该通信协议。 我们选用 Atmel 公司的微处理器 ATmega128。通过对 I O 口寄存器的编程,该处理器的 I O口可以根据需要设置成输入、输出、高阻等状态。这为模拟该通 信协议提供了条件。在软件实现过程巾,通过宏定义来实现I O口状态的改变。3.2.3 光照传感器 TSL25611 TSL2561 简介TSL2561是 TAOS公司推出的一种高速、低功耗、宽量程、可编程灵活配置的光强度数字转换芯片。该芯片可广泛应用于各类显示屏的监控,目的是在多变的光照条件下,使得显示屏提

32、供最好的显示 亮度并尽可能降低电源功耗;还能够用于街道光照控制、安全照明等众多场合。该芯片的主要特点 如下: 可编程配置许可的光强度上下阈值,当实际光照度超过该阈值时给出中断信号; 数字输出符合标准的 SMBus(TSL2560)和 I2C(TSL2561) 总线协议; 模拟增益和数字输出时间可编程控制; 1.25 mm 1.75 mm超小封装,在低功耗模式下,功耗仅为0.75 mW; 自动抑制 50 Hz/60 Hz 的光照波动。2 TSL256x 的引脚功能TSL256x 有 2 种封装形式: 6LEAD CHIPSCALE和 6LEAD TMB。封装形式不同,相应的光照度计 算公式也不同

33、。图 1 为这两种封装形式的引脚分布图。图 1 TSL256x 封装各引脚的功能如下:脚 1 和脚 3: 分别是电源引脚和信号地。其工作电压围是2.7 3.5V 。脚 2: 器件访问地址选择引脚。由于该引脚电平不同,该器件有 3 个不同的访问地址。访问地址和 电平的对应关系如表 1 所列。表 1 器件访问地址和引脚 2 电平的对应关系脚 4 和脚 6 : I2C 或 SMBus总线的时钟信号线和数据线。脚 5: 中断信号输出引脚。 当光强度超过用户编程配置的上或下阈值时, 器件会输出一个中断信号。3 TSL256x 的部结构和工作原理TSL256x 是第二代周围环境光强度传感器,其部结构如图所

34、示。通道 0 和通道 1 是两个光敏 二极管,其道 0 对可见光和红外线都敏感,而通道 1 仅对红外线敏感。积分式 A/D转换器对流过光 敏二极管的电流进行积分,并转换为数字量,在转换结束后将转换结果存入芯片部通道 0 和通道 1 各自的寄存器中。当一个积分周期完成之后,积分式 A/D 转换器将自动开始下一个积分转换过程。 微控制器和 TSL2560可通过标准的 SMBus( System Management Bus) V1.1 或 V2.0 实现, TSL2561 则可通过 I2C 总线协议访问。 对 TSL256x 的控制是通过对其部的 16 个寄存器的读写来实现的, 其地 址如表 2

35、所列。4 TSL256x 应用设计TSL256x 的访问遵循标准的 SMBus和 I2C 协议,这使得该芯片软件和硬件设计变得很简单。这两种 协议的读写时序虽然很类似,但仍存在不同之处。下面仅以TSL2561 芯片为例,说明 TSL256x光强传感器的实际应用。4.1 硬件设计TSL2561 能够通过 I2C 总线访问,所以硬件接口电路很简单。假如所选用的微控制器带有 I2C 总线控制器,则将该总线的时钟线和数据线直接和TSL2561的 I2C 总线的 SCL和 SDA分别相连;假如微控制器部没有上拉电阻,则还需要再用 2 个上拉电阻接到总线上。假如微控制器不带 I2C 总线 控制器,则将 T

36、SL2561 的 I2C 总线的 SCL和 SDA和普通 I/O 口连接即可;但编程时需要模拟 I2C 总 线的时序来访问 TSL2561,INT 引脚接微控制器的外部中断。硬件连接如图3 所示。图 3 微控制器和 TSL2561的硬件连接图4.2 软件设计微控制器能够通过 I2C 总线协议对 TSL2561 进行读写。写数据时,先发送器件地址,然后发送 要写的数据。 TSL2561 的写操作过程如下: 先发送一组器件地址;然后写命令码,命令码是指定接 下来写寄存器的地址 00h 0fh 和写寄存器的方式,是以字节、字或块(几个字)为单位进行写操作 的;最后发送要写的数据,根据前面命令码规定写

37、寄存器的方式,能够连续发送要写的数据,部写 寄存器会自动加 1。对于 I2C 协议具体的读写时序,能够参考相关资料,在此不再赘述。 TSL2561 的 软件设计流程如图 4 所示。图 4 软件设计流程电源用 LM7805一块, 10K 电阻一个, 5 号 AA电池 4 节构成 +5V 稳压电源。 电路图如下:4 系统软件设计4.1 编程思路及流程图PTR2000思路:单片机开始需将无线数据传输模块PTR2000设置处于接受状态, 通过串口中断识别由 PC用过无线信道传输来的指令,根据接受指令的容采集数据并启动发送。发送前需将PTR2000模块设置为发射状态,且等待 5ms 才可发送,发送完毕后

38、,向 PC机端发送“发送结束指令”,并将 PTR2000重设为接 受状态,下图为系统软件设计流程图。SETB P1.1 MOV SP, #80H; PTR2000的 Pin7 置 1 ;设置数据指针的位置MOV SCON, #40H;串口工作方式 1MOV TMOD, #20H;定时器工作方式 1MOV TL1, #OFDH;设定波特率 9600MOV TH1, #OFDHMOV PCON, #00HSETB TR1;开启定时器 1MOV DPH, #50H;指针指向数据块MOV DPL, #00HVIN: MOV Rl , #LEN1 ;发送 VIN 码ACALL TXSUBUSER: MO

39、VE R1, #LEN2 ;发送用户名称ACALL TXSUBCOUN:T MOV RA ,#LEN3 ;发送用户水电气数据ACALL TXSUBCLR Pl.0;将 PTR2000置接收状态CLR Pl.l;将 PTR2000置待机状态ORG 0400HTXSUB: PUSH ACC;保护 ACCPUSH PSW;保护 PSWCLR Tl;清 TlTXDD: CLR AMOVC A , A+DPTR ;从数据块中取数MOV SUBF , A;从串口发送JNB Tl , $;等待发送完CLR TlINC DPTR;取下一个数DJNT RI , TXDD;数据为发送完,继续; PTR2000的

40、Pin6 置 1ORG 0000HAJMP STARTORG 0200HSTART: SETB P1.0POP PSW;弹出 PSWPOP ACC;弹出 ACCRET()RG 0500H ;数据块DVIN: DB 1234567890IEN1 DATA10USER: DB ABDEFGLEN2 DATA 7DCOUN:T DB8740 3365 4200 LEN3 DATA 12SHT11思路: 微处理器和温湿度传感器通信采用串行二线接口SCK和 DATA,其中 SCK为时钟线, DATA为数据线。该二线串行通信协议和 I2C 协议是不兼容的。在程序开始,微处理器需要用一组启动传输 时序表示数

41、据传输的启动,如图 4 所示。当 SCK时钟为高电平时, DATA翻转为低电平;紧接着 SCK变为低 电平,随后又变为高电平;在 SCK时钟为高电平时, DATA再次翻转为高电平。#ifndef _SHT11_H_#define _SHT11_H_/*SHT11相关命令#define TEM_TEST#define HUM_TEST#define REG_READ#define REG_WRITE#define FUNCTION_SET /* SHT11端口定义0x03/ 温度检测命令0x05/ 湿度检测命令0x07/ 读寄存器0x06/ 写寄存器0x01/ 设置 SHT11的工作精度为 8

42、位/ 湿度 12 位温度sbit SHT11_DATA=P20;sbit SHT11_SCK=P22;uchar flag_tempeture=0; / 显示温度位置的标志uchar flag_humidity=0; / 显示湿度位置的标志uchar code str1= 0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/温度图标清除没不要的显示uchar code str6_sht11=%RH uchar code str4_sht11=humi=; uchar code str2_sht11=temp=; uchar code str7_sht11= ;/

43、/* 函数名称 :Delay() 函数功能 :SHT11 部延时 */ void Delay()/*函数名称 :Delay_Ms()函数功能 :SHT11 检测等待延时函数说明 :11ms/55ms/210ms 分别对应 8 位/12 位 /14 位 测量结果 对应的形参为 N 则延时 Nms void Delay_Ms(uint ms)uint i,j;for(i=ms;i0;i-) for(j=112;j0;j-); /* 函数功能 :SHT11 启动时序*void SHT11_Start()SHT11_SCK=1;SHT11_DATA=1;Delay();SHT11_DATA=0;Del

44、ay();SHT11_SCK=0;Delay();SHT11_SCK=1;Delay();SHT11_DATA=1; /*函数名称: SHT11_Sendbyte(uchar dat) 函数功能 : 向 SHT11发送 8bite 数据 */ void SHT11_Sendbyte(uchar dat) uchar i;SHT11_SCK=0;Delay(); for(i=0;i8;i+)if(dat&0x80)SHT11_DATA=1;Delay();elseSHT11_DATA=0;Delay(); dat=dat1; SHT11_SCK=1; Delay(); SHT11_SCK=0;/

45、* 函数名称 SHT11_Answer() : 函数功能 : 检测 SHT11的响应信号 (在第九个时钟周期 ) */ void SHT11_Answer() SHT11_SCK=1; Delay(); while(SHT11_DATA=1); SHT11_SCK=0; SHT11_DATA=1;/* 函数名称: SHT11_Test_Finish() 函数功能 : 检测 SHT11温湿度检测是否完毕 */ void SHT11_Test_Finish() while(SHT11_DATA=1);函数名称: SHT11_Receivebyte() 函数功能 : 从 SHT11接收 8bite

46、数据uchar SHT11_Receivebyte() uchar i; uchar dat;SHT11_SCK=0; Delay();for(i=0;i8;i+) SHT11_SCK=1; Delay(); dat=dat2.47V 当位 6为 1时表明 VDD2.47V即电量不足 位 0 表明当前的测量分辨率当位 0为 1时表明测量精度: 8位/ 湿度 12 位温度当位 0 为 0 时表明测量精度: 12 位湿度 14 位温度 默认为 0*/uchar SHT11_Read_Register(uchar command)uchar dat;SHT11_Start();SHT11_Sendb

47、yte(command); SHT11_Answer();dat=SHT11_Receivebyte();SHT11_End();return(dat);/*函数名称 :SHT11_Measure(uchar command,uint time); 函数功能 : 设置 SHT11检测功能 ,并返回相应的检测结果 函数说明 :command 形参用于设定温度检测还是湿度检测 , time 形参用于设定检测过程中的等待时间,以确定检测结果的位数 11ms/55ms/210ms 分别对应 8 位 /12 位 /14 位uint SHT11_Measure(uchar command,uchar ti

48、me)uint dat=0;uchar data_high,data_low;SHT11_Start();SHT11_Sendbyte(command);SHT11_Answer();Delay_Ms(time);SHT11_Test_Finish(); data_high=SHT11_Receivebyte(); MCU_Answer();data_low=SHT11_Receivebyte();SHT11_End();dat=(dat|data_high);dat=(dat100.0) flag_tempeture=1;else if(tempeture10.0) flag_tempetu

温馨提示

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

评论

0/150

提交评论