无线传感网智能组网设计实践--实验指导书

上传人:dao****ing 文档编号:159238937 上传时间:2022-10-08 格式:DOC 页数:26 大小:705.43KB
收藏 版权申诉 举报 下载
无线传感网智能组网设计实践--实验指导书_第1页
第1页 / 共26页
无线传感网智能组网设计实践--实验指导书_第2页
第2页 / 共26页
无线传感网智能组网设计实践--实验指导书_第3页
第3页 / 共26页
资源描述:

《无线传感网智能组网设计实践--实验指导书》由会员分享,可在线阅读,更多相关《无线传感网智能组网设计实践--实验指导书(26页珍藏版)》请在装配图网上搜索。

1、无线传感网智能组网设计实验指导书(实验类)实验 1. Zigbee基本通信实验1.1 实验目的 了解实Zigbee的原理及在软件上如何方便使用; 掌握在Windows CE 6.0下进行UART编程的方法。1.2 实验设备 硬件:EduKit-IV嵌入式教学实验平台、Mini270核心子板、Zigbee模块、PC 机; 软件:Windows 2000/NT/XP 以及Windows 平台下的VS2005开发环境。1.3 实验内容 利用Microsoft Visual Studio 2005编写一个可运行于EduKit-IV型实验箱Windows CE 6.0操作系统上的应用程序; 学习和掌握E

2、duKit-IV教学实验平台中通过UART与Zigbee模块通信,实现对Zigbee模块的配置和对等网模式下的通信。1.4 实验原理1.4.1 Zigbee起源无线网络系统源自美国军方的“电子尘埃(eMote)”技术,是目前国内、外研究的热点技术之一。该系统基于IEEE802.15.4规范的无线技术,工作在2.4 GHz或868928 MHz,用于个人区域网和对等网状网络。ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术。它是一种介于红外无线技术和蓝牙之间的技术提案。主要用于近距离无线连接。它依据802.15.4标准。在数千个微小的传感器之间相互协调实现通信。

3、这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。相对于现有的各种无线通信技术,无线ZigBee网络技术将是近距离通信最低功耗和成本的技术。这一技术目前正向工业、民用方向推广和发展,市场前景广阔。包括国家863计划等项目都在进行相关的研究工作。因此,本文介绍的基于ZigBee技术的嵌入式无线网络平台,这一无线网络平台可应用于工业控制、信息家电、安保系统、环境监测、港务运输、煤矿安全、农业自动化和医疗监护设备等许多行业和设备。具有广泛的适应性。并能弥补其他无线通信技术的不足,保证其安全性,降低服务成本。1.4.2 ZigBee网络配

4、置1. 网络设备组成。ZigBee网络设备主要包括网络协调器、全功能设备和精简功能设备3类。l 网络协调器:包含所有的网络消息,是3种设备类型中最复杂的一种,存储容量最大、计算能力最强。功能是发送网络信标、建立一个网络、管理网络节点、存储网络节点信息、寻找一对节点间的路由消息、不断地接收信息。l 全功能设备:全功能设备(Full-Function Device,FFD)可以担任网络协调者,形成网络,让其他的FFD或精简功能装置(RFD)联结。FFD具备控制器的功能,可提供信息双向传输。其设备特性有:附带由标准指定的全部IEEE 802.15.4功能和所有特征;更强的存储能力和计算能力可使其在空

