无线网络实验实训手册_第1页
无线网络实验实训手册_第2页
无线网络实验实训手册_第3页
无线网络实验实训手册_第4页
无线网络实验实训手册_第5页
已阅读5页,还剩207页未读 继续免费阅读

下载本文档

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

文档简介

1、无线传感网络实验实训手册 II无线传感网络实验实训手册 0、实验准备 0.1、硬件认知 节点 ZigBee模块 z 采用TI最新一代ZIGBEE芯片CC2530 z 支持基于IEEE802.15.4的ZIGBEE2007/PRO协议 z 采用WXL标准的20芯双排直插模式接入网关主板和感知节点 CC2530特点: z 低功耗 主动模式RX(CPU 空闲):24 mA 主动模式TX 在1dBm(CPU 空闲):29mA 供电模式1(4 µs 唤醒):0.2 mA 供电模式2(睡眠定时器运行):1 µA 供电模式3(外部中断):0.4 µA 宽电源电压范围(2 V3.

2、6 V) z 微控制器 优良的性能和具有代码预取功能的低功 耗8051 微控制器内核 32-、64-或128-KB 的系统内可编程闪存 8-KB RAM,具备在各种供电方式下的数 据保持能力 支持硬件调试 z 外设 强大的5 通道DMA IEEE 802.5.4 MAC 定时器,通用定时器(一个16 位定时器,一个8 位定时器) IR 发生电路 具有捕获功能的32-kHz 睡眠定时器 硬件支持CSMA/CA 支持精确的数字化RSSI/LQI 电池监视器和温度传感器 具有8 路输入和可配置分辨率的12 位ADC AES 安全协处理器 2 个支持多种串行通信协议的强大USART 21 个通用I/O

3、 引脚( 19× 4 mA,2×20 mA) 看门狗定时器节点底板 支持4节电池供电 96*16液晶显示 1个多功能按键 一个miniUSB串口,可通过伸缩USB线缆供电 标准WXL20针高频模块接口以及标准的传感器模块接口。 图表 1传感器/控制扩展模块 图表 2LED*4图表 3继电器图表 4RFID图表 5振动传感器图表 6人体红外传感器图表 7温度光敏传感器图表 8温湿度传感器图表 9C51RF-3仿真器USB接口:通过USB接口把C51RF-3仿真器与计算机有机的连接起来。C51RF-3 仿真器通过此接口与计算机进行通信,要在CC2430/CC2431的ZigBe

4、e模块的开发上实现下载、调试(DEBUG)、仿真等的通信都由此接口来实现。 复位按键:此按键用来实现C51RF-3仿真器的复位,当你需要重新下载、调试(DEBUG)、仿真你可通过此按键来实现硬复位。 仿真线:这是一根10芯的下载、调试(DEBUG)、仿真线,通过它与感知节点的ZigBee模块进行连接。 仿真器跟感知节点的连接示意图如下所示: 0.2、软件及驱动安装 0.2.1、IAR安装 如同Windows操作系统其它一般的软件安装一样,单击“物联网实验系统toolsiar8.10” 目录下的EW8051-EV-Web-8101.exe 文件进行安装,你将会看到如下图所示的界面。 单击“Nex

5、t”至下一步,将出现如下所示界面,点击“Accept”。 将分别需要填写你的名字、公司以及认证序列,如下图所示。 正确填写后,单击“Next”至下一步,将分别需要由你计算机的机器码和认证序列生成的序列钥匙,如下图所示。 输入的认证序列以及序列钥匙正确后,单击“Next”到下一步。如下图所示,在你将选择完全安装或是典型安装,在这里我们选择第1个也就是完全安装。 单击“Next”到下一步,在这里你将查证看你输入的信息是否正确,如下图所示。如果需要修改,单击“Back”返回修改。 单击“Next”正式开始安装,如下图所示。在这你将看到安装进度,这将需要几分钟时间的等待,现在你需要耐心等待。 当进度到

