第四次无线传感器网络实验.doc
- 格式:doc
- 大小:265.52 KB
- 文档页数:7
一、实验背景随着物联网技术的飞速发展,无线传感器网络(Wireless Sensor Networks,WSN)作为一种重要的信息获取和传输手段,在军事、环境监测、智能交通、智能家居等领域得到了广泛应用。
为了深入了解无线传感器网络的工作原理和关键技术,我们进行了本次实验。
二、实验目的1. 熟悉无线传感器网络的基本概念和组成;2. 掌握无线传感器网络的通信协议和拓扑结构;3. 熟悉无线传感器网络的编程与调试方法;4. 通过实验,提高动手能力和实践能力。
三、实验内容1. 无线传感器网络概述无线传感器网络由传感器节点、汇聚节点和终端节点组成。
传感器节点负责感知环境信息,汇聚节点负责收集和转发数据,终端节点负责处理和显示数据。
传感器节点通常由微控制器、传感器、无线通信模块和电源模块组成。
2. 无线传感器网络通信协议无线传感器网络的通信协议主要包括物理层、数据链路层和网络层。
物理层负责无线信号的传输,数据链路层负责数据的可靠传输,网络层负责数据路由和传输。
3. 无线传感器网络拓扑结构无线传感器网络的拓扑结构主要有星形、树形、网状和混合形等。
星形拓扑结构简单,但易受中心节点故障影响;树形拓扑结构具有较高的路由效率,但节点间距离较长;网状拓扑结构具有较高的可靠性和路由效率,但节点间距离较远。
4. 无线传感器网络编程与调试本实验采用ZigBee模块作为无线通信模块,利用IAR Embedded WorkBench开发环境进行编程。
实验内容如下:(1)编写传感器节点程序,实现数据的采集和发送;(2)编写汇聚节点程序,实现数据的收集、处理和转发;(3)编写终端节点程序,实现数据的接收和显示。
5. 实验步骤(1)搭建实验平台,包括传感器节点、汇聚节点和终端节点;(2)编写传感器节点程序,实现数据的采集和发送;(3)编写汇聚节点程序,实现数据的收集、处理和转发;(4)编写终端节点程序,实现数据的接收和显示;(5)调试程序,确保各节点间通信正常;(6)观察实验结果,分析实验现象。
无线传感实验报告无线传感实验报告引言无线传感技术是一种基于无线通信的传感器网络技术,它可以实时地感知、采集和传输环境中的各种信息。
本实验旨在通过搭建一个简单的无线传感网络,探索其在实际应用中的潜力和限制。
实验目的1.了解无线传感技术的基本原理和应用领域。
2.学习搭建无线传感网络的基本步骤和方法。
3.研究无线传感网络在环境监测、智能家居等方面的实际应用。
实验步骤1.硬件准备:准备一台主控节点和多个从属节点,主控节点负责接收和处理从属节点发送的数据。
2.网络搭建:通过无线通信模块将主控节点和从属节点连接起来,形成一个无线传感网络。
3.传感器连接:将各个从属节点上的传感器与主控节点相连接,实现数据的采集和传输。
4.数据采集:设置从属节点的采样频率和采样范围,开始采集环境中的各种数据。
5.数据传输:从属节点将采集到的数据通过无线通信模块发送给主控节点。
6.数据处理:主控节点接收到数据后,进行数据处理和分析,得出有用的信息。
实验结果通过本实验,我们成功搭建了一个简单的无线传感网络,并实现了环境数据的采集和传输。
在实际应用中,无线传感技术可以广泛应用于环境监测、智能家居、农业等领域。
例如,在环境监测方面,我们可以通过无线传感网络实时监测空气质量、温湿度等参数,并及时采取相应措施保障人们的健康。
在智能家居方面,无线传感技术可以实现家庭设备的自动控制和远程监控,提高生活的便利性和舒适度。
在农业方面,无线传感技术可以监测土壤湿度、光照强度等参数,帮助农民科学种植,提高农作物的产量和质量。
实验总结通过本次实验,我们深入了解了无线传感技术的原理和应用。
无线传感网络可以实现分布式的数据采集和传输,具有灵活性和可扩展性。
然而,在实际应用中,我们也发现了一些问题和挑战。
首先,无线传感网络的能耗问题仍然存在,如何延长节点的电池寿命是一个需要解决的关键问题。
其次,无线传感网络的安全性也需要重视,如何保护数据的隐私和防止网络攻击是一个亟待解决的问题。
一、实验目的1. 了解无线传感网络的基本概念、组成和结构。
2. 掌握无线传感网络的基本操作和实验方法。
3. 通过实验,验证无线传感网络在实际应用中的可靠性和有效性。
二、实验内容1. 无线传感网络基本概念及组成无线传感网络(Wireless Sensor Network,WSN)是一种由大量传感器节点组成的分布式网络系统,用于感知、采集和处理环境信息。
传感器节点负责采集环境信息,并通过无线通信方式将信息传输给其他节点或中心节点。
无线传感网络主要由以下几部分组成:(1)传感器节点:负责感知环境信息,如温度、湿度、光照等。
(2)汇聚节点:负责将多个传感器节点的信息进行融合、压缩,然后传输给中心节点。
(3)中心节点:负责收集各个汇聚节点的信息,进行处理和分析,并将结果传输给用户。
2. 无线传感网络实验(1)实验环境硬件平台:ZigBee模块、ZB-LINK调试器、USB3.0数据线、USB方口线两根、RJ11连接线;软件平台:WinXP/Win7、IAR开发环境、SmartRFFlashProgrammer、ZigBeeSensorMonitor。
(2)实验步骤① 连接硬件设备,搭建无线传感网络实验平台;② 编写传感器节点程序,实现环境信息的采集;③ 编写汇聚节点程序,实现信息融合和压缩;④ 编写中心节点程序,实现信息收集和处理;⑤ 测试无线传感网络性能,包括数据采集、传输、处理等。
(3)实验结果分析① 数据采集:传感器节点能够准确采集环境信息,如温度、湿度等;② 传输:汇聚节点将多个传感器节点的信息进行融合和压缩,传输给中心节点;③ 处理:中心节点对采集到的信息进行处理和分析,生成用户所需的结果;④ 性能:无线传感网络在实际应用中表现出较高的可靠性和有效性。
三、实验总结1. 无线传感网络是一种新型的网络技术,具有广泛的应用前景;2. 通过实验,我们掌握了无线传感网络的基本操作和实验方法;3. 无线传感网络在实际应用中具有较高的可靠性和有效性,能够满足各种环境监测需求。
一、实训背景随着物联网技术的飞速发展,无线传感网作为物联网的核心技术之一,在环境监测、智能家居、工业控制等领域扮演着越来越重要的角色。
为了提高我们对无线传感网技术的理解和应用能力,我们开展了为期两周的无线传感网实训。
二、实训目标1. 理解无线传感网的基本原理和组成。
2. 掌握无线传感网的搭建和配置方法。
3. 学习无线传感网的数据采集、传输和处理技术。
4. 熟悉无线传感网在实际应用中的案例。
三、实训内容1. 无线传感网基本原理无线传感网(Wireless Sensor Network,WSN)是由大量的传感器节点组成,通过无线通信方式相互连接,协同工作,实现对特定区域进行感知、监测和控制的一种网络系统。
传感器节点通常由传感模块、处理模块、通信模块和能量供应模块组成。
2. 无线传感网搭建与配置实训中,我们使用ZigBee模块搭建了一个简单的无线传感网。
首先,我们需要准备ZigBee模块、无线模块、传感器、电源等硬件设备。
然后,通过编程实现对传感器数据的采集、处理和传输。
在搭建过程中,我们学习了以下内容:- ZigBee模块的硬件连接和编程;- 传感器数据的采集和处理;- 无线通信协议的配置;- 网络拓扑结构的构建。
3. 无线传感网数据采集与传输在实训中,我们使用了温度传感器和湿度传感器进行数据采集。
通过编程,我们将采集到的数据发送到上位机进行显示和分析。
我们学习了以下内容:- 传感器数据的实时采集;- 数据的格式化和压缩;- 无线通信协议的数据传输;- 数据的加密和安全传输。
4. 无线传感网应用案例为了更好地理解无线传感网在实际应用中的价值,我们分析了以下几个案例:- 环境监测:通过无线传感网对空气质量、水质等进行实时监测;- 智能家居:利用无线传感网实现对家庭设备的远程控制和能源管理;- 工业控制:利用无线传感网对生产线进行实时监控和故障预警。
四、实训成果通过本次实训,我们取得了以下成果:1. 掌握了无线传感网的基本原理和组成;2. 熟悉了无线传感网的搭建和配置方法;3. 学会了无线传感网的数据采集、传输和处理技术;4. 深入了解了无线传感网在实际应用中的案例。
无线传感器网络在环境监测中的应用实验无线传感器网络(Wireless Sensor Networks,WSN)是一种新型的无线通信网络,由大量的低成本、低功耗传感器节点组成,能够感知环境信息并将数据通过网络传输,实现对环境的实时监测与控制。
WSN在环境监测领域具有广阔的应用前景,本文将针对WSN在环境监测中的应用进行实验探讨。
首先,WSN在大气环境监测方面具有重要作用。
传感器节点可以通过测量空气中的温度、湿度、大气压力和空气质量等参数,实时监测大气环境的变化。
传感器节点可以通过自组织的方式建立网络,实现数据的汇聚和传输。
研究人员可以通过对传感器数据的分析和处理,了解空气中的污染物质浓度、天气变化等信息,为环境监测和预测提供数据支持。
其次,WSN在水资源监测方面具有广泛应用。
传感器节点可以被部署在各种水资源监测点,通过测量水体的溶解氧、浑浊度、温度、PH值等水质指标,实时监测水体的质量和变化。
通过建立WSN可以将传感器节点之间的数据进行汇聚和传输,形成一个水资源监测网络。
这个网络可以为水资源保护和管理部门提供水体质量的实时监测数据,以便及时采取措施,维护水体的生态平衡。
再次,WSN在农业生产中的应用也备受关注。
通过部署传感器节点在农田中,可以实时监测土壤的温度、湿度、养分含量等指标。
这些数据可以用于农田的精准灌溉、农作物的生长监测等方面。
通过WSN,农民可以通过移动设备随时了解农田的实时情况,以便合理安排灌溉和施肥等农事活动,提高农作物产量和质量。
此外,WSN也可以应用于城市环境监测中。
传感器节点可以被部署在城市的各个角落,监测城市中的空气质量、噪声、交通流量等环境参数。
通过在城市中建立WSN,可以实现对城市环境的实时监测和预警。
相关部门可以通过对传感器数据的分析,及时调整城市交通流量,改善城市空气质量,提高城市的生活质量。
总结起来,无线传感器网络在环境监测中具有广泛的应用前景。
通过部署大量的传感器节点,实时感知环境信息并将数据传输到中心节点,可以实现对大气、水资源、农业和城市环境的全面监测和控制。
-------无线传感网络实验报告学院:信息工程学院专业:网络工程学号:201216213姓名:张新龙LEACH协议LEACH协议简介分簇算法LEACH 协议是Wendi B. Heinzelman , AnanthaP. Chandrakasan , Hari Balakrishnan (MIT ,电子与计算机系) 2000 年提出的分层的传感器网络协议, 它采用分层的网络结构. LEACH,协议是通过基于簇的操作使WSN减少功耗,LEACH,协议的目的是在网络中动态地选择传感器节点作为簇头并形成簇。
在LEACH 算法中, 节点自组织成不同的簇, 每个簇只有一个簇首.各节点独立地按照一定概率决定自己是否做簇首,周期性的进行簇首选举和网络重组过程, 避免了簇首节点能耗过多, 影响网络寿命. LEACH 算法建立在所有节点都是平等且无线电信号在各个方向上能耗相同的假设上。
LEACH协议有时候也会动态地改变簇的活跃动态,如果采用高功率的方式使网络中的所有传感器节点与汇聚节点进行通信。
LEACH协议原理LEACH 协议分为两个阶段操作, 即簇准备阶段(set - up phase)和就绪阶段(ready phase). 为了使能耗最小化, 就绪阶段持续的时间比簇准备阶段长簇准备阶段和就绪阶段所持续的时间总和称为一轮(round). [ 7-8]在簇准备阶段, 随机选择一个传感器节点作为簇首节点(cluster head node), 随机性确保簇首与Sink 节点之间数据传输的高能耗成本均匀地分摊到所有传感器节点. 簇首节点选定后, 该簇首节点对网络中所有节点进行广播, 广播数据包含有该节点成为簇首节点的信息. 一旦传感器节点收到广播数据包, 根据接收到的各个簇首节点广播信号强度, 选择信号强度最大的簇首节点加入, 向其发送成为其成员的数据包.以便节省能量.簇头建立阶段:初始阶段,每个节点从0和1中随机产生一个数,如果这个数小于阀值T(n),该节点就成为当前轮的簇头。
《无线传感器网络》 实验指导书机械与电气工程学院郑晖编广州大学 2011年目录1实验一、处理器基础实验 (4)1.1 实验目的 (4)1.2 参考资料 (4)1.3 实验内容及步骤 (4)1.3.1开发环境搭建 (4)1.3.2了解开发环境的使用 (4)1.3.3基本I/O读写 (6)1.3.4简单A/D转换 (7)1.3.5基本定时 (8)1.3.6PWM输出 (8)2实验二、点到点无线通信实验 (9)2.1 实验目的 (9)2.2 参考资料 (9)2.3 实验内容及步骤 (9)2.3.1发送模块代码分析 (9)2.3.2接收模块代码分析 (9)2.3.3运行示例项目 (9)2.3.4应用设计 (10)3实验三、无线传感器组网实验 (11)3.1 实验目的 (11)3.2 参考资料 (11)3.3 实验内容及步骤 (11)3.3.1协调器模块代码分析 (11)3.3.2路由器模块代码分析 (12)3.3.3终端模块代码分析 (12)3.3.4运行示例项目 (14)3.3.5修改示例项目 (14)4大作业 (15)4.1 目的 (15)4.2 任务 (15)4.2.1题目1:LED跑马灯控制 (15)4.2.2题目2:超声波测距 (15)4.2.3题目3:语音通信 (15)4.2.4题目4:其它经老师同意的题目 (15)实验课时安排建议实验名称 课时实验一处理器基础实验 2实验二点到点无线通信实验 24实验三无线传感器组网实验1 实验一、处理器基础实验实验目的1.11. 掌握开发环境的搭建方法;2. 掌握基本调试步骤及方法;3. 掌握基本I/O、定时器、A/D的编程方法;1.2 参考资料1. IAR安装步骤说明:“C51RF-CC2530系统使用说明书\ IAR安装与使用.pdf”;2. 无线龙CC2530模块说明书:“C51RF-CC2530-PK使用说明书\C51RF-CC2530-PK使用说明书V1.01.pdf”;3. IAR开发环境使用方法:“C51RF-CC2530系统使用说明书\ IAR IDE用户手册.pdf”;4. CC2530芯片说明书:“C51RF-CC2530数据手册\CC253x.pdf”;5. 本实验指导书所附例程;“C51RF-CC2530-PK使用说明书\CC25306. 无线龙CC2530模块基础实验说明:基础实验V1.00.pdf”;7. 无线龙CC2530模块基础实验例程:“C51RF-CC2530演示程序\CC2530单片机基础实验”;1.3 实验内容及步骤1.3.1 开发环境搭建按照参考资料[1]、[2]的指导,安装IAR软件,安装仿真器驱动程序。
无线传感器网络实验报告实验报告:无线传感器网络的应用与优化探究一、实验目的本次实验旨在探究无线传感器网络的应用与优化,具体包括传感器网络的组网方式、数据传输协议的选择与优化等。
二、实验原理及工具1.传感器网络组网方式传感器网络通常采用星型、树型、网状三种组网方式。
星型组网结构简单,但单点故障时整个系统会瘫痪;树型组网结构便于数据的传输与管理,但在拓扑结构发生变化时需要重新组网;网状组网结构形式多样,具有较强的灵活性,但网络维护复杂。
本实验将分别对比三种组网方式的性能差异。
2.数据传输协议的选择与优化实验将分别采用无线传感器网络中常用的LEACH、BCP、SPIN协议进行数据传输。
并通过测试比较它们在不同条件下的性能表现,优化协议选择与参数设置,提高网络的传输效率和能耗。
3.实验工具实验中将使用Contiki操作系统,该操作系统是专门为无线传感器网络设计的,支持多种协议,并提供了实验所需的模拟环境。
三、实验内容及步骤1.组网方式的测试(1)搭建星型、树型、网状三种不同的传感器网络拓扑结构。
(2)分别记录每种网络结构在传输运行时的稳定性、延迟、能耗等性能指标,并进行对比分析。
2.数据传输协议的测试及优化(1) 安装Contiki操作系统,选择LEACH、BCP、SPIN协议,并设置相应的参数进行数据传输实验。
(2)改变实验条件(如节点密度、网络负载等),测试和比较三种协议在不同条件下的性能表现。
(3)根据实验结果,优化协议的参数设置,并比较优化后的协议和原始协议的性能差异。
四、实验结果及讨论1.组网方式的测试实验结果显示,星型组网方式具有简单易实现、维护成本低的特点,但存在单点故障的风险,一旦发生节点故障,整个系统将瘫痪。
树型组网方式在数据传输和管理方面具有一定的优势,但拓扑结构变化时需要重新组网。
网状组网方式相对灵活,但也增加了网络维护的复杂性。
根据实验结果,可以根据具体应用场景的要求选择最适合的组网方式。
无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其她各种因素,节点能源一般不可补充。
因而降低能耗、延长节点使用寿命就是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗与计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗就是延长网络生存时间的有效手段。
同时,研究表明节点通信时Radio模块在数据收发与空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题就是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。
现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。
接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导与接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:X-MAC最大的优点就是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时与收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。
《无线传感器网络实验报告》指导教师:卫琳娜班级:物联网131班实验箱序号:3,13等组员姓名学号:程少锋(注:报告中有部分实验截图)实验日期:2016年4月28日3,4节实验一、软硬件平台使用[1]感知 RF2 实验箱-WSN 系统结构该系统根据不同的情况可以由一台计算机,一套网关,一个或多个网络节点组成。
系统大小只受PC 软件观测数量,路由深度,网络最大负载量限制。
感知 RF2 实验箱无线传感器实验平台内配置ZigBee2007/PRO 协议栈在没有进行网络拓补修改之前支持 5 级路由,31101个网络节点。
传感器网络系统结构图如下图所示。
[2]感知 RF2 实验箱-WSN 系统工作流程基于ZigBee2007/PRO协议栈无线网络,在网络设备安装过程,架设过程中自动完成。
完成网络的架设后用户便可以由PC 机发出命令读取网络中任何设备上挂接的传感器的数据,以及测试其电压。
[3]感知RF2 实验箱-WSN 硬件介绍感知 RF2物联网实验箱的无线传感器网络开发平台主要硬件包括:C51RF-CC2530-WSN 仿真器、ZigBee 无线高频模块、节点底板、传感器模块以及其它配套线缆等。
网关节点由节点底板+ZigBee 无线高频模块组成。
传感器节点由节点底板+ZigBee 无线高频模块组成+传感器模块组成。
路由节点硬件组成与传感器节点相同,软件实现功能不同。
[4]实验目的:熟悉实验平台前期架构,便于后面程序的烧写。
[5]实验步骤:1安装必要软件(实际实验室中软件已经下载安装完毕,只要通过仿真器C51RF-3进行程序在线下载、调试、仿真即可)1)在实验室机器E盘的《无线龙实验箱相关资料/无线传感器实验资料201604》中安装 Zi gBee开发集成环境IAR7.51A,详细请参考“\C51RF-CC2530-WSN 使用说明书\”目录下的“IAR安装与使用”。
2)安装传感器网络PC 显示软件环境,软件位于“\C51RF-CC2530-WSN 开发软件\C51RF-CC2530-WSN 监控软件”目录下的“Framework Version 2.0.exe”3)安装网关与计算机 USB连接驱动,驱动位于“\C51RF-CC2530-WSN 开发软件\”目录下的“CP2102”。
南昌航空大学实验报告二O 一六年四月20 日课程名称:无线传感器网络实验名称:CC2530 数据采集及AD 转换实验班级:姓名:指导教师评定:签名:一、实验目的1. 通过实验掌握CC2530 芯片GPIO和AD转换寄存器的配置方法2. 掌握AD 转换函数程序的编程方法3. 掌握光敏传感器的操作使用4. 掌握光照传感器采集程序的编程方法二、实验内容1. 在IAR 集成开发环境中编写光照传感器采集程序,设计实验检测光照的强度,通过AD转换将光照强度通过串口调试助手显示出来。
三、基础知识1. 光照传感器介绍采用GL7516 光敏电阻进行光照强度的检测。
光敏电阻式一种半导体材料制成的电阻,其电导率随着光照度的变化而变化。
利用这一特性可以制成不同形状和受光面积的光敏电阻。
GL7516 就是其中的一种,光越强阻值越大。
光敏电阻工作原理简介:本实验采用光敏电阻来采集光照度信息。
它的工作原理是基于光电效应。
在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻。
为了增加灵敏度,两电极常做成梳状。
构成光敏电阻的材料有金属的硫化物、硒化物、碲化物等半导体。
半导体的导电能力取决于半导体导带内载流子数目的多少。
当光敏电阻受到光照时,价带中的电子吸收光子能量后跃迁到导带,成为自由电子,同时产生空穴,电子—空穴对的出现使电阻率变小。
光照愈强,光生电子—空穴对就越多,阻值就愈低。
当光敏电阻两端加上电压后,流过光敏电阻的电流随光照增大而增大。
入射光消失,电子‐空穴对逐渐复合,电阻也逐渐恢复原值,电流也逐渐减小。
2. 光照传感器的接口电路光照传感器的接口电路如下图所示。
通过CC2530 的AD 口,采集光照传感器和固定电阻分压后的电压值,从而感知光照传感器随光强变化的情况。
3.AD 转换寄存器CC2530的ADC支持14位模拟数字转换,转换后的有效数字位高达12位。
ADC 包括一个8路独立可配置通道的模拟多路转换器和一个参考电压发生器。
CC2530的ADC转换结果可以通过DMA方式写入存储器,也可直接读取ADC寄存器获取。
CC2530的ADC具有多种不同的运行模式。
CC2530的P0口可作为ADC输入,其中AIN0~AIN7分别对应P0.0~P0.7。
ADC 输入可配置成单端或差动输入,如选择差动输入,则对应的输入分别为AIN0~AIN1、AIN2~AIN3、AIN4~AIN5、AIN6~AIN7,需要注意引脚电压不能为负电压,也不能大于VDD。
在差动输入中,每个差动输入的转换模式是不一样的。
除了AIN0~AIN7作为ADC输入之外,片内温度传感器也可以作为测量温度的ADC输入,AVDD5/3电压同样可以作为一个ADC输入。
AVDD5/3作为ADC输入主要用于电池测量,需要注意的是不能以待测的电池电压作为参考电压。
CC2530ADC有两种转换方式,第一种是连续转换,此时需要配置ADCCON1 和ADCCON2 寄存器,寄存器APCFG的设置将会影响连续序列转换的通道数,CC2530的8路ADC输入不一定要求全部设置为模拟输入。
如果只用到了序列转换中的部分通道,可以屏蔽APCFG寄存器中其他通道的相应模拟输入位,此时该通道在转换时将被跳过;第二种是单次转换,此时只需要配置寄存器ADCCON3 即可。
(具体寄存器配置见数据手册)4. 实验说明P0DIR=0;//定义P0口为输入口,光照传感器接P0_0口ADCIF=0;//中断转换标志位ADCCON3=0xA0;//参考电压选为电源电压3.3伏,10位精度,单通道AIN0四、实验过程1. 连接仿真器到插接着光照传感器板的CC2530节点;同时连接好USB转串口线,并对USB232排针用短接冒短接;2. 参照实验一中 IAR 新建工程及设置的方法,新建一个工程LIGHT,并修改LIGHT 的工程设置;3. 创建light.c 和sensor.c并加入到工程LIGHT 中;具体代码见后面截图;4. 编译LIGHT工程,成功后,下载并运行。
CC2530会循环采集光照传感器和固定电阻分压后的电压值,转换为光照度(不精确),并通过串口发送出来;PC虚拟机中通过串口调试助手观察光照传感器的值,可对光敏传感器进行适当遮挡并观察串口调试助手中输出的光照度的变化。
5. 源代码/************* light.c **************/#include <ioCC2530.h>#include <stdio.h>#define uint16 unsigned intextern void Sensor_PIN_INT(void);char uart_buffer;void Delayms(uint16 xms)//i=xms延时毫秒{uint16 i,j;for (i=xms; i>0; i--)for (j=1175; j>0; j--);}void UartTX_Send_String(char *Data,int len)//串口发送函数{int j;for(j=0;j<len;j++){U0DBUF = *Data++;while(UTX0IF == 0);UTX0IF = 0;}}void UartTX_Send_Data(char Data,int len)//串口发送函数{int j;for(j=0;j<len;j++){U0DBUF = Data++;while(UTX0IF == 0);UTX0IF = 0;}}#pragma vector=URX0_VECTOR//uart0中断函数__interrupt void uart0(void){URX0IF = 0;//清中断标志P1_0=~P1_0;uart_buffer = U0DBUF;UartTX_Send_Data(uart_buffer,1);}float Read_LightSensor()//读出AD口的数据{float result;uint16 U;uint16 m;P0DIR=0;//定义P0口为输入口ADCIF=0;//中断标志位ADCCON3=0xA0;//参考电压选为电源电压3.3伏 while(!ADCIF);//等待U=ADCL;m=ADCH;U|=m<<8;//把存储结果转化为10进制数值U>>=6;result=(U*3.3)/512;//计算实际电压值result=8163-(result*2700);//计算光照的数据 if(result < 0)result=0;return result;}char buftestSensor[10];char *LightSensor(void){static float v;v=Read_LightSensor();sprintf(buftestSensor,"%3.lf",v);return buftestSensor;}void main(void){char *res;Sensor_PIN_INT();UartTX_Send_String("Testing...\r\n",12);while(1){P1_0=~P1_0;res=LightSensor();UartTX_Send_String("LIGHT = ",8);UartTX_Send_String(res,10);UartTX_Send_String("\r\n",2);Delayms(3000);}}/************* sensor.c ************/#include <ioCC2530.h>void Sensor_PIN_INT(void){P1DIR |= 0x01;//设置P1.0为输出方式P1_0 = 1;//熄灭LEDCLKCONCMD &= ~0x40;//选择32M晶振while(!(SLEEPSTA & 0x40));//等待XSOC稳定CLKCONCMD = 0xb8;//TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04;//关闭不用的RC振荡器PERCFG = 0x00;//位置1 P0 口P0SEL = 0x3c;//P0用作串口U0CSR |= 0x80;//UART方式U0GCR |= 10;//baud_e = 10U0BAUD |= 216;//波特率为57600UTX0IF = 1;U0CSR |= 0x40;//允许接收IEN0 |= 0x84;//开总中断,接收中断APCFG = 0x1;//P0.0为ADC口采集光照传感器的电路信号}五、实验心得本次实验主要是熟悉传感器的使用,通过使用光敏传感器监测光照强度的实验,了解到光照传感器的工作原理、使用和配置方法,进一步熟悉了对于使用传感器时I/O口相关寄存器的配置,也巩固了对寄存器配置的理解和运用,更积累了使用传感器的经验和方法。
实验中还用到了ADC转换和串口通信,整个过程是先监测传感器引脚上的信号,然后根据参考电压算出电压值,然后再算出光照强度值通过串口发送至电脑,因此也让我进一步掌握了ADC和串口的寄存器配置及实现细节,更清楚其内部原理,对以后的学习实验有很大帮助。