5、闲时起网络路由器作用;也能用作终端设备。l 精简功能设备:精简功能设备(Reduced-Function Device,RFD)只能传送信息给FFD或从FFD接收信息,其设备特性有:附带有限的功能来控制成本和复杂性;在网络中通常用作终端设备; RFD由于省掉了内存和其他电路,降低了ZigBee部件的成本,而简单的8位处理器和小协议栈也有助于降低成本。2. 网络节点类型。从网络配置上,ZigBee网络中有3种类型的节点:ZigBee协调点、ZigBee路由节点和ZigBee终端节点。l ZigBee协调点:ZigBee协调点在IEEE 802.15.4中也称为PAN(Personal Area

6、Network)协调点(ZigBee Coordinator,ZC),在无线传感器网络中可以作为汇聚节点。ZigBee协调点必须是FFD,一个ZigBee网络只有一个ZigBee协调点,它往往比网络中其他节点的功能更强大,是整个网络的主控节点。它负责发起建立新的网络、设定网络参数、管理网络中的节点以及存储网络中节点信息等,网络形成后也可以执行路由器的功能。ZigBee协调点是3种类型ZigBee节点最为复杂的一种,一般由交流电源持续供电。l ZigBee路由节点:ZigBee路由节点(ZigBee Router,ZR)也必须是FFD。ZigBee路由节点可以参与路由发现、消息转发,通过连接别的

7、节点来扩展网络的覆盖范围等。此外,ZigBee路由节点还可以在它的个人操作空间(POS,Personal Operating Space)中充当普通协调点(IEEE 802.15.4称为协调点)。普通协调点与ZigBee协调点不同,它仍然受ZigBee协调点的控制。l ZigBee终端节点:ZigBee终端节点(ZigBee EndDevice,ZE)可以是FFD或者RFD,它通过ZigBee协凋点或者ZigBee路由节点连接到网络,但不允许其他任何节点通过它加入网络,ZigBee终端节点能够以非常低的功率运行。3. 网络工作模式。ZigBee网络的工作模式可以分为信标(Beacon)和非信标

8、(Non-beacon)2种模式,信标模式实现了网络中所有设备的同步工作和同步休眠,以达到最大限度的功耗节省,而非信标模式则只允许ZE进行周期性休眠,ZC和所有ZR设备必须长期处于工作状态。信标模式下,ZC负责以一定的间隔时间(一般在15ms4min)向网络广播信标帧,2个信标帧发送之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区2个部分,消息只能在网络活动区的各时槽内发送。非信标模式下,ZigBee标准采用父节点为ZE子节点缓存数据,ZE主动向其父节点提取数据的机制,实现ZE的周期性(周期可设置)休眠。网络中所有父节点需为自己的ZE子节点缓存数据帧,所有ZE子节点的大多数时间都处于

9、休眠模式,周期性的醒来与父节点握手以确认自己仍处于网络中,其从休眠模式转入数据传输模式一般只需要15ms。1.4.3 ZigBee的网络拓扑结构ZigBee主要采用了3种组网方式:星型网、网状网和簇状网。其中网络协调器相当于本试验中的中心节点,全功能设备相当于本试验中的路由节点,精简功能设备相当于本试验中的终端节点。l 如图1所示在星型网中,一个功能强大的主器件位于网络的中心,作为网络协调者,其它的主器件或从器件分布在其覆盖范围内。由于网络协调者定义了整个网络的时分复用和多址接人方式,因此星型网的控制和同步都比较简单,通常用在设备薯莨比较少的场合。图1 星型网l 如图2所示,网状网是由主器件连

10、接在一起形成的,网状网络拓扑结构的网络具有强大的功能,网络可以通过“多级跳”的方式来通信;该拓扑结构还可以组成极为复杂的网络;网络还具备自组织、自愈功能;图2 网状网l 星型网和网状网相结合则形成了簇状网,如图3所示。各个子网内部都以星型网连接。其主器件又以对等的方式连接在一起。信息流首先传到同一个子网内的主节点。通过网关节点达到更高层的子网,随后继续上传,直至到达中心采集设备。中心采集设备与普通的WPAN设备相比具有更强的处理能力。簇状网可以用于覆盖范围较大的区域,图3 簇状网在上述网络拓扑结构中,网络的形成和维护通过设备间的通信自动实现,不需要人32干预网络的建立、扩展或者减小。ZigBe

