实验一 LED控制实验

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

实验一 LED控制实验

一.实验目的

在EBDCC2530节点板上运行自己的程序。

通过I/O控制小灯闪烁和蜂鸣器鸣叫。

二.实验环境

硬件:PC机,EBDCC2530节点板,USB接口仿真器。

软件:Windows 98/2000/NT/XP, IAR集成开发环境。

三.实验原理

仔细阅读和查询CC2530设备的数据手册来设置CC2530的I/O引脚,通过I/O引脚输出的高低电平来控制灯的亮与灭和蜂鸣器的鸣叫。本实验设置P1.0、P1.1、P1.4 I/O引脚来选通LED1、LED2、LED3,引脚置为低电平点亮LED,反之熄灭LED。设置P0.1引脚来选通BEEP,引脚置为低电平蜂鸣器鸣叫,反之蜂鸣器不鸣叫。 CC2530的I/O控制口一共有21个,分别为P0、P1、P2。我们以LED1所对应的P1.0引脚所用到的控制寄存器为例,仔细说明控制寄存器中每一位所代表的意义。其他控制寄存器所代表的意义请查看CC2530数据手册。

P1DIR(P1方向寄存器):

D7 D6 D5 D4 D3 D2 D1 D0

P1.7方向0:输入1:输出P1.6方

向0:

输入

1:输出

P1.5方

向0:

输入

1:输出

P1.4方

向0:

输入

1:输出

P1.3方

向0:

输入

1:输出

P1.2方

向0:

输入

1:输出

P1.1方

向0:

输入

1:输出

P1.0方

向0:

输入

1:输出

P1SEL(P1功能选择寄存器):

D7 D6 D5 D4 D3 D2 D1 D0

P1.7功能 0:普通I/O 1:外设P1.6功

能 0:普

通I/O

1:外设

P1.5功

能 0:普

通I/O

1:外设

P1.4功

能 0:普

通I/O

1:外设

P1.3功

能 0:普

通I/O

1:外设

P1.2功

能 0:普

通I/O

1:外设

P1.1功

能 0:普

通I/O

1:外设

P1.0功

能 0:普

通I/O

1:外设

寄存器的设置:

1)将控制寄存器的某一位置1:

例如:P1DIR |= 0x01;

解释:“|=”表示按位或运算,0x01为十六进制数,转换成二进制数为0000 0001,若P1DIR原来的值为0011 0010,或运算后P1DIR的值为0011 0001,根据上面的计算后P1_0的方向改为输出,其他I/O 口保持不变。

2)将控制寄存器的某一位清0:

例如:P1DIR &= ~0x01;

解释:“&=”表示按位与运算,“~”运算表示取反,0x01为十六进制数,转换成二进制数为1111 1110,P1DIR原来的值为0011 0011,与运算后P1DIR的值为0011 0010,根据上面的计算后P1_0的方向改为输入,其他I/O口保持不变。

四.主要代码

LDE灯实现的主要代码为:

void main(void)

{

led_beep_init();

halWait(250);

while(1) //开始循环

{

LED1 = 0; //LED1 闪烁

halWait(250);

LED1 = 1;

halWait(250);

LED2 = 0; //LED2 闪烁\

halWait(250);

LED2 = 1;

halWait(250);

LED3 = 0; //LED3 闪烁

halWait(250);

LED3 = 1; halWait(250);

BEEP = 0; //BEEP 鸣叫halWait(250);

BEEP = 1;

halWait(250);

LED1 = 0; //LED 灯全亮LED2 = 0;

LED3 = 0;

halWait(250);

halWait(250);

LED1 = 1; //LED 灯全灭LED2 = 1;

LED3 = 1;

halWait(250);

halWait(250);

}

}

五.实验步骤

1、正确连接USB仿真器的下载线和EBDCC2530节点板。

2、打开实验源码LEDs.eww(路径为:出厂光盘DISK-EMBV210-WSN\05-Example\2 基本接口实验\2.2 LED),编译工程,依次选择“Project”→“Download and Debug”,下载到CC2530节点板。

3、把仿真器左侧的USB接口拔掉,然后拔掉连接在EBDCC2530节点板DBG位置的调试接口。我们打开EBDCC2530节点板右下方的电源开关,此时可以观察到程序运行的情况。(在不拔掉仿真器的情况下,我们可以通过相关的调试进一步观察LED的闪烁情况和蜂鸣器的鸣叫情况。)

4、修改延时函数,可以改变LED 小灯的闪烁和蜂鸣器鸣叫的时间间隔。

5、重新编译,并下载程序到EBDCC2530节点板,观察LED的闪烁和蜂鸣器的鸣叫情况。

六.实验结果

Led灯全亮时 LED灯全灭

相关文档
最新文档