无线传感网络实验报告.docx
《无线传感网络实验报告.docx》由会员分享,可在线阅读,更多相关《无线传感网络实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
无线传感网络实验报告
实验报告
无线传感器网络技术
课程名称
无线传感器网络课程实验
实验名称
实验日期
学生专业
测试计量技术与仪器
学生学号
学生姓名
实验室名称
教师姓名
成绩
实验一液晶显示及时钟实验
1.1实验目的
(1)学习实验所需硬件电路原理;
(2)学习实验相关程序资源;
(3)学习按键外部中断的原理;
(4)学习定时器TB0的原理及操作;
(5)学习利用定时器产生PWM波形的方法;
(6)学习RTC(实时时钟)的原理及操作;
(7)学习ADC12的原理及操作;
(8)学习点阵LCD液晶显示的原理及操作。
1.2实验所需硬件电路模块介绍
本实验中需用到以下电路模块:
点阵LCD液晶显示模块、按键输入模块、齿轮电位计采样模块。
1.3实验内容
本实验包括以下五个小实验:
(1)对比度调节实验;
(2)背光调节实验;(3)数字时钟实验;(4)模拟时钟实验;(5)时钟设置实验。
实验1主函数lab1()的整体程序流程图如图1.1所示。
图1.1液晶显示及时钟实验整体程序流程图
1.4对比度调节实验
1.4.1程序代码
该实验的程序代码包含在lab1.c文件内。
1.4.2程序流程
对比度调节实验程序流程图如图1.2所示。
图1.2对比度调节实验程序流程图
1.4.3实验步骤
(1)将电源选择拨码开关打至eZ档。
(2)利用Mini-USB线连接开发板仿真端口(左下角)和PC机。
(3)打开CCSv5.1软件,确认工作区间“F\MSP-EXP430F5529\Workspace”,并导入LAB1工程,导入步骤请参考2.2节:
利用CCSv5.1导入已有工程。
(4)双击打开lab1.c文件,在244行找到该对比度调节实验程序代码ContrastSetting(),并在其中设置断点,断点位置如图中阴影部分所示。
(5)将工程编译通过,并点击调试按钮进入调试界面。
(6)运行程序,在主菜单下,通过齿轮电位计选择1.Contrast,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(7)点击运行按钮,通过滚动齿轮电位计将当前液晶对比度调至合适值,任意按下S1或S2键将当前对比度设置进行保存并退出。
(8)单击重新开始按钮,重复第(6)步。
(9)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
1.4.4实验结果
通过本实验,可以利用齿轮电位计调节液晶LCD的显示对比度。
1.5背光调节实验
1.5.1程序代码
该实验的程序代码包含在lab1.c文件内:
1.5.2程序流程
背光调节实验程序流程图如图1.3所示。
图1.3背光调节实验程序流程图
1.5.3实验步骤
(1)双击打开lab1.c文件,在274行找到该背光调节实验程序代码BacklightSetting(),并在其中设置断点,断点位置如下图阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
2.Backlight,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,通过滚动齿轮电位计将当前液晶背光调至合适值,任意按下S1或S2键将当前背光设置进行保存并退出。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
1.5.4实验结果
通过本实验,可以利用齿轮电位计调节液晶LCD的背光。
1.6数字时钟实验
1.6.1程序代码
该实验的程序代码包含在lab1.c文件内:
1.6.2程序流程
数字时钟程序流程图如图1.4所示。
图1.4数字时钟程序流程图
1.6.3实验步骤
(1)双击打开lab1.c文件,在339行找到该数字时钟实验程序代码DisplayDigitalClock(),并在其中设置断点,断点位置如图中阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
3.DigitalClock,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,在LCD上将显示一个数字时钟的表盘,并且实时更新当前时间。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
1.6.4实验结果
通过本实验,在液晶LCD上显示一个数字表盘,并实时更新显示当前时间。
1.7模拟时钟实验
1.7.1程序代码
该实验的程序代码包含在lab1.c文件内:
1.7.2程序流程
模拟时钟试验程序流程图如图1.5所示。
图1.5模拟时钟实验程序流程图
1.7.3实验步骤
(1)双击打开lab1.c文件,在531行找到该数字时钟实验程序代码DisplayAnalogClock(),并在其中设置断点,断点位置如图中阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
4.AnalogClock,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,在液晶LCD上将显示一个模拟时钟的表盘,并且实时更新当前时间。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
1.7.4实验结果
通过本实验,在液晶LCD上显示一个模拟表盘,并实时更新显示当前时间。
1.8时钟设置实验
1.8.1程序代码
该实验的程序代码包含在lab1.c文件内:
1.8.2软件流程
时钟设置主程序流程图如图1.6所示。
图1.6时钟设置主程序流程图
1.8.3实验步骤
(1)双击打开lab1.c文件,在559行找到该时钟设置实验程序代码SetTime(),并在其中设置断点,断点位置如图中阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
5.SetTime,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,在液晶LCD上将显示当前的数字时间,并进行实时更新。
首先进行小时的设置,通过滚动齿轮电位计更改当前小时数,按下S1键进行确认,并进入分钟的设置。
按照同样的方法,依次对分钟、秒、日、月、年进行设置,当对年设置完成后,按下S1键表示设置完成,退出设置程序。
注意:
在设置的任意过程中,按下S2键,都会将当前设置进行保存,并退出设置程序。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
1.8.4实验结果
当程序运行时,在液晶LCD上显示一个数字表盘,通过齿轮电位计和按键,可对当前时间进行设置并保存。
1.9实验感想
通过这次试验,我对这三个电路模块:
点阵LCD液晶显示模块、按键输入模块、齿轮电位计采样模块,有了比较深入的了解,同时也学习了程序的编写和调试,收获较大。
实验二加速度计应用实验
2.1实验目的
(1)学习MSP430F5529单片机SPI通讯模式的原理及操作;
(2)学习加速度计模块硬件电路原理;
(3)学习加速度计应用程序资源;
(4)学习加速度计应用实验的操作及编程思想。
2.2实验所需硬件电路模块介绍
本实验中需用到以下电路模块:
点阵LCD液晶显示模块、按键输入模块、齿轮电位计采样模块、加速度计模块。
2.3实验内容
本章实验包括以下三个小实验:
(1)加速度计校准实验;
(2)动态立方体演示实验;(3)数字拼图游戏实验。
实验2主函数lab3()的整体程序流程图如图2.1所示:
图21.加速度计应用实验整体程序流程图
2.4加速度计校准实验
2.4.1程序代码
该实验的程序代码包含在lab3.c文件内:
2.4.2程序流程
加速度计校准实验程序流程图如图2.2所示。
图2.2加速度计校准实验程序流程图
2.4.3实验步骤
(1)将电源选择拨码开关打至eZ档。
(2)利用Mini-USB线连接开发板仿真端口(左下角)和PC机。
(3)打开CCSv5.1软件,确认工作区间“F\MSP-EXP430F5529\Workspace”,并导入LAB3工程,导入步骤请参考2.2节:
利用CCSv5.1导入已有工程。
(4)双击打开lab3.c文件,在第107行找到该加速度计校准实验程序代码CalibrateAccel(),并在其中设置断点,断点位置如图中阴影部分所示。
(5)将工程编译通过,并点击调试按钮进入调试界面。
(6)运行程序,在主菜单下,通过齿轮电位计选择:
1.CalibrteAccel,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(7)点击运行按钮,会在LCD上观察到加速度计校准的说明:
PlaceBoardonFlatSurface(将开发板放到平坦的表面),若开发板放置完成,按下S1完成校准,并退出校准程序。
(8)单击重新开始按钮,重复第(6)步。
(9)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
2.4.4实验结果
通过本实验,可以完成加速度计的校准,并将校准后的参数存入内存,供其他实验所用。
2.5动态立方体演示实验
2.5.1程序代码
该实验的程序代码包含在UserExperienceDemoCube.c文件内:
2.5.2程序流程
动态立方体演示实验程序流程图如图2.3所示。
图2.3动态立方体演示实验程序流程图
2.5.3实验步骤
(1)展开UserExperienceDemo文件夹,双击打开Cube.c文件,在第161行找到该动态立方体演示实验程序代码Cube(),并在其中设置断点,断点位置如图中阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
2.DemoCube,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,程序等待S1键按下,若按下S1键,则开始动态立方体演示。
该动态立方体演示实验,有三种模式,每次按下S1键,将使演示模式加一,首先进入的是演示模式0:
在液晶LCD上将会显示一个旋转的透明动态立方体,该动态立方体的旋转速度不受开发板加速度计的控制,即无论如何倾斜开发板,该透明动态立方体的旋转规律相同;若按下S1键,将进入演示模式1:
在液晶LCD上将会显示一个旋转的实心动态立方体,其旋转规律与模式0相同;若再次按下S1键,将进入演示模式2:
在液晶LCD上将会显示一个旋转的透明动态立方体,该动态立方体的旋转速度受开发板加速度计的控制,若将开发板放置在实验5.6所校准的平面上的话,动态立方体的旋转速度会很慢,缓慢倾斜开发板,会观察到,动态立方体的旋转速度随着倾斜角度的增大而迅速变快,再次按下S1键,将会进入模式0。
在实验的过程中,按下S2键,将会退出本实验。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
2.5.4实验结果
通过本实验,利用动态立方体的旋转速度,来反映加速度计的倾斜状态。
2.6数字拼图游戏实验
2.6.1程序代码
该实验的程序代码包含在UserExperienceDemo→Puzzle→puzzle.c文件内:
2.6.2程序状态转移图
有限状态机(FSM)是软件工程中一种极其有效的软件建模手段,状态机建模是基于事件与系统状态转移之间关系的软件描述方法,通过状态机建模可以从行为角度来描述软件,并且可以很方便地描述并发行为。
不同于流程图,流程图只能描述软件的过程,而不能描述软件的行为,更不能描述并发的软件过程。
本节数字拼图游戏实验即采用状态机的模型进行编程,其状态转移图如图2.4所示。
图2.4数字拼图游戏实验状态转移图
2.6.3实验步骤
(1)展开UserExperienceDemo文件夹,再展开Puzzle文件夹,双击打开puzzle.c文件,在第39行找到该数字拼图游戏实验程序代码StartPuzzle(),并在其中设置断点,断点位置如图中阴影部分所示。
(2)将工程编译通过,并点击调试按钮进入调试界面。
(3)运行程序,在主菜单下,通过齿轮电位计选择:
3.TiltPuzzle,然后按下S1键,由于在该程序中设置了断点,程序开始的界面,如下图所示。
(4)点击运行按钮,程序等待S1键按下,若按下S1键,则开始数字拼图游戏。
首先在LCD液晶上会看到一个3×3的表格,其中有八个数字和一个空的空间。
实验者通过倾斜开发板,利用加速度计使数字上下左右移动,若最终使每一行和每一列的数字之和都等于12,则表示游戏成功。
为了使数字移动更加方便快捷,需要一个比较好的移动方法,现介绍如下:
首先利用5.6节实验,在标准平面上对加速度计进行校准;然后将开发板放置在该标准平面上,进行游戏;在游戏过程中,每倾斜一次,移动一个数字,之后返回标准平面,准备下次数字移动。
注意:
该游戏无解的概率为50%。
在实验的过程中,按下S2键,将会退出本实验。
(5)单击重新开始按钮,重复第(3)步。
(6)利用以下调试按键,配合断点,进行代码的调试,理解各段代码含义,并观察各段实验现象。
2.6.4实验结果
通过本实验,利用加速度计实现数字的移动。
2.7实验感想
通过这次试验,我深入学习了MSP430F5529单片机SPI通讯模式的原理及操作,并了解了加速度计模块硬件电路原理、加速度计应用程序资源和加速度计应用实验的操作及编程思想,收获很大。
实验三ZigBee无线网络数据传输实验
3.1实验目的
1.ZigBee网络组成;
2.掌握数据的发送方法和数据的接收方法的函数;
3.掌握修改相应发送和接收函数的方法。
3.2实验内容
学习利用ZigBee仿真器构建ZigBee协议分析仪,配合PacketSniffer抓包并分析捕获的数据包;了解Zstack的基本构成与内部OSAL工作原理,学习Zstack中串口工作原理和OSAL中添加新任务新事件方法;学习Zstack中串口工作原理、广播通信方法。
3.3实验所需仪器
实验所需仪器包括:
C51RF-EXB-B3.0A底板2块、CC2530节点3个,ZigBee仿真器和计算机等。
3.4实验准备
1.硬件连接
1)CC2430节点插入底板C51RF-EXB-B3.0A的JP1连接口,注意对准;
2)将仿真器的JTAG口接入底板的JTAG口;
3)将仿真器的USB口插入PC机的USB口。
2.启动CCS软件
3.5实验步骤
1.打开工程
1)打开工程:
ZigBee2006\TexasInstruments\ZStack-1.4.3-1.2.1\Projects\zstack\
Samples\SampleApp\CC2530DB\SampleApp.eww
2.阅读并修改程序
部分代码如下:
(1)发送函数(SampleApp.c中)
voidSampleApp_SendPeriodicMessage(void)//周期性发送函数
{
if(AF_DataRequest(&SampleApp_Periodic_DstAddr,&SampleApp_epDesc,
SAMPLEAPP_PERIODIC_CLUSTERID,1,(uint8*)&SampleAppPeriodicCounter,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS)
}
(2)接收函数(SampleApp.c中)
voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)//接收函数
{
uint16flashTime;
switch(pkt->clusterId)
{
caseSAMPLEAPP_PERIODIC_CLUSTERID:
break;
caseSAMPLEAPP_FLASH_CLUSTERID:
flashTime=BUILD_UINT16(pkt->cmd.Data[1],pkt->cmd.Data[2]);
HalLedBlink(HAL_LED_4,4,50,(flashTime/4));
break;
}
}
3.建立烧写文件
分别选择endDivece和Coordinator编译(注意按照是否需要按键触发修改相应代码)Project->RebuildAll
4.烧写程序
Project->debug
5.调试
Debug->Step
6.运行
可在仿真器调试下全速运行:
Debug->Go,也可以脱离仿真器运行。
3.6实验结果
1.按endDevice节点UP键,在PC机通过串口接收(串口助手和自己设计的串口接收程序)
显示的“74657374216A”其中“7465737421”就是“test!
”,其中“6A”是linkq的值。
2.按coordinator节点UP键,在PC机通过串口接收(串口助手和自己设计的串口接收程序)。
3.7实验感想
通过这次试验,我深入学习了ZigBee网络组成,掌握了数据的发送方法和数据的接收方法的函数和修改相应发送和接收函数的方法。