11、e网络中的所有设备都被动态分配到IEEE地址。1.4.4 SZ05-ZBEE嵌入式无线通信模块介绍顺舟科技SZ05系列嵌入式无线通信模块,集成了符合ZIGBEE协议标准的射频收发器和微处理器,它具有通讯距离远、抗干扰能力强、组网灵活、性能可靠稳定等优点和特性;可实现点对点、一点对多点、多点对多点之间的设备间数据的透明传输;可组成星型、树型和蜂窝型网状网络结构。SZ05系列无线通信模块数据接口为TTL电平收发接口。可以实现数据的广播方式发送、按照目标地址发送模式,除可实现一般的点对点数据通信功能外,还可实现多点之间的数据通讯,串口通信使用方法简单便利,可以大大简短模块的嵌入匹配时间进程。SZ05

12、系列无线通信模块分为中心协调器、路由器和终端节点,这三类设备具备不同的网络功能,中心协调器是网络的中心节点,负责网络的发起组织、网络维护和管理功能;路由器负责数据的路由中继转发,终端节点只进行本节点数据的发送和接收。中心协调器、路由器和终端节点这三种类型的设备在硬件结构上完全一致,只是设备嵌入软件不同,只需通过跳线设置或软件配置即可实现不同的设备功能。表1描述了模块左侧引脚相应标识表1 模块左侧引脚说明引脚号标识功能备注1GND电源地2+5V电源正5V输入3RX1/TTLTTL 电平输入TTL 电平输入4TX1/TTLTTL 电平输出接用户系统输入RX5SGND串口RS232 信号地信号地6T

13、X2/RS232串口RS232输出接用户232 输入7RX2/RS232串口RS232输入接用户232 输出8系统保留悬空9RESET系统复位低电平复位表2描述了模块右侧引脚相应标识表2 模块右侧引脚说明引脚号标识功能备注1DATA串口数据收发指示低电平点亮,数据收发即闪烁2RUN系统运行指示低电平点亮,间隔1 秒闪烁3NET网络指示低电平点亮,中心节点建网成功点亮,从节点入网后点亮。4ALARM系统告警指示低电平点亮5SLEEP低功耗低电平进入低功耗,高电平或悬空正常运行。9CONFIG配置接口低电平有效,或加跳线帽,进入系统配置状态。1.4.5 Zigbee模块配置SZ05-ZBEE 无线

14、通信模块复位后,CONFIG引脚进入低电平状态3 秒,系统进入配置状态;高电平或悬空状态则进入工作状态。配置接口是用于对本产品的某些参数进行配置的接口,串口信号为RS232配置如表3所示:表3 配置模式时串口参数配置串口参数配置值串口波特率38400串口校验NONE数据位8停止位1设备配置选项如下所示:1. 通信信道CHANNEL设置如表4所示。表4 通信信道参数配置CHANNEL选项配置说明42.425GHZ92.450GHZE2.475GHZF2.480GHZGAUTO模式,自动选择最佳信道。2. 网络类NET_TYPE设置如表5所示。表5 网络类型参数配置NET_TYPE选项网络选项配置

15、说明备注MESH网状网主从网络,网络中心必须有唯一的中心节点。在同一个网络中,网络类型必须设置相同。STAR星型网PEER对等网非主从网,无中心节点。3. 设备类型NODE_TYPE设置如表6所示。表6 设备类型参数配置NODE_TYPE选项设备类型配置说明PAN_Coord中心节点ROUTER中继路由兼有终端设备功能END_DEVICE终端设备4. 网络号NET_ID设置如表7所示。表7 网络号参数配置NET_ID选项选项ID范围配置说明NET_ID00-FF同个网络中ID必须相同5. 数据发送模式TX_TYPE设置如表8所示。表8 数据发送模式参数配置TX_TYPE选项网络选项配置说明备注

16、BROADCAST广播模式无需目标地址。目标地址为2 字节的MAC 地址,加在数据包前即可。MASTERSLAVE主从模式中心节点必需目标地址,非中心节点无需目标地址。 POINTPOINT点对点必需目标地址。6. 设备地址MAC_ADDR设置如表9所示。表9 设备地址参数配置MAC_ADDR选项选项ID范围配置说明备注MAC_ADDR0000-FFFF中心节点为0000同个网络不能有相同地址节点7. 数据类型DATA_TYPE设置如表10所示。表10 数据类型参数配置DATA_TYPE选项数据类型配置说明ASCIIASCII码只在按目标地址发送情况下设置,在广播发送情况下无须设置。HEX16