6、100%时,它将跳到下一个界面,如下图所示。在此你可选择查看IAR 的介绍以及是否立即运行IAR开发集成环境。单击“Finish”来完成安装。 10无线传感网络实验实训手册 0.2.2、USB转串口驱动安装 这里主要是介绍两个USB转串口驱动的安装。 驱动目录:物联网实验系统toolsUSB串口驱动 这里有两个去驱动的安装,其安装方法一样。 安装ft232驱动。 将实验箱中的串口网关底板用D口的USB线连接到电脑,如果是第一次接入(电脑没有安装驱动)时,系统会自动跳出安装驱动提示,只要按照提示指定安装驱动路径(物联网实验系统ZIGBEE无线传感网络实验工具软件USB 串口驱动ft232usbd

7、river2.0)即可自动安装: 然后直接点击下一步即可顺利完成安装。 安装CP2102驱动。运行目录:“物联网实验系统toolsUSB串口驱动cp2102”中的安装文件。自动安装。安装完毕后,当使用到该串口驱动的时候,自动检测到硬件,可以选择自动安装。直到在设备管理中看到虚拟串口表示安装成功。 也可以类似安装ft232驱动驱动一样指定驱动文件路径进行安装。这里需要安装两次,第一次路径为: 物联网实验系统toolsUSB串口驱动cp2102DriversCP210x USB to UART Bridge Controller。第二次路径为:物联网实验系统toolsUSB串口驱动cp2102Dr

8、iversCP210x USB Composite Device。 0.2.3、SmartRF Flash Programmer安装及使用 安装文件所在目录为:物联网实验系统toolsTI工具SmartRF Flash Programmer 1.10.2 (Rev. L) 目录下的 点击开始安装。 全部采用默认设置,Next 到安装完成。 0.2.4、ZigBee仿真器驱动安装 正常情况下,如果已经安装了IAR或者TI任何一款软件,那么在接入仿真器的时候均可自动安装其驱动。在设备管理中得到: 。表示仿真器驱动正常安装。 或者运行目录: 物联网实验系统toolsTI工具 下的文件。 如同安装其他

9、软件一样,按步操作即可完成安装。安装完后当接入仿真器后可以选择自动安装完成仿真器驱动的安装 1、CC2530基础实验 1.1、输入输出I/O控制实验 1.1.1、CC2530-1:控制LED灯闪烁 【实验目的】 1.了解CC2530的GPIO结构和配置原理 2.如何通过程序控制CC2530的GPIO驱动外部设备如:LED灯 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 本例以LED灯为外设,用CC2530控制简单外

10、设,将I/O设置为输出,实验现象LED闪烁。实验中操作了的寄存器有P1,P1DIR,没有设置而是取默认值的寄存器有:P1SEL,P1INP。 P1 (P1口寄存器) 位号 位名 复位值 操作性 功能描述 7:0 P17:00x00 读/写 P1端口普通功能寄存器,可位寻址 P1DIR (P1方向寄存器) 位号 位名 复位值 操作性 功能描述 7 DIRP1_70 读/写 P1_7方向:0 输入,1 输出 6 DIRP1_60 读/写 P1_6方向:0 输入,1 输出 5 DIRP1_50 读/写 P1_5方向:0 输入,1 输出 4 DIRP1_40 读/写 P1_4方向:0 输入,1 输出

11、3 DIRP1_30 读/写 P1_3方向:0 输入,1 输出 2 DIRP1_20 读/写 P1_2方向:0 输入,1 输出 1 DIRP1_10 读/写 P1_1方向:0 输入,1 输出 0 DIRP1_00 读/写 P1_0方向:0 输入,1 输出 P1SEL (P1功能选择寄存器) 位号 位名 复位值 操作性 功能描述 7 SELP1_7 0 读/写 P1_7功能:0 普通I/O,1 外设功能 6 SELP1_6 0 读/写 P1_6功能:0 普通I/O,1 外设功能 5 SELP1_5 0 读/写 P1_5功能:0 普通I/O,1 外设功能 4 SELP1_4 0 读/写 P1_4功

