学院名称:电信学院专业:通信工程班级:姓名:学号:指导老师:2014年3月无线通信技术综合训练报告无线通信技术综合训练报告无线通信技术综合训练报告目录训练一新建一个简单的工程项目........................................................1训练二GPIO实验..................................................................................2训练三系统主时钟源的选择实验........................................................5训练四SPI通信与LCD显示主从板实验...........................................8训练五ADC主从板实验.....................................................................13训练六UART串行通信实验...............................................................18训练七定时器1实验..........................................................................22训练八外部中断实验..........................................................................29训练九看门狗实验..............................................................................33训练十IEEE802.15.4基础理论实验...................................................36训练十一多种拓扑结构组网实验......................................................40训练十二基于RFID的无线读写系统实验.......................................44训练十三通用传感器实验..................................................................48训练十四无线通信系统实验..............................................................51心得体会...................................................................................................52无线通信技术综合训练报告第1页,共54页训练一新建一个简单的工程项目一、实验内容本实验要求闪烁开发板上的用户指示灯LED1二、实验原理由开发板原理图可知,对于主节点,定义LED1为CC2530的P1.0口控制,对于从节点,定义LED1为CC2530的P1.1口控制。相应控制口为高电平时,LED点亮,为低电平时,LED熄灭。IAREmbeddedWordbench主要完成系统的软件开发和调试。它提供一整套的程序编写,维护,编译,调试环境,将汇编语言和C语言程序编译成HEX可执行输出文件,并能将程序下载到目标CC2530上运行调试。用户系统的软件部分可以由IAR建立的工程文件管理,工程文件一般包含以下几种文件:1.源程序文件:C语言或汇编语言文(*.C或*.ASM)2.头文件(*.H)3.库文件(*.LIB,*OBJ);三、基本实验步骤第一步:连接实验设备,将USB的电缆线接到PC机USB端口上,实验板电源指示灯亮。第二步:启动IAR开发环境,打开“开始”菜单-“程序”-IARSystem-IAREmbeddedWordbenchfor80517.60-IAREmbeddedWordbench第三步:创建工程1.创建一个工作区2.建立一个新工程3.新建或添加程序文件4.设置工程选项5编译和调试6.下载7.分析实验结果四、实验结果与分析答:实验现象:按下开关K1时,实验板上LED1闪烁。分析:该程序由库函数,主函数和延时函数组成。对于主节点,定义LED1为CC2530的P1.0口控制,对于从节点,定义LED1为CC2530的P1.1口控制。相应控制口为高电平时,LED点亮,为低电平时,LED熄灭。五、存在问题和解决方法1.没有结果的显示答:是因为没有按照步骤来,没能一步一步的进行设置,编译,调试,才导致了一些错误的发生无线通信技术综合训练报告第2页,共54页训练二GPIO实验一、实验内容1.LED指示灯自动闪烁2.按键控制LED指示灯亮灭;3.按键控制LED指示灯闪烁二、实验原理1.I/O口重要特性21个I/O口引脚都可以用于外部中断源输入口,因此如果需要,外部设备可以通过这些I/O口产生中断。外部中断功能也可以唤醒睡眠模式。2.未使用的I/O引脚这些引脚也可以配置为通用输出口。为了避免额外的功耗,无聊引脚配置为输入口还是输出口,都不应该直接与VDD或者GND连接。3.外部设备I/O对于USART和定时器I/O,选择数字I/O引脚上的外部设备I/O功能,需要将对应的寄存器位PxSEL置1.4.通用I/O(GPIO)寄存器当用作通用I/O口时,引脚可以组成3个8位口,端口0~2,定义为P0,P1,和P2。每个端口引脚都可以单独设置为通用I/O或外部设备I/O.5.实验电路原理为了驱动LED的亮灭,需要将相应的I/O设置为通用I/O口,且为输出模式,并使接口输出“1”或“0”来切换LED的亮或灭状态。如果需要按键控制,则需要将按键K对应的I/O设置为通用I/O口,且为输入模式,通过读取相应端口寄存器值判断按键的状态。三、基本实验步骤1.指示灯自动闪烁实验按照实验一的实验步骤,连接实验设备,启动IAR开发环境,创建一个新工程,将程序添加到工程程序文件中,仔细分析程序功能,画出程序流程图,设置工程选项,然后编译,软硬件仿真,下载,观察实验现象。2.按键控灯亮灭实验按照实验一的实验步骤,连接实验设备,启动IAR开发环境,创建一个新工程,将程序添加到工程文件中,仔细分析分析程序功能,画出程序流程图,设置工程选项,然后编译,软硬件仿真,下载,观察实验现象。四、设计性实验程序流程与分析无线通信技术综合训练报告训练二GPIO实验第3页,共54页开始按键扫描有键按下?K1按下?LED1=!LED1LED2=!LED2是否是否初始化延时0.5秒延时1秒图2-1实验流程图五、实验结果与分析基础实验1:中实验板上LED1,LED2自动闪烁,实现指示灯自动闪烁要求。分析:程序中让两个LED灯的状态在while(1)这个死循环中通过不同的延时,反复的调用,取反使LED灯可以不停的闪烁。基础实验2:中按下K1时,LED1亮,再次按下K1,LED灭;按下K2时,LED2亮,LED2灭,实现按键控灯亮灭实验要求。分析:程序初始化完毕进入while(1)死循环,然后在循环中进行按键扫描,看是否有按键按下,如果K1按下,则将LED1的状态取反并延时;如果是K2按下,也是将LED2的状态取反并延时。注意设计二者的延时时间不同,这样可以识别出二者的闪烁频率不同。设计性实验:中按下K1时,LED1闪烁,再次按下K1,LED1熄灭;按下K2时,LED2闪烁,再次按下K2,LED2熄灭;如此重复循环,实现设计性实验要求。分析:在该设计性实验就是比基础实验2多了一个功能,判断第二次按下,熄灭该灯,只需在基础实验2的基础上加上一个按键扫描并判断是哪个键按下就好了。无线通信技术综合训练报告训练二GPIO实验第4页,共54页综上均符合实验要求,说明程序设计正确六、实验思考题1.Delay(uint)中参数uint的取值范围是什么?如果超范围程序能运行吗?为什么?答:uint的取值范围是0~65535。能运行,因为取的数要先减去65535。2.基本实验2中“Keyvalue=0”语句的作用是什么?如果删除对实验结果有什么影响答:相应按键值清零,默认为I/O口删除后对程序没什么影响。3.本实验对CC2530的哪些寄存器进行了操作?都是必要的吗?答:P0和P1端口寄存器。都是必要的。4.设计性实验中如何使LED有多种不同的闪烁方式?答:改变闪烁频率,改变调用延时时间。七、存在问题和解决方法1.灯的按键控制要按记下才能灭掉初步估计是按键不灵,进行各种添加和修改程序都没有可见的用处无线通信技术综合训练报告第5页,共54页训练三系统主时钟源的选择实验一、实验内容通过本实验的学习,熟悉CC2530芯片内部系统时钟或主时钟的配置和使用方法。通过配置开发板上CC2530芯片的主时钟频率,从而改变指示灯闪烁的频率二、实验原理1.振荡器设备中有两个高频振荡器:32MHZ晶体振荡器;16MHZRC振荡器。两个低频振荡器:32KHZ晶体振荡器;32KHZRC振荡器。32KHZ晶体振荡器被设计为工作在32.768KHZ,并为要求精确时间的系统提供一个稳定的时钟信号。2.系统时钟系统时钟由选定的系统时钟源32MHZ晶体振荡器或者16MHZRC振荡器而来。CLKCONCMD.OSC位选择系统时钟源。请注意,使用RF收发器,必须选择32MHZ晶体振荡器且必须稳定。3.32KHZ晶振设备里有2个32KHZ振荡器作为32KHZ时钟的时钟源:32KHZ晶体振荡器;32KHZRC振荡器。默认情况下,复位后,32KHZRC振荡器启用且被选为32KHZ时钟源。可以随时设置寄存器CLKCONCMD.OSC32K,但是在16MHZRC振荡器作为系统时钟源之前都不起作用。4.振荡器和时钟寄存器在PMO功耗模式下,可配置32MHZ晶体振荡器或者16MHZRC振荡器作为系统时钟,设置系统时钟需要操作两个寄存器:SLEEPCMD和CLKCONCMD.三、基本实验步骤按照实验一的实验步骤,连接实验设备,启动IAR开发环境,创建一个新工程,将程序添加到工程程序文件中,仔细分析程序功能,画出程序流程图,设置工程选项,然后编译,软硬件仿真,下载,观察实验现象。四、设计性实验程序流程与分析流程图分析:程序开始后先进行初始化,初始化模块包括LED和按键初始化。然后设置控制变量X并调用按键扫描函数,按键扫描值为按键扫描返回值。判断按键值是否为1,等于1的时候将变量X取反并判断其值是否为0,等于0的时候设置系统时钟为16MHZ,此时指示灯1闪烁并延时,否则设置系统时钟为32MHZ,此时指示灯1闪烁延时并返回按键扫描函数。当按键值为2时,此时指示灯2闪烁,否则返回按键扫描函数。无线通信技术综合训练报告训练五ADC主从板实验第6页,共54页图3-1实验流程图开始LED初始化按键初始化设置控制变量X调用按键扫描函数,按键扫描值为按键扫描函数返回值按键值?=1X(取反)X?=0设置系统时钟为16MHZ指示灯1闪烁延时设置系统时钟为32MHZ指示灯1闪烁延时按键值?=2指示灯2闪烁NNYYN无线通信技术综合训练报告训练五ADC主从板实验第7页,共54页五、实验结果与分析基础实验中开发板上指示灯闪烁频率不一样,实现指示灯自动更新闪烁频率要求。分析:当系统时钟为16MHZ时,LED2闪烁;系统时钟切换为32MHZ时,LED1闪烁。两者所选的时钟信号不同,所以闪烁频率不同,32MHZ的系统时钟比16MHZ的时钟频率高,故LED1闪烁更快。设计性实验中按下K1时,LED1闪烁频率加倍,再按下K1时,LED1闪烁频率减半;按下K2时,LED2闪烁频率加倍,再按下K2时,LED2闪烁频率减半;如此重复循环。实现设计性实验要求。分析:设计实验只需在基础实验的基础上加两个按键扫描判断即可,由于两次按键需