17、进制8. 数据位DATA_BIT设置如表11所示。表11 数据位参数配置DATA_TYPE 选项数 据 类 型配 置 说 明7+1+17位数据+1位校验+1位停止需要跟数据校验设置结合起来选择。8+0+17位数据+无校验+1位停止8+1+18 位数据+1位校验+1位停止9. 波特率设置。10. 数据校验DATA_PARITY设置如表12所示。表12 数据校验参数配置DATA_PARIT选项设备类型配置说明NONE无校验选择匹配的校验类型。EVEN偶校验ODD奇校验11. 串口超时TIME_OUT设置。12. 数据源地址SRC_ADDR设置如表13所示。表13 数据源地址是否输出参数配置SRC_

18、ADR 选项数据源地址配 置 说 明NOT OUTPUT不输出源地址根据应用需要选择是否输出数据包源地址。HEX16进制输出ASCIIASCII输出l 16 进制方式输出源地址格式:2 字节源地址+有效数据;l ASCII 方式输出源地址格式:4 字节源地址+有效数据。1.4.6 数据发送格式说明1. 数据发送模式如表14所示。表14 数据发送模式表模块类型发送模式目标节点发送模式中心节点广播网内所有非中心节点数据直接发送主从或点对点目标地址的节点目标地址+数据非中心节点广播网内所有非中心节点数据直接发送主从中心节点数据直接发送点对点目标地址的节点目标地址+数据2. 数据发送帧格式如表15所示

19、。表15 数据发送帧格式发送模式数据编码数据帧格式数据直接发送不需要做任何变动目标地址+数据16 进制目标地址2字节目标地址+数据ASCII目标地址4字节目标地址+数据1.4.7 硬件连接图4 Zigbee与Min270之间的硬件连接其中引脚11和10分别连到主板的地和电源;引脚12和13分别连接到主板Extern B1区的TXD和RXD;引脚9和18分别连接到主板Extern B1区的SP1TXD和SP1RXD。1.5 实验步骤1)准备实验环境。将mini270核心子板插到主板接口槽上,将实验平台上电运行。2)按照基于Xscale270 嵌入式Windows CE开发实验与实践中所讲的将对应

20、驱动ZGB添加到系统映像NK.bin中。将此映像烧写到Min270中。3)将两个Zigbee模块分别插到两个试验箱的Extern B区,打开主板电源,等待Windows CE 6.0系统运行起来。启动后,将Embest_Zigbee.exe(通过编译Embest_Zigbee.exe应用程序工程得到)通过SD卡拷贝到已经运行了Windows CE 6.0的EduKit-IV实验平台中运行(也可以通过同步软件ActiveSync将程序直接传送到实验平台)。双击运行,出现如下图界面:图5 Embest_Zigbee应用程序初始界面4)单击上图中的Open按钮,来打开对应串口驱动。若打开成功出现如图

21、6所示界面。图6 打开串口驱动成功后的界面5)在单击Configure按钮进入配置界面,如图7所示。界面左边为默认配置选项,可以改变成自己希望的配置。图7 Zigbee模块配置参数输入界面6)在单击Apply按钮来提交配置参数,等待配置完成,如图8所示。配置完成后进入如图9所示界面。图8 Zigbee模块配置等待界面图9 Zigbee模块配置完成界面7)依次配置网内的每个Zigbee模块,配置完成后,各模块之间就可以相互通信了。此出将各Zigbee模块都设置成对等网的终端设备。如下演示地址分别为0001和为0002的两个Zigbee模块之间的通信。8)首先地址为0001的Zigbee模块给地址