12、能:0 普通I/O,1 外设功能 3 SELP1_3 0 读/写 P1_3功能:0 普通I/O,1 外设功能 2 SELP1_2 0 读/写 P1_2功能:0 普通I/O,1 外设功能 1 SELP1_1 0 读/写 P1_1功能:0 普通I/O,1 外设功能 0 SELP1_0 0 读/写 P1_0功能:0 普通I/O,1 外设功能 P1INP (P1输入模式寄存器) 位号 位名 复位值 操作性功能描述 7 MDP1_7 0 读/写 P1_7输入模式:0 上拉/下拉,1 三态6 MDP1_6 0 读/写 P1_6输入模式:0 上拉/下拉,1 三态5 MDP1_5 0 读/写 P1_5输入模式

13、:0 上拉/下拉,1 三态4 MDP1_4 0 读/写 P1_4输入模式:0 上拉/下拉,1 三态3 MDP1_3 0 读/写 P1_3输入模式:0 上拉/下拉,1 三态2 MDP1_2 0 读/写 P1_2输入模式:0 上拉/下拉,1 三态1 MDP1_1 0 读/写 P1_1输入模式:0 上拉/下拉,1 三态0 MDP1_0 0 读/写 P1_0输入模式:0 上拉/下拉,1 三态硬件电路: GPIO输出控制对象为CC2530模块上的红色和绿色LED,分别接在CC2530芯片的P1.0和P1.1脚上。输出置位为0时LED灯点亮,置位为1时LED灯熄灭。 【实验步骤】 第一步:使用IAR7.5

14、1打开“物联网实验系统ZIGBEE无线传感网络实验1-CC2530单片机基础实验1.1GPIO输入输出实验CC2530-1”中工程文件“forJ1.eww”。 第二步:打开工程后选择Debug或Release模式 点击左上角程序功能选择框,如下图所示。 Debug 生成调试信息,支持代码调试 Release 不输出调试信息,直接生成HEX文件第三步:编译工程并下载到目标板。 点击菜单Project,选择“Rebuild All”,等待一会儿工程文件编译完成。等待一会儿工程文件编译完成把仿真器与网关通过仿真器下载线连接起来。确保仿真器与计算机、仿真器与节点底板连接正确,CC2530无线模块正确地

15、插在节点底板后。 点击菜单Project,选择“Debug”,或点击如下图标,等待一会儿即完成程序下载 图:编译工程 图:下载和调试目标板第4步:运行和查看效果。 下载完成后点击全速运行(GO按钮,见下图)或直接按F5键查看程序运行效果。 图:全速运行程序 图:节点底板上图所示CC2530模块板载的绿色LED灯(左边)闪烁。 【实验相关代码】 在“CC2530单片机基础程序1.1GPIO输入输出实验CC2530-1”目录下的“main.c”文件中我们可以看到: 程序的初始化和处理流程 Initial() RLED = 0; YLED = 0; While(1) 主程序 GPIO有关的初始化 L

16、ED初始状态设置 程序主循环 控制LED灯状态翻转和等待演示 GPIO初始化函数void Initial(void) /* /初始化程序 */ void Initial(void) P1DIR |= 0x03; /P10、P11定义为输出 RLED = 1; YLED = 1; /LED 主要是配置控制LED灯的GPIO口为输出模式,同时将它们设为高电平(此时LED灭)。 延时子函数void Delay(uint n) /* /延时 */ void Delay(uint n) uint tt; for(tt = 0;tt<n;tt+); for(tt = 0;tt<n;tt+);

17、for(tt = 0;tt<n;tt+); for(tt = 0;tt<n;tt+); for(tt = 0;tt<n;tt+); 执行5次0到n的空循环来实现软件延时。延时时间约为5*n/32s。 1.1.2、CC2530-2:按键控制LED灯开关 【实验目的】 1.了解CC2530的GPIO结构和配置原理 2.学习配置按键的GPIO口为输入模式,并采集有效按键 3.如何通过程序控制由按键触发控制LED灯 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器

