无线通信技术综合训练报告.doc_第1页
无线通信技术综合训练报告.doc_第2页
无线通信技术综合训练报告.doc_第3页
无线通信技术综合训练报告.doc_第4页
无线通信技术综合训练报告.doc_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

无线通信技术综合训练报告学院名称: 专 业: 班 级: 姓 名: 学 号: 指导老师: 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附录6569 / 72训练一 新建一个简单的工程项目1、 实验内容闪烁开发板上的用户指示灯 LED1。二、实验原理 由开发板原理图可知,对于主节点,定义LED1 为CC2530 的P1.0 口控制,对于从节点,定义LED1 为CC2530 的P1.1 口控制。相应控制口为高电平时,LED 点亮,为低电平时,LED 熄灭。开发 CC2530 应用系统一般需要以下几个调试工具来完成:1. 软件集成开发环境(IAR Embedded Wordbench):完成系统的软件开发,进行软件和硬件仿真调试,它也是硬件调试的辅助手段;2. 带有 CC2530 模块开发板:实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据;3. CC Debugger 多功能调试器:下载和调试程序。IAR Embedded Wordbench 主要完成系统的软件开发和调试。它提供了一整套的程序编写、维护、编译、调试环境,能将汇编语言和C 语言程序编译成HEX 可执行输出文件,并能将程序下载到目标CC2530 上运行调试。用户系统的软件部分可以由IAR 建立的工程文件管理,工程文件一般包含以下几种文件:1. 源程序文件:语言或汇编语言文(*.C 或*.ASM);2. 头文件(*.H);3. 库文件(*.LIB,*OBJ);三、基本实验步骤 第一步:连接实验设备,将 USB 电缆线插到PC 机的USB 端口上,实验板电源指示灯亮。 第二步:启动IAR 开发环境。 第三步:创建工程。 1. 创建一个工作区。 2. 建立一个新工程。 3. 新建或添加程序文件。 4. 设置工程选项。 5. 编译和调试。 6. 下载。 7. 实验结果。 第四步:通过以上几个步骤,最终下载目标程序到 CC2530 后,观察实验现象,记录实验结果。 LED灯闪烁实验: 实验流程图:图1-1 LED灯闪烁实验 四、实验结果与分析答:实验现象:按下开关K1时,实验板上LED1闪烁。分析:该程序由库函数,主函数和延时函数组成。对于主节点,定义LED1为CC2530的P1.0口控制,对于从节点,定义LED1为CC2530的P1.1口控制。相应控制口为高电平时,LED点亮,为低电平时,LED熄灭。五、存在问题和解决方法存在的问题1:程序运行有错误解决方法:Options没有进行相关配置,保存的地址不对。存在的问题2:对于新建工程项目操作步骤不熟悉,并在操作过程中总是忘记添加新的工程文件。解决方法:多操作几遍,熟能生巧,通过反复地操作练习,就能很熟练的掌握操作步骤。存在的问题3:LED是怎么实现闪烁解决方法:通过设置控制口的电平,为高电平时LED亮,为低电平时,LED熄灭。训练二 GPIO实验一、实验内容1. LED 指示灯自动闪烁;2. 按键控制 LED 指示灯亮灭;3. 按键控制 LED 指示灯闪烁。二、实验原理 本实验中,为了驱动LED 的亮灭,需要将相应的I/O 设置为通用I/O 口,且为输出模式,并使接口输出“1”或“0”来切换LED 的亮或灭状态。在亮与灭之间,插入一定的延时,才能保证肉眼看出闪烁的效果。如果需要按键控制,则需要将按键K 对应的I/O 设置为通用I/O 口,且为输入模式,通过读取相应端口寄存器值判断按键的状态。3、 基本实验步骤 第一步:连接实验设备,将 USB 电缆线插到PC 机的USB 端口上,实验板电源指示灯亮。 第二步:启动IAR 开发环境。 第三步:创建工程。 1. 创建一个工作区。 2. 建立一个新工程。 3. 新建或添加程序文件。 4. 设置工程选项。 5. 编译和调试。 6. 下载。 7. 实验结果。 第四步:通过以上几个步骤,最终下载目标程序到 CC2530 后,观察实验现象,记录实验结果。4、 设计性实验程序流程与分析基础实验1:实现LED灯自动闪烁。基础实验1流程图:图2-2 LED灯自动闪烁实验 分析:先进行LED灯的初始化,初始化LED的引脚和初始状态,调用一个while(1)的死循环,将LED灯的状态取反,再调用一个延时函数来实现亮灭不停的交替变换。基础实验2(从板):通过按键K1,K2控制LED1,LED2闪烁。 基础实验2流程图: 图2-3 按键控制LED灯闪烁实验 分析:先对K1,K2按键以及LED1,LED2进行初始化,定义从节点,再通过一个按键扫描程序检测是否有按键按下,如果有按键按下,再判断是K1按下还是K2按下,如果K1按下,LED1现在的状态取反,如果是K2按下,那么LED2现在的状态取反,然后返回按键扫描再进行判断,如此循环。 设计性实验(从板): 按下 K1 时,LED1 闪烁(视觉能够分辨出),再次按下K1,LED1 熄灭;按下K2 时,LED2 闪烁,再次按下K2,LED2 熄灭;如此重复循环。 设计性实验流程图:图2-4 按键控制LED灯闪烁熄灭实验分析:本实验先进行按键以及LED灯的初始化,定义从节点,然后进行按键扫描,检测有没有按键按下,如果有,则判断是K1键按下还是K2键按下,如果是K1按下,则将K1下标取反,再通过一个循环(基础实验1)来控制LED1的闪烁,否则将K2按下,通过一个循环来控制LED2的闪烁。 五、实验结果与分析基础实验1:指示灯自动闪烁实验实验结果:指示灯自动闪烁。分析:程序中让两个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指示灯是否正确。训练三 系统主时钟源的选择实验一、实验内容 通过配置开发板上 CC2530 芯片的主时钟频率,从而改变指示灯LED 闪烁的频率。二、实验原理 1. 振荡器: 设备中有 2 个高频振荡器:32KHz 晶体振荡器;16MHz RC 振荡器。 设备中有 2 个低频振荡器:32KHz 晶体振荡器;32KHz RC 振荡器。2.系统时钟: 系 统时钟由选定的系统时钟源32MHz 晶体振荡器或者16MHz RC 振荡器而来。CLKCONCMD.OSC 位选择系统时钟源。使用RF 收发器,必须选择32MHz 晶体振荡器且它必须稳定。3. 32kHz 晶振: 设备里有 2 个32kHz 振荡器作为32kHz 时钟的时钟源:32kHz 晶体振荡器;32kHz RC 振荡器。默认情况下,复位后,32kHz RC 振荡器启用且被选为32kHz 时钟源。RC 振荡器的功耗更低,但是不如32kHz 晶体振荡器精确。4. 振荡器和时钟寄存器:在 PM0 功耗模式下,可配置32MHz 晶体振荡器或者16MHz RC 振荡器作为系统时钟,设置系统时钟需要操作两个寄存器:SLEEPCMD(睡眠模式控制寄存器)和CLKCONCMD(时钟控制寄存器)。三、基本实验步骤 第一步:连接实验设备,将 USB 电缆线插到PC 机的USB 端口上,实验板电源指示灯亮。 第二步:启动IAR 开发环境。 第三步:创建工程。 1. 创建一个工作区。 2. 建立一个新工程。 3. 新建或添加程序文件。 4. 设置工程选项。 5. 编译和调试。 6. 下载。 7. 实验结果。 第四步:通过以上几个步骤,最终下载目标程序到 CC2530 后,观察实验现象,记录实验结果。四、设计性实验程序流程与分析基础实验(从板):分别选择32MHz晶体振荡器和16MHz RC振荡器作为CC253x系列片上系统的系统时钟源(主时钟源),看相同的LED闪烁代码在这两种时钟源下的闪烁速度的区别。基础实验流程图:图3-1 时钟控制LED灯闪烁频率实验分析:实验先进行LED灯的初始化,定义时钟源,接着首先设置系统时钟为RC 16MHZ,看LED2灯的闪烁的情况,再设置系统时钟为晶振32MHZ,再看LED1灯的闪烁情况,再返回到上面设置系统时钟为RC 16MHZ,如此循环切换,观察在两种不同的系统时钟下的LED灯闪烁的情况。可以观察到系统时钟为晶振32MHZ时闪烁频率比RC16MHZ时快的多。设计性实验(从板):当按下K1 时,LED1 闪烁频率加倍,再次按下K1,LED1闪烁频率减半;按下K2 时,LED2 闪烁频率加倍,再次按下K2,LED2 闪烁频率减半;如此重复循环。设计性实验流程图:图3-2 按键选择时钟控制LED闪烁实验分析:实验先对按键以及LED灯进行初始化,然后通过按键扫描,检测是否有按键按下,如果有按键按下,判断是K1按下还是K2按下,如果是K1按下,设置系统时钟为32MHZ使LED1闪烁,否则设置时钟为32MHZ,使LED2闪烁。接着再进行按键扫描,看第二次是哪个键按下,如果是K1按下 则将系统时钟改为16MHZ,同样K2按下也是这样。然后使LED闪烁,接着返回继续扫描按键。五、实验结果与分析基础实验:实验结果:LED1和LED2闪烁频率不同,LED1闪烁频率比LED2快。分析:当系统时钟为16MHZ时,LED2闪烁;系统时钟切换为32MHZ时,LED1闪烁。两者所选的时钟信号不同,所以闪烁频率不同,32MHZ的系统时钟比16MHZ的时钟频率高,故LED1闪烁更快。设计性实验:实验结果:两只LED灯闪烁,K1按下,LED1闪烁频率变快,再次按下K1,LED1闪烁频率变慢;K2按下,LED2闪烁频率变快,再次按下K2,LED2闪烁频率变慢。分析:设计实验只需在基础实验的基础上加两个按键扫描判断即可,由于两次按键需要实现的功能不同,故需要进行两次判断,所以在一次循环中进行两次检测,这样就可以实现两种不同的状态了。它的核心还是在于修改系统时钟。六、实验思考题1. 为什么指示灯闪烁的频率不一样?答:选择的系统时钟不同,频率就不一样。2. 不同系统时钟是如何转换的?切换过程中需要注意什么?答:改变CLKCONCMD的配置,在切换过程中检测系统时钟是否切换到对应的值。通过对比CLKCONCMD和CLKCONSTA的值实现。3. 本实验对CC2530 的哪些寄存器进行了操作?都是必要的吗?可以设置比32M 更高的频率吗?答:本实验对P1SEL,P1DIR,CLKCONCMD寄存器进行了操作。不都是必要的,如P1SEL默认为0,通用I/O。 不能设置比32M更高的频率。4. 设计性实验中如何使LED 有多种不同的频率闪烁方式?答:可以通过改变系统的时钟来让LED有多种不同的频率闪烁方式。七、存在问题和解决方法存在的问题:第二次按键如果不是同一个按键,则不能响应的改变对应的LED灯的闪烁状态。解决方法:将一个按键的两次判断放入同一个循环体中,两边分别判断,这样就不会互相影响了。训练四 SPI通信与LCD显示实验一、实验内容1. 在CC2530从节点开发板上采用GPIO 口软件模拟SPI 接口的方式驱动DM12864M,显示汉字、字母、数字等;2. 在CC2530主节点开发板上采用硬件SPI 接口的方式驱动OCM12864,显示汉字、字母、数字等。二、实验原理1. SPI 模式:硬件 SPI 接口模式下,当UxCSR.MODE 设置为0 时,选中SPI 模式。在CC2530 芯片SPI 模式中,USART 可以通过写UxCSR.SLAVE 位来配置SPI 为主模式或者从模式。2. SSN 从选择引脚:在 SPI 主模式,不使用SSN 引脚。当USART 作为SPI 主操作,外部SPI 从设备需要一个从选择信号,然后在软件中需要使用通用I/O 引脚来执行从选择信号功能。3. 波特率发生器:波特率计算公式:式中:f 是系统时钟频率,等于16MHz 校准的RC 振荡器或者32MHz 晶体振荡器。4. SPI 相关寄存器对于每个 USART,有5 个寄存器(x 是USART 的编号,为0 或者1): UxCSR:USARTx 控制和状态;UxUCR:USARTx UART 控制;UxGCR:USARTx 通用控制;UxDBUF:USARTx 收/发数据缓冲器;UxBAUD:USARTx 波特率控制。5. 软件模拟SPI 接口LCD 显示LCD驱动库文件提供了液晶的驱动方法,文件 LCD_12864_Driver.c 提供了软件模拟 SPI 接口相 应功能的原型函数。LCD驱动程序使用影子内存,可以将一个屏幕的信息存储在影子内存中,使用vLcdReFresh命令函数可以将影子内存中的信息复制到LCD并显示。6.硬件SPI接口LCD显示 三、基本实验步骤 第一步:连接实验设备,对于从板,用一个PCB板(用于给LCD供电)将LCD与实验开发板相连,将 USB 电缆线插到PC 机的USB 端口上,实验板电源指示灯亮。 第二步:启动IAR 开发环境。 第三步:创建工程。 1. 创建一个工作区。 2. 建立一个新工程。 3. 新建或添加程序文件。 4. 设置工程选项。 5. 编译和调试。 6. 下载。 7. 实验结果。 第四步:通过以上几个步骤,最终下载目标程序到 CC2530 后,观察实验现象,记录实验结果。四、设计性实验程序流程与分析基础实验(从板):通过按键控制LCD上的显示内容,首先显示CC2530基本实验 四、LCD实验 ,如果是K1按下,则显示 江苏理工学院 电信学院,如果是K2按下,则显示英文版 TI CC2530F256 LCD12864 Test。基础实验流程图(从板):图4-2 LCD显示实验分析:实验先初始化按键,LED灯,LCD。LCD初始界面显示CC2530基本实验 四、LCD实验 ,然后进行按键扫描,看是否有按键按下,如果有,再判断是K1还是K2按下,如果是K1按下,则对应显示 江苏理工学院 电信学院, 如果是K2按下,对应的显示TI CC2530F256 LCD12864 Test。设计性实验(从板):通过按键控制LCD上的显示内容。LCD 初始界面显示班级、姓名、学号、专业。按下K1时,LCD 显示数据加1;按下按键SW2,LCD 显示数据减1,规定初始值显示为999。设计性实验流程图(从板):图4-3 按键控制数据加减实验分析:实验先初始化按键,LED灯,LCD。LCD初始界面显示班级、姓名、学号、专业,然后进行按键扫描,看是否有按键按下,如果有,再判断是K1还是K2按下,如果是K1按下,则对应显示LCD 显示数据加1, 如果是K2按下,对应的显示数据减

温馨提示

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

评论

0/150

提交评论