22、为0002的Zigbee模块发送3344。方法为在发送文本框中输入00023344,然后单击Send按钮,也就将数据发送出去了。如图10所示。图10 Zigbee模块发送数据界面9)在地址0001向0002数据后,0002会收到数据,如图11所示。图11 Zigbee模块接收数据界面10)在对等网模式下,当两个终端节点之间的距离在有效覆盖范围之外时,可以在他们之间加上若干个路由节点,使得他们之间形成一条通路。之后之两个终端节点就可以通过路由节点转发来相互通信。1.6 实验报告要求(1) 完整及详细记录实验数据,记录实验过程,总结实验心得。(2)完成实验效果。实验 2. LED 灯控制实验1.

23、实验环境v 硬件: ZigBee(CC2530)模块, ZigBee下载调试板, USB仿真器, PC机。v 软件: IAR Embedded Workbench for MCS-512. 实验内容v 阅读 UP-CUP ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBee 模块硬件接口。v 使用 IAR 开发环境设计程序,利用 CC2530 的 IO 控制 LED 外设的闪烁。3. 实验原理3.1 硬件接口原理ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的P1_0、 P1_1 两个 IO 引脚。从原理

24、图上可以看出, 2 个 LED 灯共阳极,当 P1_0、 P1_1 引脚为低电平时候, LED 灯点亮。3.2 软件设计#include #define uint unsigned int#define uchar unsigned char/定义控制 LED 灯的端口#define LED1 P1_0 /定义 LED1 为 P10 口控制#define LED2 P1_1 /定义 LED2 为 P11 口控制/函数声明void Delay(uint); /延时函数void Initial(void); /初始化 P1 口/*/延时函数*/void Delay(uint n)uint i,t;

25、for(i = 0;i5;i+)for(t = 0;tn;t+);/初始化程序*/void Initial(void)P1DIR |= 0x03; /P1_0、 P1_1 定义为输出LED1 = 1; /LED1 灯熄灭LED2 = 1; /LED2 灯熄灭/*/主函数*/void main(void)Initial(); /调用初始化函数LED1 = 0; /LED1 点亮LED2 = 0; /LED2 点亮while(1)LED2 = !LED2; /LED2 闪烁Delay(50000);程序通过配置 CC2530 IO 寄存器的高低电平来控制 LED 灯的状态,用循环语句来实现程序的不

26、间断运行。4. 实验步骤v 使用USB仿真器连接PC机和ZigBee(CC2530)模块,将ZigBee调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。v 启动IAR开发环境,新建工程,或直接使用Exp1 实验工程。v 在IAR开发环境中编译、运行、调试程序。实验 3. Timer1 控制实验1. 实验环境v 硬件: ZigBee(CC2530)模块, ZigBee下载调试板, USB仿真器, PC机。v 软件: IAR Embedded Workbench for MCS-512. 实验内容v 阅读 UP-CUP ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉

27、ZigBee 模块硬件接口。v 使用 IAR 开发环境设计程序,利用 CC2530 的 Timer1 定时器控制 LED 外设的闪烁。3. 实验原理3.1 硬件接口原理ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的P1_0、 P1_1 两个 IO 引脚。从原理图上可以看出, 2 个 LED 灯共阳极,当 P1_0、 P1_1 引脚为低电平时候, LED 灯点亮。3.2 软件设计#include #define uint unsigned int#define uchar unsigned char#define LED1 P1_0

28、#define LED2 P1_1uint counter=0; /统计溢出次数uint TempFlag; /用来标志是否要闪烁void Initial(void);void Delay(uint);/*/延时程序*/void Delay(uint n)uint i,t;for(i = 0;i5;i+)for(t = 0;t0xffff);/*/主函数*/void main()Initial(); /调用初始化函数LED1 = 0; /点亮 LED1while(1) /查询溢出if(IRCON 0)IRCON = 0; /清溢出标志TempFlag = !TempFlag;if(TempFl

