【精品】物联网实验报告

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

物联网实验报告

中南林业科技大学课程设计实验报告

专业班级:2013级计算机科学与技术2班

授课教师:张艳

学生姓名:陆焕丽

学生学号:20134636

实验一

继电器闪烁

一.实验目的:学会使用修改程序,使得继电器按要求闪烁。二.内容:修改以下程序,使得继电器的绿灯闪一下,红灯闪五下#include

typedefunsignedintuint;

typedefunsignedcharuchar;

//定义控制灯的端口

#defineRLEDP1_0//定义LED1为P10口控制#defineYLEDP1_1//定义LED2为P11口控制//函数声明

voidDelay(uint);//延时函数

voidInitial(void);//初始化P0口

/****************************

//延时

*****************************/ voidDelay(uintn)

{

uchari;

while(n--)

{

for(i=200;i>0;i--);

}

}

/****************************

初始化程序

*****************************/ voidInitial(void)

{

P1DIR|=0x03;//P10、P11定义为输出RLED=1;

YLED=1;//LED灭

}

/***************************

//主函数

***************************/ voidmain(void)

{

Initial();//调用初始化函数

RLED=0;//LED1

YLED=0;//LED2

while(1)

{

RLED=0;

YLED=1;

Delay(1000);

RLED=1;

YLED=0;

Delay(1000);

}

}

三.实验记录:

修改好的程序如下:

#include

typedefunsignedintuint;

typedefunsignedcharuchar;

//定义控制灯的端口

#defineRLEDP1_0//定义LED1为P10口控制#defineYLEDP1_1//定义LED2为P11口控制//函数声明

voidDelay(uint);//延时函数

voidInitial(void);//初始化P0口

/****************************

//延时

*****************************/ voidDelay(uintn)

{

uchari;

while(n--)

{

for(i=200;i>0;i--);

}

}

/****************************

初始化程序

*****************************/ voidInitial(void)

{

P1DIR|=0x03;//P10、P11定义为输出RLED=1;

YLED=1;//LED灭

}

/***************************

//主函数

***************************/ voidmain(void)

{

uinti;

Initial();//调用初始化函数

RLED=0;//LED1

YLED=0;//LED2

while(1)

{

RLED=0; YLED=1; Delay(1000); for(i=0;i<5;i++) {

RLED=0; YLED=0; Delay(1000); RLED=1; YLED=0; Delay(1000);

}

RLED=0; YLED=0; Delay(1000);

}

}

实验显示结果:继电器的绿灯闪一下,红灯闪五下,一直循环着.整个过

程中所有仪器都正常。

四.实验心得:通过这次的实验,利用C语言将程序修改,学会使用接口编程,学会使用IAR8.10与CC2530接口编程,重新温习for循环语句,掌握继电器的连接方式及工作原理

实验二

Zigbee无线传感网开发入门

一、实验内容:

1、zigbee协议栈使用简介

协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;协议栈是协议的具体实现形式,通俗的理解为用代码实现的函数库,以便于开发人员调用。

ZigBee的协议分为两部分,IEEE802.15.4定义了物理层和MAC层技术规范,ZigBee 联盟定义了网络层、安全层和应用层技术规范,ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。

注意:虽然协议是统一的,但是协议的具体实现形式是变化的,即不同厂商提供的协议栈是有区别的,例如:函数名称和参数列表可能有区别,用户在选择协议栈以后,需要学习具体的例子,查看厂商提供的Demo演示程序和说明文档来学习各个函数的使用方式,进而快速的使用协议栈进行应用程序的开发工作。

使用ZigBee协议栈进行开发的基本思路可以概括为如下三点:

1、用户对于ZigBee无线网络的开发就简化为应用层的c语言程序开发,用户不需要深入研究复杂的ZigBee协议栈;

2、ZigBee无线传感器网络中数据采集,只需用户在应用层加入传感器的读取函数即可;

3、如果考虑节能,可以根据数据采集周期进行定时,定时时间到就唤醒ZigBee的终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器。

既然ZigBee协议栈已经实现了ZigBee协议,那么用户就可以使用协议栈提供的API 进行应用程序的开发,在开发过程中完全不必关心ZigBee协议的具体实现细节,只需关心一个核心的问题:应用程序数据从哪里来到哪里去。

下面举一个例子,当用户应用程序需要进行数据通信时,需要按照如下步骤实现:(1)调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加入;

(2)发送设备调用协议栈提供的无线数据发送函数,实现数据的发送;

(3)接收设备调用协议栈提供的无线数据接收函数,实现数据的正确接收。

因此,使用协议栈进行应用程序开发时,开发者不需要关心协议栈是具体怎么实现的(例如,每个函数是怎么实现的,每条函数代码是什么意思等),只需要知道协议栈提供的函数实现什么样的功能,会调用相应的函数来实现自己的应用需求即可。

相关文档
最新文档