无线通信技术综合训练报告.docx
- 文档编号:10584326
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:55
- 大小:5.04MB
无线通信技术综合训练报告.docx
《无线通信技术综合训练报告.docx》由会员分享,可在线阅读,更多相关《无线通信技术综合训练报告.docx(55页珍藏版)》请在冰豆网上搜索。
无线通信技术综合训练报告
学院名称:
专业:
通信工程
班级:
姓名:
学号:
指导老师:
2013年11月
训练一新建一个简单的工程项目
一、实验内容
闪烁开发板上的用户指示灯LED1。
二、实验原理
主节点时定义LED1为CC2530的P1.0口控制,而从节点的LED1则定义为P1.1口控制。
相应的口为高电平时灯亮,反之则灯灭。
三、基本实验步骤
第一步:
连接实验设备;
第二步:
启动IAR开发环境;
第三步:
创建工程。
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、实验结果与分析
完成实验项目的编译,并能够完成实验。
可以观察到LED1在不断的闪烁,则该试验完成。
通过本实验的实验过程,让我们掌握IAR开发环境,为以后的学习打下基础。
五、存在问题和解决方法
IAR开发环境的功能不能完全掌握;
可以参考IAR开发环境中的help菜单->IAREmbeddedWorkbenchUserGuide。
学习各项设置的含义,同时应该熟读老师提供的教材,进一步掌握IAR开发环境。
训练二GPIO实验
一、实验内容
1.LED指示灯自动闪烁;
2.按键控制LED指示灯亮灭;
3.按键控制LED指示灯闪烁。
二、实验原理
21个I/O引脚都可以用于外部中断源输入口,因此如果需要,外部设备可以通过这些I/O产生中断。
外部中断功能也可以唤醒睡眠模式。
未使用的引脚应当定义电平,而不能浮空。
寄存器PxSEL,用来设置每个端口引脚为通用I/O引脚或者是外部设备I/O信号。
每个通用I/O口的引脚可以设置端口的方向选择以及输入还是输出模式的选择。
当用作输入模式时,方向是选择上、下拉或是三态。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
设计一个工程,下载到目标板上,要求按下K1时,LED1闪烁(视觉能够分辨出),再次按下K1,LED1熄灭;按下K2时,LED2闪烁,再次按下K2,LED2熄灭;如此重复循环。
工作过程:
当所有初始化条件都符合时,查看扫描值当扫描值为1时,查看按键一是否按下,若按下则LED1闪,若没按下则LED1灭;扫描值不为1为2时,查看按键2是否按下,若按下则LED2闪,若没按下LED2灭;若扫描值不为1和2则为0,即按键都没按,LED1和LED2按原方式闪或灭。
五、实验结果与分析
基本1:
指示的闪烁;
基本2:
按键1和按键2可以控制灯亮或灭;
设计实验:
按按键1LED1闪烁,在按一下就停止闪烁,按按键2LED2闪烁,在按一下就停止闪烁。
每按一下按键就改变一次状态。
六、实验思考题
1.Delay(uint)中参数uint取值范围是什么?
如果超范围程序能运行吗?
为什么?
答:
取值范围:
0~65535。
超出范围后能运行,超出范围后取余数作为时间。
2.基本实验2中“Keyvalue=0”语句的作用是什么?
如果删除对实验结果有什么影响?
答:
清除上一个状态。
删除后对实验无影响。
3.本实验对CC2530的哪些寄存器进行了操作?
都是必要的吗?
答:
端口寄存器、端口功能寄存器、端口方向寄存器、端口输入模式选择寄存器都为必须的。
4.设计性实验中如何使LED有多种不同的闪烁方式?
答:
调节延时、改变LED赋值。
七、存在问题和解决方法
存在的问题:
当两个灯同时被点亮时,灯闪烁变慢。
解决方法:
俩灯在同时被点亮时,延时是循环两次的,所以闪烁会变慢,可以让延时分开。
训练三系统主时钟源的选择实验
一、实验内容
通过配置开发板上CC2530芯片的主时钟频率,从而改变指示灯LED闪烁的频率。
二、实验原理
1.振荡器:
2个高频振荡器:
32MHz晶体振荡器;16MHzRC振荡器。
2个低频振荡器:
32kHz晶体振荡器;32kHzRC振荡器。
2.系统时钟
3.3.32kHz晶振
4.振荡器和时钟寄存器
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
设计一个工程,下载到目标板上,要求按下K1时,LED1闪烁频率加倍,再次按下K1,LED1闪烁频率减半;按下K2时,LED2闪烁频率加倍,再次按下K2,LED2闪烁频率减半;如此重复循环。
五、实验结果与分析
基本实验:
统时钟源(主时钟源)的选择指示灯自动更新闪烁频率
设计实验:
按下K1时,LED1闪烁频率加倍,再次按下K1,LED1闪烁频率减半;按下K2时,LED2闪烁频率加倍,再次按下K2,LED2闪烁频率减半。
分析:
CLKCONCMD=((osc32k-bm)|\(0x01<<6)|\(0x01<<3)|\(0x01<<0);
0x01<<6:
将00000001向左移六位,系统时钟源选择16MHz高频RC振荡器;
0x01<<3:
将00000001向左移三位,定时器选择16MHz;
0x01<<0:
将00000001向左移零位,时钟速度选择16MHz。
六、实验思考题
1.为什么指示灯闪烁的频率不一样?
答:
使用了不同的时钟源。
2.不同系统时钟是如何转换的?
切换过程中需要注意什么?
答:
用查询状态寄存器转换不同的系统时钟
3.本实验对CC2530的哪些寄存器进行了操作?
都是必要的吗?
可以设置比32M更高的频率吗?
答:
功耗模式控制器制器、时钟控制命令寄存器、时钟控制状态寄存器。
默认状态就不必要。
不可以设置比32M更高的频率。
4.设计性实验中如何使LED有多种不同的频率闪烁方式?
答:
控制主时钟的频率。
选择不同的振荡器。
七、存在问题和解决方法
存在问题:
从16MHz时钟源切换到32MHz时钟源(反之亦然),与CLKCONCMD.TICKSPD设置一致。
当CLKCONCMD.OSC改变时,CLKCONCMD.TICKSPD设置得较慢会导致实际源发生改变的时间较长。
当CLKCONCMD.TICKSPD等于000时,转换时间最短。
训练四SPI通信与LCD显示主从板实验
一、实验内容
1.在CC2530从节点开发板上采用GPIO口软件模拟SPI接口的方式驱动DM12864M,显示汉字、字母、数字等;
2.在CC2530主节点开发板上采用硬件SPI接口的方式驱动OCM12864,显示汉字、字母、数字等。
二、实验原理
1.SPI模式:
在SPI模式中,USART通过3线接口或者4线接口与外部系统通信。
,SPI主模式操作是一个3线接口。
不需要选择输入来使能主。
如果外部从要求一个从选择信号,可以通过软件使用一个通用I/O引脚来实现。
SPI从模式字节传送由外部系统控制。
输入引脚MOSI上的数据传送到接收寄存器,该寄存器由串行时钟SCK控制,SCK为从模式输入。
与此同时,发送寄存器中的字节传送到输出引脚MISO。
2.SSN从选择引脚
3.波特率发生器
4.SPI相关寄存器:
外部设备控制寄存器;USARTx控制和状态寄存器;USARTx通用控制寄存器;USARTx收/发数据缓冲器;USARTx波特率控制寄存器。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,利用字摸提取工具做出想要的图片的代码,放入用Display_Picture(uint8*picX),代码中调用即可显示图片。
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
实验要求:
设计一个工程,下载到目标板上,LCD初始界面显示班级、姓名、学号、专业。
要求按下K1时,LCD显示数据加1;按下按键SW2,LCD显示数据减1,规定初始值显示为999。
实验过程:
初始化程序,先显示学校、姓名、学号、专业,再给一个延时,显示999;初始化时设Z=999,按下按键1,运行Z=Z+1,再将运算的结果显示在频幕中并闪大灯;当按下按键2时,运行算式Z=Z—1,将算式运算的结果显示在屏幕上并闪大灯;若按键都没按,则再次循环。
五、实验结果与分析
基本实验:
按次显示要求的图片
设计实验:
现显示要求的图片,先显示初始值999,按下K1时,LCD显示数据加1;按下按键SW2,LCD显示数据减1。
分析:
sprintf(b,"%d",z);将z中的数据以整数形式放入寄存器b中。
六、实验思考题
1.基本实验程序中“//LED1=OFF;”语句将双斜杠去掉有何影响?
问什么?
答案:
有//时,按下k1改变状态,但是闪烁过后就会持续亮或持续灭。
2.基本实验中去除“if(GlintFlag[0]==0)”语句,结果怎样?
答案:
没有去除时,延时为4000;去除后LED1LED2同时闪烁周期为8000,闪烁变慢。
3.使用DM12864M混合显示汉字、英文字母或数字时需要注意哪些问题?
答案:
DM12864M从节点带汉字库,一个汉字带两个字节。
4.如何在OCM12864-8上指定区域显示汉字?
答案:
先用绘画工具画出所需汉字,使用抓图工具抓取一幅图像,在图像处理软件中将其处理成像素为128*64大小的图像,保存为.bmp文件格式。
运行字模软件ZIMO221.EXE,使用基本操作->打开图标工具打开上述图像文件,点击“取模方式”,选择“C51格式”,出现点阵代码提取界面,将点阵生成区的十六进制代码复制到LcdControl.c某个图像数组中,调用Display_Picture(uint8*picX)函数即可显示该图像。
七、存在问题和解决方法
从板显示图像时产生乱码。
解决:
检查程序代码中显示部分代码,看是否有不和规定的书写方式以及要上下对齐。
运算Z=Z+1,Z=Z-1时运算结果无法输出。
解决:
Z中的数据应该放入一个寄存器中,再从寄存器中输出结果。
CC2530基本实验显示班级、学号、姓名、专业
显示数据控制数据加减
从节点连接图
CC2530基本实验(从板)
显示学校、学院
LCD数据显示(从板)
显示班级、姓名、学号、专业(从板)
控制数据加减(从板)
训练五ADC主从板实验
一、实验内容
1.在CC2530节点开发板上,使用ADC进行片内温度单次采样,将采集的电压值转换为温度值并显示在LCD上;
2.在CC2530节点开发板上,使用ADC进行电源电压单次采样,将采集的电压值显示在LCD上。
二、实验原理
ADC结构框图
ADC具有三个控制寄存器:
ADCCON1、ADCCON2和ADCCON3。
这些寄存器用于配置ADC和报告状态。
内部标准参考电压为1.15V,AIN7可自定,AVDD为3.3V,要注意被采集的电压不得超过参考电压。
ADC转换时间
:
CC2530内部基准参考电压1.15V。
25℃时,12bit采集结果为1480,温度系数4.5/℃。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,利用字摸提取工具做出想要的图片的代码,放入用Display_Picture(uint8*picX),代码中调用即可显示图片。
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
要求:
将A/D的源设为1/3电源电压,并LCD显示1/3电源电压、电源电压。
五、实验结果与分析
LCD显示出1/3电源电压、电源电压、温度的数值,当手指唔在温度感应器上时,温度会会发生明显上升。
分析:
电源电压计算voltagevalue=(1.15/8191)*volt;
温度计算temperature=(avgTemp-(1480-4.5*25))/4.5;
六、实验思考题
1.如果采用电压采集识别按键,则如何实现?
答案:
按键的采集电路的电压差值大,进而实现按键的识别。
2.如何将片内温度传感器A/D转换的结果转换成温度?
答案:
CC2530内部基准参考电压1.15V。
25℃时,12bit采集结果为1480,温度系数4.5/℃,此为标准运算。
3.如何实现显示采集数据?
答案:
主节点通过voidLCDDataShow(uint8number,uint8line1,uint8line2,uint8column1,uint8column2);此函数显示。
从节点将采集的数据放到数组中,然后通过voidvLcdTextWrite(UINT8u8Row,UINT8u8Column,char*pcStr);函数显示出来。
4.如何选取参考电压?
答案:
外界电压不能超过参考电压。
5.差分输入是什么意思?
能否作为比较器使用?
答案:
两路信号求差后作为输入使用,能作为比较器使用。
6.如果CC2530需要采集一个模拟传感器的数据,实现过程中需要注意哪些问题?
答案:
模拟传感器的电压的范围值不能超过参考电压。
七、存在问题和解决方法
从板显示图像时产生乱码。
解决:
检查程序代码中显示部分代码,看是否有不和规定的书写方式以及要上下对齐。
CC2530ADC实验
(从板)
显示电压和温度
(从板)
CC2530ADC实验
(主板)
显示电压和温度(主板)
训练六UART串行通信实验
一、实验内容
1.在CC2530节点开发板上,UART串口发送数据;
2.在CC2530节点开发板上,UART串口接收PC数据控制LED等设备对象。
3.在CC2530节点开发板上,UART串口接收PC数据并回传。
二、实验原理
UART模式提供异步串行接口。
在UART模式中,接口使用2线或者含有RXD、TXD、可选的RTS和CTS的4线。
当USART收/发数据缓冲器UxDBUF写入数据时,UART发送启动。
该字节发送到输出引脚TXDx。
寄存器UxDBUF是双缓冲器。
当字节正在发送时,新的数据字节能够装入数据缓冲器。
对于每个USART,有5个寄存器(x是USART的编号,为0或者1):
UxCSR:
USARTx控制和状态;UxUCR:
USARTxUART控制;UxGCR:
USARTx通用控制;UxDBUF:
USARTx收/发数据缓冲器;UxBAUD:
USARTx波特率控制。
设置UART接口需要操作6个寄存器:
PERCFG(外部设备控制寄存器)、UxCSR(控制和状态寄存器)、UxGCR(通用控制寄存器)UxDBUF(收/发数据缓冲器)、UxBAUD波特率控制寄存器)以及UxUCR(UART控制寄存器)。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,并打开串口助手;
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
设计一个工程,下载到目标板上。
CC2530芯片接收PC机发送的数据,LCD显示并回传给PC。
五、实验结果与分析
基本实验:
程序下载、运行后复位主从节点,在串口助手上显示“江苏技术师范学院电气信息工程学院”且不断的发送“UART0TXtest”。
设计实验:
通过串口助手发送数字在串口助手上显示,并在LCD上也显示同一数字可知实验结果正确,符合设计要求。
六、实验思考题
1.同步通信与异步通信主要区别是什么?
答案:
同步:
收发双方的时钟是同步的,用时钟边沿来判断。
异步:
收发双方时钟源不同,双方约定传送的是波特率。
2.异步通信具体数据格式包括哪些?
答案:
字节;每传一个字节要同步,一个起始位,七、八位数据,一个校验,一个停止位。
3.如何实现串口数据透明回传?
答案:
加入校验码或选用0比特插入法。
4.程序查询与中断各自有何特点,如何根据应用场合选取?
答案:
查询是在主程序中顺序执行,速度慢,易遗漏;中断是有触发事件便进入中断。
根据具体要求进行选取。
七、存在问题和解决方法
不能发送汉字,这是因为定义的字节长度不足,只要改变定义的字节长度。
CC2530UART实验
用串口接收数据
输入控制参数
串口接收数据实验(从板)
串口回传数据
训练七定时器1实验
一、实验内容
1.在CC2530节点开发板上,定时器1自由重装模式、溢出查询控制LED闪烁;
2.在CC2530节点开发板上,定时器1工作于正计数/倒计数模式,产生0.1s定时,按键控制
秒表启动、停止、复位,LCD显示秒表信息;
3.在CC2530节点开发板上,启用定时器1,产生1s定时,按键控制或PC串口校准时间,
时钟信息LCD显示并能串口发送给PC;
4.在CC2530节点开发板上,定时器1输入捕获模式/输出比较模式控制LED闪烁。
二、实验原理
1.定时器1(16位定时器)5个捕获/比较通道;上升沿、下降沿或任何边沿输入捕获;设置、清除或切换输出比较;自由运行、模或正计数/倒计数操作;1、8、32或128时钟分频;在每个捕获/比较和最终计数上产生中断请求;DMA触发功能。
2.各类模式:
通道模式控制,模模式,自由运行模式,输入捕获模式,输出比较模式。
3.定时器1定时相关寄存器包括:
T1CNTH(定时器1计数高位寄存器)、T1CNTL(定时器1计数低位寄存器)、T1CTL(定时器1控制寄存器)、T1STAT(定时器1状态寄存器)、T1CCTLn(定时器1通道n捕获/比较控制寄存器)、T1CCnH(定时器1通道n捕获/比较值高位寄存器)、T1STAT(定时器1通道n捕获/比较值低位寄存器),TIMIF(定时器1/3/4中断屏蔽/标志寄存器)。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
设计一个工程,下载到目标板上。
在CC2530节点开发板上实现电子钟功能,LCD显示时、分、秒,时间按键校准或PC串口控制校准,时钟信息LCD显示并能串口发送给PC。
五、实验结果与分析
基本实验:
1.间隔一段时间LED闪烁
2.LCD上显示秒表,按K2启动秒表,再按下停止秒表,最后再按下秒表复位。
设计实验:
LCD显示时、分、秒,按下K1键可以进行时间按键校准,时钟信息并能串口发送给PC。
六、实验思考题
1.对CC2530的哪些定时器相关寄存器进行了操作?
定时中断配置的基本步骤是什么?
答案:
a.T1CNTH(定时器1计数高位寄存器)、
T1CNTL(定时器1计数低位寄存器)、
T1CTL(定时器1控制寄存器)、
T1STAT(定时器1状态寄存器)、
T1CCTLn(定时器1通道n捕获/比较控制寄存器)、
T1CCnH(定时器1通道n捕获/比较值高位寄存器)、
T1STAT(定时器1通道n捕获/比较值低位寄存器),
TIMIF(定时器1/3/4中断屏蔽/标志寄存器)。
b.按定时器1/3/4中断屏蔽/标志寄存器功能进行配置。
2.如何实现闹钟、年月日、星期显示功能?
答案:
使用定时器,计数器等。
3.输入捕获与输出比较可以应用在哪些场合?
答案:
地球温度的变化,可以应用与统计学,营销学等等。
4.如何用定时器产生方波信号输出?
答案:
对机器周期进行计数,即每一个机器周期产生一个计数脉冲,计数为一。
七、存在问题和解决方法
如何解决时钟的显示顺序。
答:
Uart0TX_String(Recdata,sizeof(Recdata));
time.h=(Recdata[0]-'0')*10+(Recdata[1]-'0');
time.m=(Recdata[3]-'0')*10+(Recdata[4]-'0');
time.s=(Recdata[6]-'0')*10+(Recdata[7]-'0');
time._s=(Recdata[9]-'0');
CC2530定时器1实验
定时器1自由重装初值
定时器1秒表实验
等待启动
启动中等待停止
已停止待复位
定时器1
输出比较控制
定时器1输入捕获控制
训练八外部中断实验
一、实验内容
1.在CC2530节点开发板上,启用通用I/O中断配置,由查询控制LED闪烁;
2.在CC2530节点开发板上,启用通用I/O中断配置,由中断控制LED闪烁。
二、实验原理
1.中断屏蔽:
每个中断可以通过中断使能特殊功能寄存器中的中断使能位IEN0、IEN1或IEN2使能或禁止。
2.中断处理:
当中断发生时,CPU就指向表3-8-1所描述的中断向量地址。
一旦中断服务开始,就只能够被更高优先级的中断打断;中断服务程序由中断指令RETI(从中断指令返回)终止。
当RETI执行时,CPU将返回到中断发生时的下一条指令。
3.中断优先级:
中断组合成为6个中断优先组,每组的优先级通过设置寄存器IP1和IP0实现。
4.通用I/O中断:
通用I/O引脚设置为输入后,可以用于产生中断。
中断可以设置在外部信号的上升或下降沿触发。
三、基本实验步骤
1.创建一个工作区,
2.建立一个新工程,
3.新建或添加程序文件,
4.对代码进行编译,
5.下载到板子上运行代码,
6.观察实验结果对代码进行调试,有错误要进行修改。
四、设计性实验程序流程与分析
设计一个工程,下载到目标板上。
在CC2530主节点开发板按键K1(P1.3)、K2(P0.1),从节点开发板按键K1(P0.1)、K2(P0.7)分别控制启动/停止LED1、LED2闪烁。
(提示:
P1口中断入口向量vector=P1INT_VECTOR)。
五、实验结果与分析
实验结果:
按下按键1后LED1闪烁,再按下按键二LED1和LED2闪烁,只按按键2后LED1和LED2都不闪烁。
分析:
每个中断可以通过中断使能特殊功能寄存器中的中断使能位IEN0、IEN1或IEN2使能或禁止。
在编写程序时,要注意中断的优
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线通信 技术 综合 训练 报告