29、ag)LED2 = LED1;LED1 = !LED1;Delay(6000);程序通过配置 CC2530 处理器的 Timer1 定时器进行自动装载计数,通过查询 IRCON 中断标志来检查 Timer1 定时器计数溢出中断状态,从而控制 LED 灯的闪烁状态。4. 实验步骤v 使用USB仿真器连接PC机和ZigBee(CC2530)模块,将ZigBee调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。v 启动IAR开发环境,新建工程,或直接使用Exp2实验工程。v 在IAR开发环境中编译、运行、调试程序。实验 4. Timer2 控制实验1. 实验环境v 硬件: ZigBee(CC

30、2530)模块, ZigBee下载调试板, USB仿真器, PC机。v 软件: IAR Embedded Workbench for MCS-512. 实验内容v 阅读 UP-CUP ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBee 模块硬件接口。v 使用 IAR 开发环境设计程序,利用CC2530 的 Timer2 定时器控制LED外设的闪烁。3. 实验原理 3.1 硬件接口原理ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的P1_0、 P1_1 两个 IO 引脚。从原理图上可以看出, 2 个 LE

31、D 灯共阳极,当 P1_0、 P1_1 引脚为低电平时候, LED 灯点亮。3.2 软件设计#include uint counter=0; /统计溢出次数uchar TempFlag; /用来标志是否要闪烁/*/延时程序*/void Delay(uint n)uint i,t;for(i = 0;i5;i+)for(t = 0;tn;t+);/*/初始化程序*/void Initial(void)LED_ENALBLE();/设置 T2 定时器相关寄存器SET_TIMER2_CAP_INT(); /开溢出中断SET_TIMER2_CAP_COUNTER(0x55); /设置溢出值/*/主函数

32、*/void main()Initial(); /调用初始化函数LED1 = 0; /LED1 常亮LED2 = 1;TIMER2_RUN();while(1) /等待中断if(TempFlag)LED2 = !LED2;TempFlag = 0;/*/中断处理函数*/#pragma vector = T2_VECTOR /重定位中断向量表_interrupt void T2_ISR(void) /定义中断处理函数TIMER2_STOP();SET_TIMER2_CAP_COUNTER(0X55); /设置溢出值CLEAR_TIMER2_INT_FLAG(); /清 T2 中断标志if(cou

33、nter100)counter+; /100 次中断 LED 闪烁一轮elsecounter = 0; /计数清零TempFlag = 1; /改变闪烁标志程序通过配置 CC2530 处理器的Timer2定时器进行计数中断设置,从而控制LED2的闪烁状态。4. 实验步骤v 使用USB仿真器连接PC机和ZigBee(CC2530)模块,将ZigBee调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。v 启动IAR开发环境,新建工程,或直接使用Exp3实验工程。v 在IAR开发环境中编译、运行、调试程序。实验 5. Timer3 控制实验1. 实验环境v 硬件: ZigBee(CC2530

34、)模块, ZigBee下载调试板, USB仿真器, PC机。v 软件: IAR Embedded Workbench for MCS-512. 实验内容v 阅读 UP-CUP ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBee 模块硬件接口。v 使用 IAR 开发环境设计程序,利用 CC2530 的 Timer3 定时器控制 LED 外设的闪烁。3. 实验原理3.1 硬件接口原理ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的P1_0、 P1_1 两个 IO 引脚。从原理图上可以看出, 2 个 LED

35、灯共阳极,当 P1_0、 P1_1 引脚为低电平时候, LED 灯点亮。3.2 软件设计#include #define YLED P1_0#define RLED P1_1#define uchar unsigned char/*/定义全局变量*/uchar counter = 0;/*/T3 配置定义*/ Where _timer_ must be either 3 or 4/ Macro for initialising timer 3 or 4/将 T3/4 配置寄存复位#define TIMER34_INIT(timer) do T#timer#CTL = 0x06; T#timer

36、#CCTL0 = 0x00; T#timer#CC0 = 0x00; T#timer#CCTL1 = 0x00; T#timer#CC1 = 0x00; while (0)/Macro for enabling overflow interrupt/设置 T3/4 溢出中断#define TIMER34_ENABLE_OVERFLOW_INT(timer,val) doT#timer#CTL = (val) ? T#timer#CTL | 0x08 : T#timer#CTL & 0x08; EA = 1; T3IE = 1; while(0)/启动 T3#define TIMER3_STAR