18、 C51RF-3仿真器 1 程序下载调试用 【实验原理】 本例中让用户掌握按键应用这一常用人机交互方法,本次使用按键LED灯的开关。按下“SW2”键切换ZigBee模块左边LED灯开关,实验中操作了的寄存器有P0,P0DIR,没有设置而是取默认值的寄存器有:P0SEL,P0INP。 P0 (P0口寄存器) 位号 位名 复位值 操作性 功能描述 7:0 P07:00x00 读/写 P0端口普通功能寄存器,可位寻址 P0DIR (P0方向寄存器) 位号 位名 复位值操作性功能描述 7 DIRP0_7 0 读/写P0_7方向:0 输入,1 输出 6 DIRP0_6 0 读/写P0_6方向:0 输入,

19、1 输出 5 DIRP0_5 0 读/写P0_5方向:0 输入,1 输出 4 DIRP0_4 0 读/写P0_4方向:0 输入,1 输出 3 DIRP0_3 0 读/写P0_3方向:0 输入,1 输出 2 DIRP0_2 0 读/写P0_2方向:0 输入,1 输出 1 DIRP0_1 0 读/写P0_1方向:0 输入,1 输出 0 DIRP0_0 0 读/写P0_0方向:0 输入,1 输出 P0SEL (P0功能选择寄存器) 位号 位名 复位值 操作性功能描述 7 SELP0_7 0 读/写 P0_7功能:0 普通I/O,1 外设功能6 SELP0_6 0 读/写 P0_6功能:0 普通I/O

20、,1 外设功能5 SELP0_5 0 读/写 P0_5功能:0 普通I/O,1 外设功能4 SELP0_4 0 读/写 P0_4功能:0 普通I/O,1 外设功能3 SELP0_3 0 读/写 P0_3功能:0 普通I/O,1 外设功能2 SELP0_2 0 读/写 P0_2功能:0 普通I/O,1 外设功能1 SELP0_1 0 读/写 P0_1功能:0 普通I/O,1 外设功能0 SELP0_0 0 读/写 P0_0功能:0 普通I/O,1 外设功能P0INP (P0输入模式寄存器) 位号 位名 复位值 操作性功能描述 7 MDP0_7 0 读/写 P0_7输入模式:0 上拉/下拉,1 三

21、态6 MDP0_6 0 读/写 P0_6输入模式:0 上拉/下拉,1 三态5 MDP0_5 0 读/写 P0_5输入模式:0 上拉/下拉,1 三态4 MDP0_4 0 读/写 P0_4输入模式:0 上拉/下拉,1 三态3 MDP0_3 0 读/写 P0_3输入模式:0 上拉/下拉,1 三态2 MDP0_2 0 读/写 P0_2输入模式:0 上拉/下拉,1 三态1 MDP0_1 0 读/写 P0_1输入模式:0 上拉/下拉,1 三态0 MDP0_0 0 读/写 P0_0输入模式:0 上拉/下拉,1 三态硬件电路: 图:按键电路图 按键采用五向摇杆按键Joystick,这里只使用按下这个键。无按键

22、按下时 P06的状态为上拉,高电平。中间键按下时(Cneter),P06与GND连通,P06采集到低电平。 【实验步骤】 第一步:使用IAR7.51打开“物联网实验系统ZIGBEE无线传感网络实验1-CC2530单片机基础实验1.1GPIO输入输出实验CC2530-2”中工程文件“switchLED.eww”。 第二步:打开工程后选择Debug或Release模式 点击左上角程序功能选择框,如下图所示。 Debug 生成调试信息,支持代码调试 Release 不输出调试信息,直接生成HEX文件第三步:编译工程并下载到目标板。 点击菜单Project,选择“Rebuild All”,等待一会儿工

23、程文件编译完成。等待一会儿工程文件编译完成把仿真器与网关通过仿真器下载线连接起来。确保仿真器与计算机、仿真器与节点底板连接正确,CC2530无线模块正确地插在节点底板后。点击菜单Project,选择“Debug”,或点击如下图标,等待一会儿即完成程序下载 图:编译工程 图:下载和调试目标板第4步:运行和查看效果。 下载完成后点击全速运行(GO按钮,见下图)或直接按F5键查看程序运行效果。 图:全速运行程序 图:节点底板 按下SW2 摇杆按键的中间键上图所示节点底板板载的红色LED灯(右边边)点亮,再次按下熄灭。 【实验相关代码】在“CC2530单片机基础程序1.1GPIO输入输出实验CC253

