无线通信技术综合训练报告学院名称:专业:班级:姓名:学号:指导老师:2013年11月无线通信技术综合训练报告无线通信技术综合训练报告目录训练一新建一个简单的工程项目........................................................1训练二GPIO实验..................................................................................3训练三系统主时钟源的选择实验........................................................8训练四SPI通信与LCD显示实验......................................................12训练五ADC实验.................................................................................17训练六UART串行通信实验...............................................................22训练七定时器1实验..........................................................................27训练八外部中断实验..........................................................................34训练九看门狗实验..............................................................................38训练十IEEE802.15.4基础理论实验...................................................43训练十一多种拓扑结构组网实验......................................................46训练十二基于RFID的无线读写系统实验.......................................53训练十三通用传感器实验..................................................................57训练十四无线通信系统实验..............................................................61心得体会...................................................................................................64附录...........................................................................................................65无线通信技术综合训练报告第1页,共67页训练一新建一个简单的工程项目一、实验内容闪烁开发板上的用户指示灯LED1。二、实验原理由开发板原理图可知,对于主节点,定义LED1为CC2530的P1.0口控制,对于从节点,定义LED1为CC2530的P1.1口控制。相应控制口为高电平时,LED点亮,为低电平时,LED熄灭。开发CC2530应用系统一般需要以下几个调试工具来完成:1.软件集成开发环境(IAREmbeddedWordbench):完成系统的软件开发,进行软件和硬件仿真调试,它也是硬件调试的辅助手段;2.带有CC2530模块开发板:实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据;3.CCDebugger多功能调试器:下载和调试程序。IAREmbeddedWordbench主要完成系统的软件开发和调试。它提供了一整套的程序编写、维护、编译、调试环境,能将汇编语言和C语言程序编译成HEX可执行输出文件,并能将程序下载到目标CC2530上运行调试。用户系统的软件部分可以由IAR建立的工程文件管理,工程文件一般包含以下几种文件:1.源程序文件:C语言或汇编语言文(*.C或*.ASM);2.头文件(*.H);3.库文件(*.LIB,*OBJ);三、基本实验步骤第一步:连接实验设备,将USB电缆线插到PC机的USB端口上,实验板电源指示灯亮。第二步:启动IAR开发环境。第三步:创建工程。1.创建一个工作区。2.建立一个新工程。3.新建或添加程序文件。4.设置工程选项。5.编译和调试。6.下载。7.实验结果。第四步:通过以上几个步骤,最终下载目标程序到CC2530后,观察实验现象,记录实无线通信技术综合训练报告训练一新建一个简单的工程项目第2页,共67页验结果。LED灯闪烁实验:实验流程图:开始初始化引脚P1.0=1延时P1.0=0延时图1-1LED灯闪烁实验四、实验结果与分析答:实验现象:按下开关K1时,实验板上LED1闪烁。分析:该程序由库函数,主函数和延时函数组成。对于主节点,定义LED1为CC2530的P1.0口控制,对于从节点,定义LED1为CC2530的P1.1口控制。相应控制口为高电平时,LED点亮,为低电平时,LED熄灭。五、存在问题和解决方法存在的问题1:程序运行有错误解决方法:Options没有进行相关配置,保存的地址不对。存在的问题2:对于新建工程项目操作步骤不熟悉,并在操作过程中总是忘记添加新的工程文件。解决方法:多操作几遍,熟能生巧,通过反复地操作练习,就能很熟练的掌握操作步骤。存在的问题3:LED是怎么实现闪烁解决方法:通过设置控制口的电平,为高电平时LED亮,为低电平时,LED熄灭。无线通信技术综合训练报告第3页,共67页训练二GPIO实验一、实验内容1.LED指示灯自动闪烁;2.按键控制LED指示灯亮灭;3.按键控制LED指示灯闪烁。二、实验原理本实验中,为了驱动LED的亮灭,需要将相应的I/O设置为通用I/O口,且为输出模式,并使接口输出“1”或“0”来切换LED的亮或灭状态。在亮与灭之间,插入一定的延时,才能保证肉眼看出闪烁的效果。如果需要按键控制,则需要将按键K对应的I/O设置为通用I/O口,且为输入模式,通过读取相应端口寄存器值判断按键的状态。三、基本实验步骤第一步:连接实验设备,将USB电缆线插到PC机的USB端口上,实验板电源指示灯亮。第二步:启动IAR开发环境。第三步:创建工程。1.创建一个工作区。2.建立一个新工程。3.新建或添加程序文件。4.设置工程选项。5.编译和调试。6.下载。7.实验结果。第四步:通过以上几个步骤,最终下载目标程序到CC2530后,观察实验现象,记录实验结果。四、设计性实验程序流程与分析基础实验1:实现LED灯自动闪烁。基础实验1流程图:无线通信技术综合训练报告训练二GPIO实验第4页,共67页开始初始化引脚LED1=!LED1LED2=!LED2延时图2-2LED灯自动闪烁实验分析:先进行LED灯的初始化,初始化LED的引脚和初始状态,调用一个while(1)的死循环,将LED灯的状态取反,再调用一个延时函数来实现亮灭不停的交替变换。基础实验2(从板):通过按键K1,K2控制LED1,LED2闪烁。基础实验2流程图:无线通信技术综合训练报告训练二GPIO实验第5页,共67页开始按键扫描有键按下?K1按下?LED1=!LED1LED2=!LED2是否是否初始化延时0.5秒延时1秒图2-3按键控制LED灯闪烁实验分析:先对K1,K2按键以及LED1,LED2进行初始化,定义从节点,再通过一个按键扫描程序检测是否有按键按下,如果有按键按下,再判断是K1按下还是K2按下,如果K1按下,LED1现在的状态取反,如果是K2按下,那么LED2现在的状态取反,然后返回按键扫描再进行判断,如此循环。设计性实验(从板):按下K1时,LED1闪烁(视觉能够分辨出),再次按下K1,LED1熄灭;按下K2时,LED2闪烁,再次按下K2,LED2熄灭;如此重复循环。设计性实验流程图:无线通信技术综合训练报告训练二GPIO实验第6页,共67页开始按键扫描有键按下?K1按下?LED1=!LED1LED2=!LED2是否是否初始化延时0.5秒延时1秒K1按下?LED1=0K2按下?LED2=0是是否否图2-4按键控制LED灯闪烁熄灭实验分析:本实验先进行按键以及LED灯的初始化,定义从节点,然后进行按键扫描,检测有没有按键按下,如果有,则判断是K1键按下还是K2键按下,如果是K1按下,则将K1下标取反,再通过一个循环(基础实验1)来控制LED1的闪烁,否则将K2按下,通过一个循环来控制LED2的闪烁。五、实验结果与分析基础实验1:指示灯自动闪烁实验实验结果:指示灯自动闪烁。无线通信技术综合训练报告训练二GPIO实验第7页,共67页分析:程序中让两个LED灯的状态在while(1)这个死循环中通过不同的延时,反复的调用,取反,使LED灯可以不停的闪烁。基础实验2:按键控灯亮灭实验实验结果:K1按下,LED1闪烁;K2按下,LED2闪烁。分析:程序初始化完毕进入while(1)死循环,然后在循环中进行按键扫描,看是否有按键按下,如果K1按下,则将LED1的状态取反并延时;如果是K2按下,也是将LED2的状态取反并延时。注意设计二者的延时时间不同,这样可以识别出二者的闪烁频率不同。设计性实验:实验结果:K1按下,LED1闪烁,再次按下K1,LED1熄灭;K2按下,LED2闪烁,再次按下K2,LED2熄灭。循环往复。分析:在该设计性实验就是比基础实验2多了一个功能,判断第二次按下,熄灭该灯,只需在基础实验2的基础上加上一个按键扫描并判断是哪个键按下就好了。六、实验思考题1.Delay(uint)中参数uint取值范围是什么?如果超范围程序能运行吗?为什么?答:Delay(uint)中参数uint取值范围是16位,如果范围超过也可以运行,不过系统会默认选择低16位有效。2.基本实验2中“Keyvalue=0”语句的作用是什么?如果删除对实验结果有什么影响?答:“Keyvalue=0”的作用是把按键标志清零,避免系统误读上次按键的值。如果删除程序将运行不稳定。3.本实验对CC2530的哪些寄存器进行了操作?都是必要的吗?答:本实验对CC2530的从节点设置了5个寄存器(POSEL,PODIR,POINP,PISEL,PIDIR),主节点设置了6个寄存器(POSEL,PODIR,POINP,PISEL,PIDIR,PIINP),不都是必要的,只有自己的节点对应的寄存器定义有效。4.设计性实验中如何使LED有多种不同的闪烁方式?答:设置不同的延时。七、存在问题和解决方法存在的问题1:基本实验1中,LED指示灯闪烁频率太快,视觉无法分辨。解决方法:通过改变延时时间的长短来实现LED指示灯闪烁的快慢。存在的问题2:基本实验2中,按键无法控制LED指示灯的亮灭。解决方法:查看程序,看按键端口、指示灯端口初始化设置是否正确,主从端口是否区分清楚,按键对应相应的LED指示灯是否正确。无线通信技术综合训练报告第8页,共67页训练三系统主时钟源的选择实验一、实验内容通过配置开发板上CC2530芯片的主时钟频率,从而改变指示灯LED闪烁的频率。二、实验原理1.振荡器:设备中有2个高频振荡器:32KHz晶体振荡器;16MHzRC振荡器。设备中有2个低频振荡器:32KHz晶体振荡器;32KHzRC振荡器。2.系统时钟:系统时钟由选定的系统时钟源32MHz晶体振荡器或者16MHzRC振荡器而来。CLKCONCMD.OSC位选择系统时钟源。使用RF收发器,必须选择32MHz晶体振荡器且它必须稳定。3.3