37、T(val)(T3CTL = (val) ? T3CTL | 0X10 : T3CTL&0X10)/时钟分步选择#define TIMER3_SET_CLOCK_DIVIDE(val) do T3CTL &= 0XE0; (val=2) ? (T3CTL|=0X20): (val=4) ? (T3CTL|=0x40): (val=8) ? (T3CTL|=0X60): (val=16)? (T3CTL|=0x80): (val=32)? (T3CTL|=0xa0): (val=64) ? (T3CTL|=0xc0): (val=128) ? (T3CTL|=0XE0): (T3CTL|=0X0

38、0); /* 1 */ while(0)/Macro for setting the mode of timer3/设置 T3 的工作方式#define TIMER3_SET_MODE(val) do T3CTL &= 0X03; (val=1)?(T3CTL|=0X01): /*DOWN */ (val=2)?(T3CTL|=0X02): /*Modulo */ (val=3)?(T3CTL|=0X03): /*UP / DOWN */ (T3CTL|=0X00); /*free runing */ while(0)#define T3_MODE_FREE 0X00#define T3_MO

39、DE_DOWN 0X01#define T3_MODE_MODULO 0X02#define T3_MODE_UP_DOWN 0X03/*/T3 及 LED 初始化*/void Init_T3_AND_LED(void)P1DIR = 0X03;RLED = 1;YLED = 1;TIMER34_INIT(3); /初始化 T3TIMER34_ENABLE_OVERFLOW_INT(3,1); /开 T3 中断/时钟 32 分频 101TIMER3_SET_CLOCK_DIVIDE(16);TIMER3_SET_MODE(T3_MODE_FREE); /自动重装 000xffTIMER3_ST

40、ART(1); /启动;/*/主函数*/void main(void)Init_T3_AND_LED();YLED = 0;while(1); /等待中断#pragma vector = T3_VECTOR_interrupt void T3_ISR(void)/IRCON = 0x00; /清中断标志,硬件自动完成if(counter200)counter+; /200 次中断 LED 闪烁一轮elsecounter = 0; /计数清零RLED = !RLED; /改变小灯的状态程序通过配置 CC2530 处理器的 Timer3 定时器进行计数中断设置,从而控制 RLED 灯的闪烁状态。4

41、. 实验步骤v 使用USB仿真器连接PC机和ZigBee(CC2530)模块,将ZigBee调试板的电源拨到3.3V段,打开ZIEBEE模块开关供电。v 启动IAR开发环境,新建工程,或直接使用Exp4实验工程。v 在IAR开发环境中编译、运行、调试程序。实验 6. 片上温度 AD 实验1. 实验环境v 硬件: ZigBee(CC2530)模块, ZigBee下载调试板, USB仿真器, PC机。v 软件: IAR Embedded Workbench for MCS-512. 2. 实验内容v 阅读 UP-CUP ZigBee2530开发套件 ZigBee 模块硬件部分文档,熟悉 ZigBe

42、e 模块相关硬件接口。v 使用 IAR 开发环境设计程序,利用 CC2530 的内部温度传感器作为 AD 输入源,将转换后的温度数值利用串口发送给 PC 机终端。3. 3. 实验原理3.1 硬件接口原理ZigBee(CC2530)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2530 的P1_0、 P1_1 两个 IO 引脚。从原理图上可以看出, 2 个 LED 灯共阳极,当 P1_0、 P1_1 引脚为低电平时候, LED 灯点亮。3.2 软件设计#include #include #include ./uart/hal_uart.h#define uchar uns

43、igned char#define uint unsigned int#define uint8 uchar#define uint16 uint#define TRUE 1#define FALSE 0/定义控制 LED 灯的端口#define LED1 P1_0 /定义 LED1 为 P10 口控制#define LED2 P1_1 /定义 LED2 为 P11 口控制/#define HAL_MCU_CC2530 1/ ADC definitions for CC2530/CC2530 from the hal_adc.c file#define HAL_ADC_REF_125V 0x0