24、0-3”目录下的“main.c”文件中我们可以看到: 程序的初始化和处理流程 Initial() InitKey(); RLED = 0; YLED = 0; While(1) 主程序 LED控制GPIO的初始化 配置按键输入GPIO LED初始状态设置 程序主循环 采集按键和控制LED灯状态翻转 按键初始化函数void InitKey (void) /* /按键初始化 */ void InitKey(void) P0SEL &= 0X40; P0INP |= 0x40; /上拉 P0DIR &= (0x01<<(6); /按键在P06 ADC采集 主要是配置采集输

25、入采集的GPIO P06为输入模式。 延时子函数uchar KeyScan(void) /* /读键值 */ uchar KeyScan(void) if(K1 = 0) /低电平有效 Delay(100); /检测到按键 if(K1 = 0) while(!K1); /直到松开按键 return(1); return(0); 监测P0.6(K1)上的电平变化,如有高电平变低即有按键产生,返回按键扫描结果为有按键发生。 1.1.3、CC2530-3:按键控制LED灯闪烁 【实验目的】 1.了解CC2530的GPIO结构和配置原理 2.学习配置按键的GPIO口为输入模式,并采集有效按键 3.如何

26、通过程序控制由按键触发控制LED灯闪烁 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 本例中让用户掌握按键应用这一常用人机交互方法,本次使用按键LED灯的开关。按下“SW2”键切换ZigBee模块左边LED灯开关,实验中操作了的寄存器有P0,P0DIR,没有设置而是取默认值的寄存器有:P0SEL,P0INP。 P0 (P0口寄存器) 位号 位名 复位值 操作性 功能描述 7:0 P07:00x00 读/写 P0端口

27、普通功能寄存器,可位寻址 P0DIR (P0方向寄存器) 位号 位名 复位值 操作性 功能描述 7 DIRP0_7 0 读/写 P0_7方向:0 输入,1 输出 6 DIRP0_6 0 读/写 P0_6方向:0 输入,1 输出 5 DIRP0_5 0 读/写 P0_5方向:0 输入,1 输出 4 DIRP0_4 0 读/写 P0_4方向:0 输入,1 输出 3 DIRP0_3 0 读/写 P0_3方向:0 输入,1 输出 2 DIRP0_2 0 读/写 P0_2方向:0 输入,1 输出 1 DIRP0_1 0 读/写 P0_1方向:0 输入,1 输出 0 DIRP0_0 0 读/写 P0_0方

28、向:0 输入,1 输出 P0SEL (P0功能选择寄存器) 位号 位名 复位值 操作性功能描述 7 SELP0_7 0 读/写 P0_7功能:0 普通I/O,1 外设功能6 SELP0_6 0 读/写 P0_6功能:0 普通I/O,1 外设功能5 SELP0_5 0 读/写 P0_5功能:0 普通I/O,1 外设功能4 SELP0_4 0 读/写 P0_4功能:0 普通I/O,1 外设功能3 SELP0_3 0 读/写 P0_3功能:0 普通I/O,1 外设功能2 SELP0_2 0 读/写 P0_2功能:0 普通I/O,1 外设功能1 SELP0_1 0 读/写 P0_1功能:0 普通I/O

29、,1 外设功能0 SELP0_0 0 读/写 P0_0功能:0 普通I/O,1 外设功能P0INP (P0输入模式寄存器) 位号 位名 复位值 操作性功能描述 7 MDP0_7 0 读/写 P0_7输入模式:0 上拉/下拉,1 三态6 MDP0_6 0 读/写 P0_6输入模式:0 上拉/下拉,1 三态5 MDP0_5 0 读/写 P0_5输入模式:0 上拉/下拉,1 三态4 MDP0_4 0 读/写 P0_4输入模式:0 上拉/下拉,1 三态3 MDP0_3 0 读/写 P0_3输入模式:0 上拉/下拉,1 三态2 MDP0_2 0 读/写 P0_2输入模式:0 上拉/下拉,1 三态1 MD

30、P0_1 0 读/写 P0_1输入模式:0 上拉/下拉,1 三态0 MDP0_0 0 读/写 P0_0输入模式:0 上拉/下拉,1 三态硬件电路: 图:按键电路图 按键采用五向摇杆按键Joystick,这里只使用按下这个键。无按键按下时 P06的状态为上拉,高电平。中间键按下时(Cneter),P06与GND连通,P06采集到低电平。 【实验步骤】 第一步:使用IAR7.51打开“物联网实验系统ZIGBEE无线传感网络实验1-CC2530单片机基础实验1.1GPIO输入输出实验CC2530-3”中工程文件“switchGLINT.eww”。 第二步:打开工程后选择Debug或Release模式

31、 点击左上角程序功能选择框,如下图所示。 Debug 生成调试信息,支持代码调试 Release 不输出调试信息,直接生成HEX文件第三步:编译工程并下载到目标板。 点击菜单Project,选择“Rebuild All”,等待一会儿工程文件编译完成。等待一会儿工程文件编译完成把仿真器与网关通过仿真器下载线连接起来。确保仿真器与计算机、仿真器与节点底板连接正确,CC2530无线模块正确地插在节点底板后。点击菜单Project,选择“Debug”,或点击如下图标,等待一会儿即完成程序下载 图:编译工程 图:下载和调试目标板第4步:运行和查看效果。 下载完成后点击全速运行(GO按钮,见下图)或直接按

32、F5键查看程序运行效果。 图:全速运行程序 图:节点底板 按下SW2 摇杆按键的中间键上图所示节点底板板载的绿色LED灯(左边)闪烁,再次按下停止。 【实验相关代码】在“CC2530单片机基础程序1.1GPIO输入输出实验CC2530-2”目录下的“main.c”文件中我们可以看到: 程序的初始化和处理流程 Initial() InitKey(); RLED = 0; YLED = 0; While(1) 主程序 LED控制GPIO的初始化 配置按键输入GPIO LED初始状态设置 程序主循环 采集按键和控制LED灯状态翻转 按键初始化函数void InitKey (void) /* /按键初

33、始化 */ void InitKey(void) P0SEL &= 0X40; P0INP |= 0x40; /上拉 P0DIR &= (0x01<<(6); /按键在P06 ADC采集 主要是配置采集输入采集的GPIO P06为输入模式。 延时子函数uchar KeyScan(void) /* /读键值 */ uchar KeyScan(void) if(K1 = 0) /低电平有效 Delay(100); /检测到按键 if(K1 = 0) while(!K1); /直到松开按键 return(1); return(0); 监测P0.6(K1)上的电平变化,如有

34、高电平变低即有按键产生,返回按键扫描结果为有按键发生。 1.1.4、CC2530-4:OLED显示 【实验目的】 1.了解OLED显示屏的驱动原理,学习使用UG-9616GLBBG02显示屏 2.通过CC2530的GPIO模拟IIC总线驱动OLED显示 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 节点底板配置的OLED显示屏为悠景科技股份有限公司的UG-9616GLBBG0显示屏。屏幕的参数如下: 显示屏驱动芯片

35、为SSD1306,驱动芯片和显示屏连接示意图如下: CC2530通过模拟IIC通讯接口控制和驱动OLED的驱动芯片SSD1306,硬件电路图如下: 图:OLED电路图 P12模拟成SDA,P13模拟成SCL信号线。 【实验步骤】 第一步:使用IAR7.51打开“物联网实验系统ZIGBEE无线传感网络实验1-CC2530单片机基础实验1.1GPIO输入输出实验CC2530-4”中工程文件“OledDisp.eww”。 第二步:打开工程后选择Debug或Release模式 点击左上角程序功能选择框,如下图所示。 Debug 生成调试信息,支持代码调试 Release 不输出调试信息,直接生成HEX

36、文件第三步:编译工程并下载到目标板。 点击菜单Project,选择“Rebuild All”,等待一会儿工程文件编译完成。等待一会儿工程文件编译完成把仿真器与网关通过仿真器下载线连接起来。确保仿真器与计算机、仿真器与节点底板连接正确,CC2530无线模块正确地插在节点底板后。 点击菜单Project,选择“Debug”,或点击如下图标,等待一会儿即完成程序下载 图:编译工程 图:下载和调试目标板第4步:运行和查看效果。 下载完成后点击全速运行(GO按钮,见下图)或直接按F5键查看程序运行效果。 图:全速运行程序 Welcome 图:节点底板 图:OLE显示结果程序全速运行后OLED屏幕上显示“

37、Welcome”字符。 【实验相关代码】 在“CC2530单片机基础程序1.1GPIO输入输出实验CC2530-2”目录下的“main.c”文件中我们可以看到: 程序的初始化和处理流程 Initial() ugOled9616int (); RLED = 0; LcdPutString16_8 LED控制GPIO的初始化 OLED的初始化配置 点亮红色LED 显示“Welcome” 函数void ugOled9616int (void) 进行控制驱动OLED有关的GPIO配置,以及配置OLED驱动芯片的寄存器启动OLED运行,程序在“ugOled9616.c”文件中。 void ugOled9

38、616int( void ) ugOledPortInt(); /驱动OLED的GPIO配置 OLED_Init(); /OLED驱动芯片的寄存器配置 输出显示子函数void LcdPutString16_8( u8 x,u8 y,u8 *ptr,u8 len,u8 op ),在OLED指定的位置显示一串字符串。 void LcdPutString16_8( u8 x,u8 y,u8 *ptr,u8 len,u8 op ) u8 i,j,*tptr = ptr,xx = x,yy = y; u16 m; if( xx > 95) return ; if( yy ) return ; fo

39、r( i = 0;i < len; i + ) m = lookforChar(*tptr +); if( m != FONTLISTCOUNT ) m = m * 16; for( j = 0;j < 8;j + ) if(op) LcdPutChar8( (xx + j),yy,fontm+j ); LcdPutChar8( (xx + j),yy+1,fontm+j+8 ); else LcdPutChar8( (xx + j),yy,fontm+j ); LcdPutChar8( (xx + j),yy+1,fontm+j+8 ); else break; xx += 8;

40、 if( xx > 96 ) return; PutPic( (void *)LcdBuf ); 监测P0.6(K1)上的电平变化,如有高电平变低即有按键产生,返回按键扫描结果为有按键发生。 1.2定时器控制实验 1.2.1、CC2530-5:使用定时器T1 【实验目的】 1.了解CC2530的定时器T1的配置和使用 2.如何通过程序控制CC2530的T1驱动LED灯定时点亮 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用

41、【实验原理】 本例用定时器1 来改变小灯的状态,T1 每溢出两次,两个小灯闪烁一次,并且在停止闪烁后成闪烁前相反的状态。 T1的操作模式有3种:free-running模式,modulo模式和up-down模式 1. free-running模式 计数器从0x0000开始计数,当计算值达到0xFFFF时溢出,此时IRCON.T1IF 和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数。 2. modulo模式 计数器从0x0000开始计数,当计算值达到T1CC0时溢出,此时IRCON.T1IF 和T1C

42、TL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数。 3. up-Down模式 计数器从0x0000开始计数,当计算值达到T1CC0时,计数值开始递减直至 0x0000,此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN 也被置1,就会产生中断请求,计数器重新开始计数。 T1CTL(T1控制&状态寄存器) 位号 位名 复位值 操作性 功能描述 7 CH2IF 0 读/写 定时器1通道2中断标志位 6 CH1IF 0 读/写 定时器1通道1中断标志位 5

43、CH0IF 0 读/写 定时器1通道0中断标志位 4 OVFIF 0 读/写 定时器溢出中断标志,在在计数器达到计数终值的时候置位 3:2 DIV1:000 读/写 定时器1计数时钟分步选择 00:不分频 01:8分频 10:32分频 11:128分频 1:0 MODE1:0 00 读/写 定时器1模式选择 00:暂停 01:自动重装0x0000-0xffff 10:比较计数0x0000-T1CC0 11 :PWM方式 硬件电路: GPIO输出控制对象为CC2530模块上的红色和绿色LED,分别接在CC2530芯片的P1.0和P1.1脚上。输出置位为0时LED灯点亮,置位为1时LED灯熄灭。【

44、实验步骤】 第一步:使用IAR7.51打开“物联网实验系统ZIGBEE无线传感网络实验1-CC2530单片机基础实验1.2定时器控制实验CC2530-1”中工程文件“T1.eww”。 第二步:打开工程后选择Debug或Release模式 点击左上角程序功能选择框,如下图所示。 Debug 生成调试信息,支持代码调试 Release 不输出调试信息,直接生成HEX文件第三步:编译工程并下载到目标板。点击菜单Project,选择“Rebuild All”,等待一会儿工程文件编译完成。等待一会儿工程文件编译完成把仿真器与网关通过仿真器下载线连接起来。确保仿真器与计算机、仿真器与节点底板连接正确,CC

45、2530无线模块正确地插在节点底板后。 点击菜单Project,选择“Debug”,或点击如下图标,等待一会儿即完成程序下载 图:编译工程 图:下载和调试目标板第4步:运行和查看效果。 下载完成后点击全速运行(GO按钮,见下图)或直接按F5键查看程序运行效果。 图:全速运行程序 图:节点底板 上图所示节点底板板载的绿色LED灯(左边)和红色LED(右边)交替闪烁。 【实验相关代码】 在“CC2530单片机基础程序1.2定时器控制实验CC2530-1”目录下的“main.c”文件中我们可以看到: 程序的初始化和处理流程 Initial() RLED = 0; While(1) 主程序 初始化GP

46、IO和T1 点亮红色LED 程序主循环 有T1的计数溢出控制LED 灯状态翻转初始化函数void Initial(void) /* /初始化程序 */ void Initial(void) /初始化P1 P1DIR = 0x03; /P10 P11为输出 RLED = 1; YLED = 1; /灭LED /用T1来做实验 T1CTL = 0x3d; /通道0,中断有效,128分频;自动重装模式(0x0000->0xffff); 函数功能是将P10,P11设为输出,并将定时器1设为自动重装模式,计数时钟为0.25M 1.2.2、CC2530-6:使用定时器T2 【实验目的】 1.了解CC

47、2530的定时器T2的配置和使用,定时器的中断使用方式 2.如何通过程序控制CC2530的T1驱动LED灯定时点亮 【实验设备】 实 验 设 备 数 量 备 注 CC2530多传感器节点底板 1 支持CC2530工作的底板 CC2530节点模块 1 无线SOC USB线 1 连接仿真器 C51RF-3仿真器 1 程序下载调试用 【实验原理】 本例开启定时器2的中断,计数比较溢出后产生中断来改变小灯的状态,T2 每溢出一次,红色小灯状态改变一次(由亮变暗或由暗变亮)。 T2的操作模式如T1不同没有T1的3种工作模式:free-running模式,modulo 模式和up-down模式。 T2CT

48、RL(T2配置寄存器) 位号 位名 复位值 操作性 功能描述 7:4 - 0 读 保留,读 0 3 LATCH_MODE 0 读/写0:当T2MSEL.T2MSEL = 000 读T2M0, T2M1,T2MSEL.T2MOVFSEL=000。读T2MOVF0, T2MOVF1 T2MOVF2。 1:当T2MSEL.T2MSEL = 000 读T2M0,T2M1,T2MOVF0 , T2MOVF1, aT2MOVF2 2 STATE 0 读 0 计数器空闲模式,1 计数器正常运行。 1 SYNC 1 读/写同步使能 0:T2立即起、停。 1:T2起、停和32.768kHz时钟及计数新值同步 0 RUN 0 读/写启动

温馨提示

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

评论

0/150

提交评论