无线控制网络综合实验实验报告

无线控制网络综合实验实验报告
无线控制网络综合实验实验报告

无线控制网络综合实验

实验报告

姓名:

学号:

分组编号:

小组成员:

指导老师:

2016年3月

实验3.1 LED灯控制实验

一、实验目的

1、熟悉UP-CUP IOT-6410-II实验系统的硬件组成及使用方法,熟悉Zigbee模块的硬件接口;

2、熟悉和掌握使用IAR集成开发环境,编写程序实现利用CC2530的IO口控制LED闪烁的功能。

二、实验原理

1、硬件原理

CC2530控制LED 的电路原理图如图3-1-1所示。

CC2530核心板上预留了两个LED,采用共阳极驱动方式,分别由CC2530的P1.0和P1.0控制,通过控制这两个IO口输出低电平即可点亮对应LED。

图3-1-1 LED硬件原理图

IO口的控制是通过对CC2530相关寄存器的操作实现的,其中部分IO相关寄存器如图3-1-2所示。具体操作过程见软件设计部分。

图3-1-2 部分IO相关寄存器

2、软件原理

(1)、首先设置P1SEL寄存器,选择IO口的通用IO功能;

(2)、设置P1DIR寄存器,选择P1.0和P1.1口的输入输出方向为输出方向;

(3)、通过设置P1寄存器的第0位和第1位即可控制LED的亮灭,其中P1寄存器是可位寻址的,即可直接使用P1_x操作。

程序主函数如下。

void main(void){

Initial();//调用初始化函数,初始化P1.0和P1.1口,包括对寄存

//器P1SEL和P1DIR的操作

LED1 = 0;//LED1点亮

LED2 = 0;//LED2点亮

while(1){

LED2 = !LED2;//LED2闪烁

Delay(50000);

}

}

三、实验步骤

1、调整硬件:使用配套USB线连接PC机和UP-CUP IOT-6410-II型设备,设备上电,确保打开Zigbee模块开关供电,并使用CCD_SETKEY选择要使用的Zigbee 模块;

2、创建工程:打开IAR Embedded Workbench for MCS-51嵌入式开发环境,按下列步骤建立新工程;

(1).选择file→new→Workspace新建一个工作空间;

(2).选择Project→Greate New Project...弹出图3-1-3建立新工程对话框,然后确认Tool chain栏已经选择8051,在Project templates:栏选择Empty project,点击下方OK按钮;

图3-1-3 建立新工程

(3).选择工程的保存位置,如图3-1-4;

图3-1-4 保存工程

(4).保存Workspace工作空间并选择保存位置,如图3-1-5;

图3-1-5 保存Workspace

3、配置工程选项

按照《物联网综合实验系统实验指导书V1.3》的说明对工程进行配置,其中部分配置的说明如下:

(1).Code model和Data model可以调节程序寻址范围的大小,要根据实际程序的大小进行调节;

(2).Stack/Heap标签:用于调整堆栈的大小;

(3).Linker选项,Output标签:用于输出编译生成的文件,用于下载到芯片运行,可以输出.hex、.bin或.txt等多种格式;

(4).Debugger:用于选择软件调试的方式和使用的仿真器类型。

4、新建和添加程序源文件

使用工具栏新建一个空的程序文本文件,保存为main.c,在工程名上点右键,在弹出的快捷菜单中选择Add→Add File…,弹出文件打开对话框,选择需要的文件点击添加即可将文件添加到工程。

至此,一个可用的工程模板就创建好了,可以将该工程保存一份便于以后直接使用。

4、编写编译和链接程序

根据需求编写或添加程序,选择Project→Make或直接按F7键编译和连接工程。

5、程序下载和调试

(1)、安装仿真器驱动:根据《物联网综合实验系统实验指导书V1.3》的说明安装好仿真器的驱动程序;

(2)、调试和运行:

选择菜单Project Debug或按快捷键CTRL+D进入调试状态,调试状态可以进行单步运行、查看变量、设置断点等操作,方便调试程序;

现在程序已经下载到了CC2530中了,退出DEBUG模式后按一下复位按键程序就开始全速执行了。

调试界面如图3-1-6所示。

图3-1-6 软件调试界面

四、实验结果

程序全速运行时可以看到LED1保持亮的状态,而LED2在不断闪烁。

实验3.2 Timer1控制实验

一、实验目的

1、练习和巩固嵌入式开发环境IAR及CC2530通用IO口的使用方法;

2、学习和掌握CC2530的Timer1定时器的使用。

二、实验原理

1、硬件原理

用到的LED控制电路与实验3.1 LED控制实验相同,同时使用了CC2530的内部外设定时器1。

CC2530内部有一个16为的Timer1,其主要特性如下:

①. 具有3个捕获/比较通道;

②. 支持上升沿、下降沿或任意边沿输入捕获模式;

③. 比较模式支持置位、清除或反转外部输出;

④. 三种计数模式:

⑤. 输入时钟支持1,8,32或128预分频;

⑥. 每个捕获/比较和计数结束都能产生中断请求;

⑦. DMA触发功能。

Tmer1包含的寄存器有:

图3-2-1 Timer1的相关寄存器

2、软件原理

软件主函数如下:

初始化函数Initial();主要初始化了IO引脚和Timer1的T1CTL寄存器。

然后采用软件轮询IRCON的方式判断定时器是否溢出,如果溢出则改变标志TempFlag的值,进而改变LED的状态。

void main(){

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

LED1 = 0; //点亮

LED1 while(1){

if(IRCON > 0) {

IRCON = 0;//清除溢出标志

TempFlag = !TempFlag;

}

if(TempFlag){

LED2 = LED1;

LED1 = !LED1;

Delay(6000);

}

}

}

三、实验步骤

1、使用配套USB线连接PC机和UP-CUP IOT-6410-II型设备,设备上电,确保打开Zigbee模块开关供电;

2、使用CCD_SETKEY按键选择Zigbee仿真器要连接的Zigbee设备模块(根据LED指示灯判断);

3、启动IAR开发环境,新建和配置工程,将\exp\Basic\Exp2实验工程中代码拷贝到新建工程中;

4、在IAR开发环境中编译、运行、调试程序。

四、实验结果

可以看到LED1和LED2轮流闪烁一段时间,然后静止相同时间,然后又开始闪烁,如此循环,实验调试界面如下图。

相关主题
相关文档
最新文档