44、0 /* Internal 1.25V Reference */#define HAL_ADC_DEC_064 0x00 /* Decimate by 64 : 8-bit resolution */#define HAL_ADC_DEC_128 0x10 /* Decimate by 128 : 10-bit resolution */#define HAL_ADC_DEC_512 0x30 /* Decimate by 512 : 14-bit resolution */#define HAL_ADC_CHN_VDD3 0x0f /* Input channel: VDD/3 */#def

45、ine HAL_ADC_CHN_TEMP 0x0e /* Temperature sensor */*/延时函数*/void Delay(uint n)uint i,t;for(i = 0;i5;i+)for(t = 0;tn;t+);void InitLed(void)P1DIR |= 0x03; /P1_0、 P1_1 定义为输出LED1 = 1; /LED1 灯熄灭LED2 = 1; /LED2 灯熄灭/* fn readTemp* brief read temperature from ADC* param nonestatic char readTemp(void)static ui

46、nt16 voltageAtTemp22;static uint8 bCalibrate=TRUE; / Calibrate the first time the temp sensor is readuint16 value;char temp;ATEST = 0x01;TR0 |= 0x01;ADCIF = 0; /clear ADC interrupt flagADCCON3 = (HAL_ADC_REF_125V | HAL_ADC_DEC_51 2 | HAL_ADC_CHN_TEMP);while ( !ADCIF ); /wait for the conversion to fi

47、nishvalue = ADCL; /get the resultvalue |= (uint16) ADCH) = 4; / Use the 12 MSB of adcValue/* These parameters are typical values and need to be calibrated* See the datasheet for the appropriate chip for more details* also, the math below may not be very accurate*/* Assume ADC = 1480 at 25C and ADC =

48、 4/C */#define VOLTAGE_AT_TEMP_25 1480#define TEMP_COEFFICIENT 4/ Calibrate for 22C the first time the temp sensor is read./ This will assume that the demo is started up in temperature of 22Cif(bCalibrate)voltageAtTemp22=value;bCalibrate=FALSE;temp = 22 + ( (value - voltageAtTemp22) / TEMP_COEFFICIE

49、NT );/ Set 0C as minimum temperature, and 100C as maxif( temp = 100) return 100;else if(temp = 0) return 0;else return temp;/* fn readVoltage* brief read voltage from ADC* param none* return voltage*/*static uint8 readVoltage(void)uint16 value;ADCIF = 0; / Clear ADC interrupt flagADCCON3 = (HAL_ADC_

50、REF_125V | HAL_ADC_DEC_128 | HAL_ADC_CHN_VDD3);while ( !ADCIF ); / Wait for the conversion to finishvalue = ADCL; / Get the resultvalue |= (uint16) ADCH) 6; / divide first by 26value = (uint16)(value * 37.5);value = value 9; / .and later by 29.to prevent overflow during multiplicationreturn value;*/

51、void main(void)char temp_buf20;/, vol_buf20;uint8 temp;/, vol;InitUart(); /baudrate: 57600InitLed();LED1 = 0;while(1)LED2 = !LED2; /LED2 blink 表示程序运行正常temp = readTemp(); /read temperature value/vol = readVoltage();sprintf(temp_buf, (char*)temperature:%drn, temp);/sprintf(vol_buf, (char*)vol:%drn, vo

52、l);prints(temp_buf);/prints(vol_buf);Delay(50000); Delay(50000); Delay(50000);程序通过配置 CC2530 处理器的 AD 控制器来将片内温度传感器转化,并在串口将温度值输出。4. 实验步骤v 使用 USB 仿真器连接 PC 机和 ZigBee(CC2530)模块,将 ZigBee 调试板的电源拨到 3.3V 段,打开ZIEBEE 模块开关供电。将系统配套串口线一端连接 PC 机,一端连接 ZigBee 调试板的串口上。v 启动IAR开发环境,新建工程,或直接使用Exp5实验工程。v 在IAR开发环境中编译、运行、调试程序。v 使用 PC 机自带的超级终端连接串口,将超级终端设置为串口波特率 57600、 8 位、无奇偶校验、无硬件流模式,即可在终端收到模块传递过来的温度值。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!