2530-LED-灯闪烁实验.pdf计算机科学与技术学院
实验报告
课程名称: 无线传感器网络原理与应用
实验一 CC2530 LED 灯闪烁实验
一、实验目的
熟悉鼎轩 WSN 实验平台使用的基本步骤,熟悉 IAR 开发环境,掌握 CC2530
芯片 LED 对应的 GPIO 引脚,并且熟练掌握 LED 的使用。
二、实验内容
1)安装 IAR 开发环境;
2)控制红灯、绿灯、蓝灯(蓝灯、黄灯、绿灯)交替闪烁。
三、实验环境
硬件:鼎轩 WSN 实验箱(汇聚网关、烧录线) ,PC 机;
软件:IAR 软件。
四、实验步骤
目前网关上有红、绿、蓝 3 个 LED 灯,还另有一个红色的 LED 工作指示
灯,节点上有红、蓝、黄、绿 4 个 LED 灯,其中,红灯是工作指示灯,蓝灯
和黄灯主要用于程序调试。 现在对 LED 灯的操作主要是点亮和关闭,下面是
CC2530 中 LED 部分的原理图。LED 颜色, MCU 管脚,信号控制关系如下:
对于网关板:
对于节点板:
要想通过编程 P1,P2 引脚控制 LED 的亮灭,必须设置对应的引脚方向为输出,
对应的暂存器为 P1DIR,P2DIR。
P2DIR :D0~D4 设置 P2_0 到 到 P2_4 的方向 D7 、D6 位作为端口 0 外
设优先级的控制
1)打开鼎轩 WSN 实验箱,检查实验箱设备,确保实验箱设备完整、连接无误后,
连接电源线,打开电源开关;
2)安装好 IAR 开发环境以及驱动程序,详细方法见说明资料;
3)用烧录线连接汇聚网关上的烧录接口与 PC 机 USB 接口,连接方法可参考
相应的说明资料;
4) 双击打开目录(/cc2530-simple-demo/LED_BLINK)下的工程图标
打开工程;
5) 点击 IAR 中的图标按钮 编译程序;
6)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨上
去,点击调试并下载按钮 将程序下载到汇聚网关上;
7) 运行程序,可以观察到红灯和绿灯交替闪烁。
8) 修改程序代码,实现红、蓝、绿三个灯一起闪烁。
程序代码:
程序代码源文件为/cc2530-simple-demo/LED_BLINK/,
#include <>
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define RLED P1_2 //定义红灯为 P1_2 口控制
#define GLED P1_3 //定义绿灯为 P1_3 口控制
//Local Functions
void Delay(uint); //延时函数
void Initial(void); //初始化 P1 口
/****************************
//延时
*****************************/
void Delay(uint n)
{
uint tt;
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
}
/****************************
//初始化程序
*****************************/
void Initial(void)
{
P1DIR |= 0x0C; //P1_2、P1_3 定义为输出
RLED = 0;
GLED = 1;
}
/***************************
//主函数
***************************/
void main(void)
{
Initial(); //调用初始化函数
while(1)
{
GLED = !GLED;
RLED = !RLED;
Delay(50000);
}
}
P1DIR |= 0x0C;该语句定义 P1 口的 和 方向为输出;
RLED = 0;红灯初始化低电平,程序开始运行时熄灭;
GLED = 1;绿灯初始化高电平,程序开始运行时点亮;
GLED = !GLED;RLED = !RLED;这两个语句让 LED 状态翻转,即若当前 LED 点亮,
则将它熄灭,若当前 LED
2530-LED-灯闪烁实验 来自淘豆网www.taodocs.com转载请标明出处.