物联网实验报告资料

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

中南林业科技大学

课程设计实验报告

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

授课教师:***

学生姓名:***

学生学号:********

实验一

继电器闪烁

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

typedef unsigned int uint ;

typedef unsigned char uchar;

//定义控制灯的端口

#define RLED P1_0 //定义LED1为P10口控制

#define YLED P1_1 //定义LED2为P11口控制

//函数声明

void Delay(uint); //延时函数

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

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

//延时

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

void Delay(uint n)

{

uchar i;

while(n--)

{

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

}

}

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

2

初始化程序

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

void Initial(void)

{

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

RLED = 1;

YLED = 1; //LED灭

}

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

//主函数

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

void main(void)

{

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

RLED = 0; //LED1

YLED = 0; //LED2

while(1)

{

RLED = 0;

YLED = 1;

Delay(1000);

RLED = 1;

YLED = 0;

Delay(1000);

}

3

}

三.实验记录:

修改好的程序如下:

#include

typedef unsigned int uint ;

typedef unsigned char uchar;

//定义控制灯的端口

#define RLED P1_0 //定义LED1为P10口控制

#define YLED P1_1 //定义LED2为P11口控制

//函数声明

void Delay(uint); //延时函数

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

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

//延时

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

void Delay(uint n)

{

uchar i;

while(n--)

{

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

}

}

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

初始化程序

4

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

void Initial(void)

{

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

RLED = 1;

YLED = 1; //LED灭

}

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

//主函数

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

void main(void)

{

uint i;

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);

5

RLED = 1;

YLED = 0;

Delay(1000);

}

RLED = 0;

YLED = 0;

Delay(1000);

}

}

实验显示结果:继电器的绿灯闪一下,红灯闪五下,一直循环着.整个过程中所有仪器都正常。

6

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

7

实验二

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协议的具体实现细节,只需关心一个核心的问题:应用程序数据从哪里来到哪里去。

下面举一个例子,当用户应用程序需要进行数据通信时,需要按照如下步骤实现:

8

相关文档
最新文档