无线传感器网络实验指导书.doc_第1页
无线传感器网络实验指导书.doc_第2页
无线传感器网络实验指导书.doc_第3页
无线传感器网络实验指导书.doc_第4页
无线传感器网络实验指导书.doc_第5页
免费预览已结束,剩余49页可下载查看

下载本文档

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

文档简介

无线传感器网络 无线传感器网络实验指导书 目 录 实验一 CC2530 I/O基础实验2实验二 CC2530 串口数据通信实验31实验三 CC2530 点到点无线通信实验39实验四 ZigBee星型组网实验46实验一 CC2530 I/O基础实验本实验主要目的是学会使用CC2530的通用IO口及其编译软件环境IAR的使用,达到初步了解使用CC2530无线单片机定时器的目的。1、 实验要求 (1) 熟悉CC2530无线单片机功能、管脚、调试环境IAR软件的基本功能和初步使用;(2) 进行CC2530无线单片机的通用IO口的配置、使用及实验;(3) 完成CC2530通用I/O口的原理性操作控制,完成必要的实验环节,分析总结实验。2、 实验目的 (1) 熟悉IAR编译软件界面的基本功能; (2) 掌握在IAR软件中利用C语言配置CC2530 IO口的方法;(3) 掌握自己修改并调试IO口配置的方法;3、 预备知识 3.1 IAR开发环境基本功能及工程建立IAR Embedded Workbench(以下简称为IAR)嵌入式系统应用程序的开发工具,支持汇编、C和C+语言。它提供完整的集成开发环境,包括工程管理器、编辑器、编译链接工具和C-SPY调试器。 IAR Systems以其高度优化的编译器而闻名。每个C/C+编译器不仅包含一般全局性的优化,也包含针对特定芯片的低级优化,以充分利用所选芯片的所有特性,确保较小的代码尺寸。能够支持由不同的芯片制造商生产,且种类繁多的8位、16位或32位芯片。详细内容请参阅。主要步骤:安装 IAR开发环境。启动 IAR,新建一个 IAR 工作区,或者打开一个IAR 工作区。连接CC Debugger调试器和ZigBee模块、连接CC Debugger到计算机,安装驱动。 设置项目参数。编译、下载程序。安装SmartRF Flash Programmer 软件。使用 SmartRF Flash Programmer 软件。(1) 安装IAR开发环境。打开IAR软件所在电脑目录,点击程序安装图标,出现:选择“Install IAR Embedded Workbench”项,点击安装IAR。按照安装提示,依次“Next”、“Accept”,输入姓名“Name”、公司名称“Company”、序列号“License#”,贴入序列号密钥“License Key”。 然后按照安装提示,依次“Next”,选择安装目录等,最后安装完成。安装完毕会有桌面图标,或者在“开始”“程序”菜单中出现 “IAR Systems”程序项。(1) 启动 IAR,新建一个 IAR 工作区,或者打开一个IAR 工作区。新建一个 IAR 工作区:点击IAR桌面图标,或者“开始”“程序”菜单中选择“IAR Systems”下的“IAR Embedded WorkBench”,打开IAR软件开发环境。打开IAR软件新建一个IAR工作区。点击菜单“Project”下的“Creat New Project”,弹出对话框如图所示。新建一个工程单击“OK”, 弹出保存“Project File(*.ewp)”项目工程文件的对话窗口,选择好工程要保存的目录位置,给工程起个名字,如“test0”,点击“保存”,这样就保存了“test0.ewp”项目工程文件。保存工程新建的工程显示在工作区窗口中,如下图:工作区中的工程保存工作区点击保存按钮,弹出保存“Workspace File(*.eww)”工作区文件的对话窗口,给工作区文件起个名字,如“test0”,点击“保存”,这样就保存了“test0.eww”工作区文件。点击“新建”按钮,建立一个空文本文件,如图所示。系统自动建立一个Untitled1空文本文件。点击保存按钮,保存程序文件,例如如“test0.c”。添加程序文件右键单击“test0-Debug”,在弹出的快捷菜单中选择“Add”后面的Add“test0.c”,如图所示。这样就完成了建立一个新的工作区,可以编写具体程序了,如图。新工程及工作区建立完成打开一个IAR 工作区:例如,要打开光盘中“CC2530无线单片机基础实验”文件夹中的“实验1”中的工作区方法为:点击FileOpen Workspace,如图所示。选择并打开实验一的工作区:“Exp 1_1.eww”,如图所示。打开后,点击工程下面的c主函数,“Exp 1_1_main.c”,在以上两种打开IAR软件开发环境基础上,都可以进行源程序的修改、新建、编译、调试等操作。(2) 模块连接方式:连接CC Debugger调试器和ZigBee模块、然后连接CCDebugger到计算机,安装驱动。 第一步:在首次将CC Debugger通过USB线与计算机的USB口连接时,计算机需要安装驱动程序。当弹出“找到新的硬件向导”,选择“从列表或指定位置安装(高级)”,点击“下一步”,如图所示。第二步,点击“浏览”按钮,选择驱动程序所在的路径,驱动文件在IAR程序的安装目录下或实验系统工具目录下,具体位置为C:Program FilesIAR SystemsEmbedded Workbench 5.38051driversTexas Instruments,如下图左所示,点击“下一步”。 等待驱动安装完成,点击“完成”按钮,驱动成功安装,如上图右所示。第三步,拔掉刚才的USB连接线,先用CC Debugger调试器一端的扁平排线连接到ZigBee模块10针编程接口上,然后再将CC Debugger另外一端用USB线连接到计算机。如图所示: (3) 设置项目参数。以上一步骤中打开的工作区为例,点击选中Exp 1_1-Debug工程文件,然后点击菜单Project下面的Options;或者直接右键点击“Exp 1_1-Debug”选择Options,如图所示。选择“Linker”选项,设置“Output”和“Config”选项卡:选择“Debugger”选项,设置“Setup”选项卡(4) 编译、下载程序。选择Exp 1_1.c文件,点击ProjectRebuild All,编译程序并生成目标文件。编译情况会在界面下方的“Messages”显示出来,如果编译时出现错误或警告,请根据提示进行修改,直至没有错误。编译通过后,点击ProjectDebug,或点击按钮,下载并调试程序。点击IAR功能菜单上的绿色的下载按键,将出现下载进度框。程序成功下载到物联网节点板上的ZigBee板上CC2530芯片中,点击图中红色框内的按钮,可以执行全速、单步、单步跳出等。运行程序点击IAR开发环境中的调试按钮,此时就可以观察到程序在物联网节点上运行情况。也可以单击连续运行按钮,程序连续运行,可以观察节点上ZigBee模块的LED灯轮流闪烁现象。(5) 安装SmartRF Flash Programmer 软件。在做无线网络实验、传感器实验以及综合实验时,程序下载时需要使用SmartRF Flash Programmer 软件,下面介绍SmartRF Flash Programmer 软件的安装以及使用方法。 双击SmartRF Flash Programmer软件安装图标,弹出软件安装界面。采用默认方式或者完全方式安装该软件。(6) 使用 SmartRF Flash Programmer 软件。 先将CC Debugger与节点用扁线连接好,然后用USB线连接CC Debugger和计算机,打开电源开关。运行SmartRF Flash Programmer 软件,软件打开后会显示与计算机相连接的CC Debugger信息。点击“Read IEEE”按钮,如果连接成功,会将CC2530的物理唯一地址读取出来,以十六进制形式显示在右边空栏里。在Flash选项中选择需要下载的Hex文件,例如,打开前面步骤Hex文件,在Actions选项中选择“Erase,program and ve”选项,点击“Perform actions”按钮完成下载工作。图 SmartRF Flash Programmer 软件界面功能以上各选项功能:1. “System-on-Chip”选项卡被用来编程TI的片上系统;2. “Read IEEE”读出CC2530片上系统的64位物理地址3. “Write IEEE”写入CC2530片上系统的64位物理地址,用户定义,但应用时的整个网络不能有重复地址。4. 选择要准备烧写的HEX文件所在目录。5. 此项是防止烧写HEX文件时IEEE地址改变6. “Erase,program and veri”选项是擦除所选芯片FLASH存储器,然后用4中选定的HEX文件对FLASH编程,并对编程后的FLASH内容读回与.hex文件对比、验证是否有编程错误或由于FLASH损坏而导致的错误。7. FLASH锁定功能。8. 以上选项都设置完后,执行对片上系统的编程命令。程序成功下载后,出现如图所示的提示。图 IAR程序下载进度重启节点板或者按ZigBee模块上的Reset键,此时节点自动运行刚才写入的程序,可以观察到刚才的实验内容:节点板上LED灯的轮流闪烁。3.2 CC2530通用 I/O口介绍CC2530具有CC2500 RF 接收器以及增强性能的8051 MCU、8KB RAM等,其增强的8051 MCU核的性能是工业标准8051核性能的8倍。CC2530还具备直接存储器定址(DMA)功能(它能够被用于减轻8051微控制器内核对数据搬移,因此提高了芯片整体的性能)、可编程看门狗定时器、AES-128安全协处理器、多达8输入的8-14位ADC、USART、睡眠模式定时、上电复位、掉电检测电路(Brown Out Detection)、21个可编程I/O管脚等,两个可编程的USART用于主/从SPI或UART操作,带外部功放的CC2530参考设计可提供+10dBm的输出功率。CC2530芯片采用7mm7mmQLP封装,共有48个引脚。全部引脚可分为I/O端口线引脚、电源线引脚和控制线引脚三类。CC2530有21个可编程的I/O口引脚,P0、P1口是完全的8位口,P2口只有5个可使用的位。通过软件设定一组SFR寄存器的位和字节,可使这些引脚作为通常的I/O口或作为连接ADC、计时器或USART部件的外围设备I/O口使用。当用作通用I/O时,引脚可以组成2个8位口(口O7),定义为PO、P1,1个5位口(05)P2。其中,PO和P1是完全的8位口,而P2仅有5位可用。I/O口特性: 可设置为通常的I/O口,也可设置为外围I/O口使用。 在输入时有上拉和下拉能力。 全部21个数字I/O口引脚都具有响应外部的中断能力。如果需要外部设备,可对I/O口引脚产生中断,同时外部的中断事件也能被用来唤醒休眠模式。CC2530寄存器:I/O寄存器负责所有通用I/O引脚。CPU可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。CPU中断可以分别在每个引脚上使能。每个连接到I/O引脚的外设可以在两个不同的I/O引脚位置之间选择,以确保在不同应用程序中的灵活性。所有的口均可以位寻址,或通过特殊功能寄存器由P0、P1和P2字节寻址。每个口都可以单独设置为通用I/O或外部设备I/O。除了两个高输出口P1_0和P1_1之外,所有的口用于输出,均具备4mA的驱动能力;而Pl_0和P1_1具备20mA的驱动能力。I/O 端口的寄存器如下: P0 :端口 0 P1 :端口 1 P2 :端口 2 PERCFG :外设控制寄存器 APCFG :模拟外设 I/O 配置 P0SEL :端口 0 功能选择寄存器 P1SEL :端口 1 功能选择寄存器 P2SEL :端口 2 功能选择寄存器 P0DIR :端口 0 方向寄存器 P1DIR :端口 1 方向寄存器 P2DIR :端口 2 方向寄存器 P0INP :端口 0 输入模式寄存器 P1INP :端口 1 输入模式寄存器 P2INP :端口 2 输入模式寄存器 P0IFG :端口 0 中断状态标志寄存器 P1IFG :端口 1 中断状态标志寄存器 P2IFG :端口 2 中断状态标志寄存器 PICTL :中断边缘寄存器 P0IEN :端口 0 中断掩码寄存器 P1IEN :端口 1 中断掩码寄存器 P2IEN :端口 2 中断掩码寄存器 PMUX :掉电信号 Mux 寄存器 OBSSEL0 :观察输出控制寄存器 0 OBSSEL 1 :观察输出控制寄存器 1 OBSSEL 2 :观察输出控制寄存器 2 OBSSEL 3 :观察输出控制寄存器 3 OBSSEL 4 :观察输出控制寄存器 4 OBSSEL 5 :观察输出控制寄存器 5寄存器PxSEL(其中x为口的标号,其值为02),用来设置I/O口为8位通用I/O或者是外部设备I/O。任何一个I/O口在使用之前,必须首先对寄存器PxSEL赋值。作为缺省的情况,每当复位之后,所有的输入/输出引脚都设置为通用8位I/O;而且,所有通用I/O都设置为输入。在任何时候,要改变一个引脚口的方向,使用寄存器PxDIR即可。只要设置PxDIR中指定位为1,其对应的引脚口就被设置为输出了。用作输入时,每个通用I/O口的引脚可以设置为上拉、下拉或三态模式。作为缺省的情况,复位之后,所有的口均设置为上拉输入。要将输入口的某一位取消上拉或下拉,就要将PxINP中对应位设置为1。P0 (0x80) 端口0P1 (0x90) 端口1寄存器P2 (0xA0) 端口 2P0SEL (0xF3) 端口 0 功能选择P1SEL (0xF4) 端口 1 功能选择P2SEL (0xF5) 端口 2 功能选择和端口 1 外设优先级控制位名称复位R/W描述7-0R0没有使用6PRI3P10R/W端口1外设优先级控制。当模块被指派到相同的引脚的时候,这些位确定哪个模块优先。0: USART 0 优先1: USART 1 优先5PRI2P10R/W端口1外设优先级控制。当PERCFG分配USART1和定时器3到相同的引脚的时候,这些位确定优先次序。0:USART 1 优先1:定时器3优先4PRI1P10R/W端口1外设优先级控制。当PERCFG分配定时器1和定时器4到相同的引脚的时候,这些位确定优先次序。0:定时器1优先1:定时器4优先3PRI0P10R/W端口1外设优先级控制。当PERCFG分配USART 0和定时器1到相同的引脚的时候,这些位确定优先次序。0:USART 0 优先1:定时器1 优先2SELP2_40R/WP2.4 功能选择0:通用 I/O1:外设功能1SELP2_30R/WP2.3功能选择0:通用I/O1:外设功能0SELP2_00R/WP2.0功能选择0:通用I/O1:外设功能P0DIR (0xFD) 端口 0 方向位名称复位R/W描述7:0DIRP0_7:00x00R/WP0.7到P0.0的I/O方向0:输入1:输出P1DIR (0xFE) 端口 1 方向位名称复位R/W描述7:0DIRP1_7:00x00R/WP1.7到P1.0的I/O方向0:输入1:输出P2DIR (0xFF) 端口 2 方向和端口 0 外设优先级控制位名称复位R/W描述7:6PRIP01:000R/W端口0外设优先级控制。当当PERCFG分配给一些外设到相同引脚的时候,这些位将确定优先级。详细优先级列表:00:第1优先级:USART 0 第2优先级:USART 1 第3优先级:定时器101: 第1优先级:USART 1 第2优先级:USART 0 第3优先级:定时器110: 第1优先级:定时器1通道0-1 第2优先级:USART 1 第3优先级:USART 0 第4优先级:定时器1通道2 311: 第1优先级:定时器1通道2-3 第2优先级:USART 0 第3优先级:USART 1 第4优先级:定时器1通道0 15-0R0不使用4:0DIRP2_4:00 0000R/WP2.4到P2.0的I/O方向0:输入1:输出P0INP (0x8F) 端口 0 输入模式P1INP (0xF6) 端口 1 输入模式P2INP (0xF7) 端口 2 输入模式P0IFG (0x89)端口0 中断状态标志P1IFG (0x8A)端口1 中断状态标志P2IFG (0x8B)端口2 中断状态标志 PICTL (0x8C)端口中断控制P0IEN (0xAB) 端口0 中断屏蔽P1IEN (0x8D)端口1 中断屏蔽P2IEN (0xAC) 端口2 中断屏蔽PMUX (0xAE) 掉电信号Mux图 ZigBee通信模块上CC2530无线单片机管脚外部设备I/O:数字I/O引脚可以配置为外部设备I/O。通常选择数字I/O引脚上的外部设备I/O功能,需要将对应的寄存器位PxSEL置1。注意,该外部设备具有两个可以选择的位置对应它们的I/O引脚。SFR寄存器位PERCFG,U0CFG选择计数器上I/O的位置,确定是位置1或者位置2个口将设置为模拟模式。未使用的引脚应当定义电平,而不能悬空。一种方法是:该引脚不连接任何元器件,将其配置为具有上拉电阻器的通用输入口。这也是所有的引脚在复位期间的状态。这些引脚也可以配置为通用输出口。为了避免额外的能耗,无论引脚配置为输入口还是输出口,都不可以直接与VDD或者GND连接。4、 硬件原理图下图是本系统的节点模块,其中通信模块是有CC2530无线单片机构成的ZigBee模块。 图 节点及ZigBee通信模块下图是CC2530无线单片机的原理图。图 ZigBee模块原理图模块上直接配置了编程口;有两个按键和两个发光二极管。图 ZigBee模块上两个LED灯的连接两个发光二极管分别接到CC2530芯片的P10和P11端口,由端口输出的电平控制是否点亮,如图所示,当对应端口输出低电平时LED亮,相反不亮。ZigBee模块上配置了两个按键,复位Reset按键和普通按键,分别连接到CC2530单片机的20脚复位端口“RESET_N”和第36脚“P20”端口。如原理图所示。图 ZigBee模块上两个按键的连接5、 实验内容本次实验的目的是让用户学会使用CC2530的I/0来控制外设,本例以LED灯为外设,用CC2530控制简单外设时,应将I/O设置为输出。实验现象LED闪烁。实验设备:仿真器1台,电池板(或液晶板)1块,ZigBee模块1块,USB连接线1根。实验相关寄存器:实验中操作了的寄存器有P1,P1DIR,没有设置而是取默认值的寄存器有:P1SEL,P1INP。实验准备: IAR软件安装、界面功能熟悉、简单工程建立实验;主要步骤:安装IAR。启动IAR。新建一个IAR工作区,或者打开一个IAR工作区。连接CC Debugger调试器和ZigBee模块、连接CC Debugger到计算机,安装驱动。设置项目参数。编译、下载程序。安装SmartRF Flash Programmer 软件。 使用 SmartRF Flash Programmer 软件下载程序。详细步骤见前面(实验一)预备知识。实验1.1 CC2530 I/O输出控制:点LED灯,自动周期闪烁。程序设计:程序设计流程图要点:初始化引脚时要配置方向寄存器PxDIR,设置引脚为输入或者输出。相关函数/定义控制灯的端口#define RLED P1_0/定义LED1为P10口控制#define YLED P1_1/定义LED2为P11口控制void Delay(uint n) /延时 (功能:软件延时,执行 5 次0到 n 的空循环来实现软件延时。延时时间约为 5n/32s。) uint tt; for(tt = 0;ttn;tt+); for(tt = 0;ttn;tt+); void Initial(void) /初始化P0口(功能:把连接 LED的两个 I/0 设为输出,同时将它们设为高电平(此时LED灭) P1DIR |= 0x03; /P10、P11定义为输出 RLED = 1; YLED = 1; /LED灭 void main(void) /主函数Initial();/调用初始化函数RLED = 0;/LED1YLED = 0;/LED2while(1) YLED = !YLED; Delay(10000); YLED = !YLED; RLED = !RLED; Delay(50000); Delay(50000);实验1.2 CC2530 I/O输入控制:读取按键状态、控制LED点灯(开关、闪烁)相关函数:uchar KeyScan(void) /读键值 if(K1 = 0) /低电平有效 Delay(100); /检测到按键 if(K1 = 0) while(!K1); /直到松开按键 return(1); return(0);void main(void) /主函数 Initial();/调用初始化函数 InitKey(); RLED = ON;/LED1 YLED = OFF;/LED2 while(1) Keyvalue = KeyScan(); if(Keyvalue = 1) RLED = !RLED; /red YLED = !YLED; /Yello Keyvalue = 0; /清除键值 6、 实验步骤 6.1 实验准备按照前述“(3)模块连接方式”步骤,用10芯排线连接ZigBee模块和CC Debug仿真器,然后用USB线连接CC Debug仿真器和计算机,如下图所示。6.2 I/O口输出控制:点灯,自动闪烁。通过控制IO端口的高低电平实现控制LED发光二极管的亮灭。实验流程图见上面,具体控制程序上图。观察LED灯的亮灭及周期变化。两个发光二极管分别接到CC2530芯片的P10和P11口,如下如所示:(1)启动IAR,找到实验一程序文件所在的文件夹,打开工作区文件Exp 1_1.eww; (2)取一个节点模块,节点模块上要有ZigBee通信模块,如上图,按照前面预备知识中(3)编译、下载程序”顺序连接模块到CC Debugger和计算机,连接电源,连接好后,打开电源开关;(4)按照上面预备知识中:(5)编译、下载程序”步骤完成本实验的编译;点击IAR功能菜单上的绿色的下载按键,完成下载。6.3 I/O口输入控制:按键控制点灯(开关、闪烁)通过读取IO端口外接的按键状态的读取,决定别的端口外接LED灯的状态。观察按键对LED灯亮灭的控制及变化。类似上面步骤,连接无线节点上ZigBee模块、CCDebug及计算机,找到实验一程序文件所在的文件夹,打开工作区文件Exp 1_2.eww;完成IAR环境的编译、下载。按下按键开关“Key”,观察实验现象!7、 实验扩展 实验小结:通过本小节的学习,学会如何安装IAR软件,如何建立、打开、编译、下载一个IAR工程,并学会如何安装和使用SmartRF Flash Programmer 软件,观察实验现象。学会I/O端口的使用,并学会如何控制LED灯轮流闪烁。此实验是学习单片机的入门实验,通过学习,对单片机有个基本了解,便于今后更复杂单片机程序的开发。思考:(1) 如何打开其它工作区文件?(2) 如何改变灯闪烁的时间间隔?(3) 如何改变几个灯闪烁的次序?(4) 如何改进按键抖动的影响,及改变控制的对象?实验二 CC2530 串口数据通信实验本实验主要目的是学会使用CC2530的通用IO口及其编译软件环境IAR的基本使用方法,达到初步了解使用CC2530无线单片机的目的。1、 实验要求 (1) 熟悉CC2530无线单片机的串口通信功能、管脚;(2) 进行CC2530无线单片机的串口配置方法;(3) 完成CC2530串口通信实验,分析总结实验。2、 实验目的 (1) 学习使用CC2530单片机中断方式实现串口通信;(2) 学习如何设置串口的波特率;(3) 掌握如何使用串口收发数据,掌握自己修改并调试串口通信的方法;3、 预备知识 3.1 CC2530数字输入/输出引脚CC2530有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC、定时器或USART外设。这些I/O 口的用途可以通过一系列寄存器配置,由用户软件加以实现。21 个I/O 引脚都可以用作于外部中断源输入口。因此如果需要外部设备可以产生中断。外部中断功能也可以从睡眠模式唤醒设备。详细信息参考“实验一”中“预备知识”的“3.2 CC2530通用 I/O口介绍”。I/O 端口具备如下重要特性: 21 个数字I/O 引脚 可以配置为通用I/O 或外部设备I/O 输入口具备上拉或下拉能力 具有外部中断能力。3.2 数字I/O 引脚配置为外设I/OUSART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或者同步SPI 模式。两个USART具有同样的功能,可以设置在单独的I/O 引脚。对于USART 和定时器I/O,在一个数字I/O 引脚上选择外设I/O 功能,需要设置对应的PxSEL 位为1。注意,该外部单元具有两个可以选择的位置对应它们的I/O 引脚,参见表。外设/功能P0P1P2765432107654321043210ADCA7A6A5A4A3A2A1A0TUSART0 SPIAlt. 2CSSMOMIM0MICSSUSART0 UARTAlt. 2RTCTTXRXTXRXRTCTUSART1 SPIAlt. 2MIM0CSSMIM0CSSUSART1 UARTAlt. 2RXTXRTCTRXTXRTCTTIMER 1Alt. 2 4321034012TIMER 3Alt. 21010TIMER 4Alt. 2101032-kHz XOSCQ1Q2DEBUGDCDD如果有关于I/O 映射的冲突设置,可以在这些之间设置优先级(使用P2SEL.PRIxP1 和P2DIR.PRIP0 位)。所有不会导致冲突的组合都可以使用。注意即使没有使用,外设一般也会出现在选定的位置,使用引脚的其他外设必须给予较高的优先级。例外情况是流量控制禁用时UART 模式下USART 的RTS 和CTS 引脚, 以及SPI 主模式下USART 配置的SSN 引脚。还要注意不管PxINP 的设置,有输入引脚的外设单元是从引脚接收输入,这可能会影响外设单元的状态。例如如果RX 引脚在用作一个UART 引脚之前,可能已经有活动, UART 在使用之前必须被清除。实验相关寄存器: P1,P1DIR,CLKCONCMD,SLEEPCMD,PERCFG,U0CSR,U0GCR,U0BAUD,IEN0等。寄存器配置请看前面实验内容。系统初始化时,以查询的方式向串口发送默认的出厂信息,接下来,串口等待接收数据,串口接收以中断方式接收串口输入的数据,接收到串口上的数据后将数据发还给串口,此时可以在CITE-LAB软件上观察到串口输入的数据。USART 0SFR 寄存器位PERCFG.U0CFG 选择是否使用备用位置1 或备用位置2。在上表中,USART 0 信号显示如下:类型/信号UARTRX:RXDATATX:TXDATART:RTSCT:CTSSPIMI:MISOMI:MISOC:SCKSS:SSNUART: RX:RXDATA TX:TXDATA RT:RTS CT:CTSSPI: MI:MISO MI:MISO C:SCK SS:SSNP2DIR.PRIP0 选择为端口0 指派一些外设的优先顺序。当设置为00 时,USART 0 优先。注意如果选择了UART 模式,且硬件流量控制禁用,UART 1 或定时器1 将优先使用端口P0.4 和P0.5。P2SEL.PRI3P1 和P2SEL.PRI0P1 选择为端口1 指派一些外设的优先顺序。当它们两个都设置为0 时,USART0 优先。注意如果选择了UART 模式,且硬件流量控制禁用,定时器1 或定时器3 将优先使用端口P1.2 和P1.3。USART 1SFR 寄存器位PERCFG.U1CFG 选择是否使用备用位置1 或备用位置2。在上表中,USART 1 信号显示如下:UART: RX:RXDATA TX:TXDATA RT:RTS CT:CTSSPI: MI:MISO MO:MOSI C:SCK SS: SSNP2DIR.PRIP0 选择为端口0 指派一些外设时的优先顺序。当设置为01,USART 1 优先。注意如果选择了UART 模式,且硬件流量控制禁用,USART 0 或定时器1 将优先使用P0.2 和P0.3。P2SEL.PRI3P1 和P2SEL.PRI2P1 选择为端口1 指派一些外设的优先顺序。当前者设置为1 而后者设置为0时,USART 1 优先。注意如果选择了UART 模式,且硬件流量控制禁用,USART 0 或定时器3 将优先使用P1.4和P1.5。4、 实验内容及步骤实验内容: 本部分实验分为3个,第一个实验内容:由CC2530单片机串口发送数据,在PC机用串口工具观察数据接收。第二个实验内容:由PC机通过串口发送数据给CC2530单片机,控制单片机节点上LED发光二极管的状态。第三个实验内容:单片机串口发数,PC收数并转发回数据。主要步骤:4.1 实验6_11:单片机串口发送数据,PC机用串口观察数据接收。(1) 打开物联网实验箱电源,将Jlink V8仿真器连接到物联网实验箱中网关板JTAG口;(2) 用USB线连接仿真器和PC机电脑,打开光盘内串口控制程序: (3) 运行串口调试助手,进行串口调试助手工具的设置,勾选“Hex 显示”、“Hex 发送”,设置串口波特率为57600;“串口号”设置为PC机“设备管理器”中“端口(COM和LPT)”出现的对应端口号。(4) 启动IAR,打开实验代码所在文件夹“Exp 6_1-1(CC2530单片机UART口自发自收)”,打开里面的工作区文件“Exp 6_1-1 UARTt.eww”;(5) 取一个ZigBee模块,安装到物联网实验箱上的“JTIA”位置,对照箱子底板和ZigBee通信板上标注的安装方向,保证一致后安装。(6) 按照实验一步骤,用10芯扁平线连接CC Debugger和刚才安装到箱子底板上的ZigBee模块编程口,然后用USB电线连接CC Debugger和计算机。连接好后,打开电源开关。(7) 按照实验一介绍的流程,编译、链接并下载本实验程序到节点板上ZigBee通信模块;(8) 在PC机上串口调试助手界面上观察实验中PC机接收数据。调整实验程序参数,熟悉并掌握上述参数配置。4.2 实验6_12:Exp 6_1-2(串口跑马表时钟 PC 端显示)(1) 在完成上面“实验61”的基础上,跳过上述步骤(1)步骤(3);(2) 启动IAR,打开实验代码所在文件夹“Exp 6_1-2(串口跑马表时钟 PC 端显示)”,打开里面的工作区文件“Exp 6_1-2 UARTclock.eww”;(3) 取一个ZigBee模块,安装到物联网实验箱上的“JTIA”位置,对照箱子底板和ZigBee通信板上标注的安装方向,保证一致后安装。(4) 按照实验一步骤,用10芯扁平线连接CC Debugger和刚才安装到箱子底板上的ZigBee模块编程口,然后用USB电线连接CC Debugger和计算机。连接好后,打开电源开关。(5) 按照实验一介绍的流程,编译、链接并下载本实验程序到节点板上ZigBee通信模块;(6) 在PC机上串口调试助手界面上观察实验中PC机接收数据。调整实验程序参数,熟悉并掌握上述参数配置。4.3 Exp 6_2(PC用串口控制 2530板LED)(1) 在完成上面“实验61”的基础上,跳过上述步骤(1)步骤(3);(2) 启动IAR,打开实验代码所在文件夹“4.3Exp 6_2(PC用串口控制 2530板LED)”,打开里面的工作区文件“Exp 6_2 UARTRX.eww”;(3) 取一个ZigBee模块,安装到物联网实验箱上的“JTIA”位置,对照箱子底板和ZigBee通信板上标注的安装方向,保证一致后安装。(4) 按照实验一步骤,用10芯扁平线连接CC Debugger和刚才安装到箱子底板上的ZigBee模块编程口,然后用USB电线连接CC Debugger和计算机。连接好后,打开电源开关。(5) 按照实验一介绍的流程,编译、链接并下载本实验程序到节点板上ZigBee通信模块;(6) 在PC机上串口调试助手界面上观察实验中PC机接收数据。调整实验程序参数,熟悉并掌握上述参数配置。4.4 Exp 6_3(PC 串口收数并发数)(1) 在完成上面“实验61”的基础上,跳过上述步骤(1)步骤(3);(2) 启动IAR,打开实验代码所在文件夹“Exp 6_3(PC 串口收数并发数)”,打开里面的工作区文件“Exp 6_3 UARTrxtx.eww”;(3) 取一个ZigBee模块,安装到物联网实验箱上的“JTIA”位置,对照箱子底板和ZigBee通信板上标注的安装方向,保证一致后安装。(4) 按照实验一步骤,用10芯扁平线连接CC Debugger和刚才安装到箱子底板上的ZigBee模块编程口,然后用USB电线连接CC Debugger和计算机。连接好后,打开电源开关。(5) 按照实验一介绍的流程,编译、链接并下载本实验程序到节点板上ZigBee通信模块;(6) 在PC机上串口调试助手界面上观察实验中PC机接收数据。调整实验程序参数,熟悉并掌握上述参数配置。5、 实验小结:通过本小结的学习,学会使用CC2530无线单片机实现串口通信及其配置,分析总结实验。6、 思考题:(1) 如果改变串口通信速率为115200,怎样修改程序,并验证?(1) 如何使用CC2530其他UART端口,怎样修改配置?(2) 如何使用CC2530的SPI通信方式?怎样修改配置?端口分别是哪几个?实验三 CC2530 点到点无线通信实验本实验主要目的是学会使用CC2530的通用IO口及其编译软件环境IAR的基本使用方法,达到初步了解使用CC2530无线单片机的目的。1、 实验要求 (1) 熟悉CC2530 芯片主要特性;掌握CC2530 无线模块的点对点数据传输工作方式;(2) 编程实现两个CC2530 模块之间进行无线数据传输。完成必要的实验环节,分析总结实验。2、 实验目的 (1) 熟悉CC2530 芯片主要特性;(2) 掌握CC2530 无线模块的点对点数据传输工作方式;3、 预备知识 点对点无线通信过程中,要使数据能够正确传输,通信的两个节点要绑定同一个Pan ID 以及 Channel。就是先要保证通信双方信道一致,其次,因为在实验中采用了地址过滤,地址过滤中包含PANID和短地址信息,所以发送方的PANID和目的地址要和接收方的PANID和源地址相同。本实验中,所有实验箱发送方的目的地址都相同,使用PANID过滤来屏蔽其它实验箱数据,使接收方只接收此实验箱发送方的数据。 主控节点 从节点4、 实验内容及步骤实验内容本实验设计思路:通过终端节点周期性无线发射字符串:“Hello World!”,配置在同一信道及PANID的中心节点箱上ZigBee节点就能够接收到这一信息,然后通过串口送到PC机,在PC机上“串口调试助手”上显示接收字符并刷新。实验9 CC2530 点到点无线通信实验:(1) 参照“实验五”的“实验步骤(1)(3)”,配置物联网实验箱;运行串口调试助手,进行串口调试助手工具的设置,勾选“Hex 显示”、“Hex 发送”,设置串口波特率为57600;“串口号”设置为PC机“设备管理器”中“端口(COM和LPT)”出现的对应端口号。(2) 中心接收节点配置:1) 启动IAR,打开实验代码所在文件夹“实验9 CC2530 点到点无线通信实验(Hello world)/ Exp 9 PeerToPeer-Center

温馨提示

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

最新文档

评论

0/150

提交评论