1、实验一 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,引脚置为低电平蜂鸣器鸣叫,反
2、之蜂鸣器不鸣叫。 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
3、功能选择寄存器):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,
4、或运算后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;
5、 /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;L
6、ED3 = 1; halWait(250); halWait(250);五实验步骤 1、正确连接USB仿真器的下载线和EBDCC2530节点板。 2、打开实验源码LEDs.eww(路径为:出厂光盘DISK-EMBV210-WSN05-Example2 基本接口实验2.2 LED),编译工程,依次选择“Project”“Download and Debug”,下载到CC2530节点板。 3、把仿真器左侧的USB接口拔掉,然后拔掉连接在EBDCC2530节点板DBG位置的调试接口。我们打开EBDCC2530节点板右下方的电源开关,此时可以观察到程序运行的情况。(在不拔掉仿真器的情况下,我们可以通过相关的调试进一步观察LED的闪烁情况和蜂鸣器的鸣叫情况。) 4、修改延时函数,可以改变LED小灯的闪烁和蜂鸣器鸣叫的时间间隔。 5、重新编译,并下载程序到EBDCC2530节点板,观察LED的闪烁和蜂鸣器的鸣叫情况。六实验结果Led灯全亮时 LED灯全灭 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)