ZigBee开发--基础实验LED

Posted tianxxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZigBee开发--基础实验LED相关的知识,希望对你有一定的参考价值。

CC2530 IO 口配置我们需要配置三个寄存器 P1SEL P1DIR P1INPIO 口功能如下表所示: (详细参考 CC2530 datasheet.pdf

CC2530 datasheet.pdf 的链接https://pan.baidu.com/s/1nLjYI8LgqxPH6WHd_n1Szw

技术分享图片

* P1SEL (0:普通 IO 1:第二功能)
* P1DIR (0:输入 1:输出 )
* P1INP (0:上拉/下拉 1:三态

 1 #include<ioCC2530.h>
 2 #define LED1 P1_0    //定义P10口为LED1控制端
 3 #define LED2 P1_1    //定义P11口为LED2控制端
 4 #define LED3 P1_4    //定义P14口为LED3控制端
 5 
 6 void IO_Init(void)
 7 {
 8   P1SEL &= ~0x01;
 9   //P1DIR |= 0x01;     //P1_0定义为输出
10   P1DIR |= 0x13;  //P10、P11、P14定义为输出
11   LED1 = 1;       //点亮LED1
12   P1INP &= ~0X13;     //打开下拉
13 }
14 
15 void main(void)
16 {   
17     IO_Init();      //调用初始化程序
18     LED1 = 0;       //点亮LED1
19     LED2 = 0;       //点亮LED2
20     LED3 = 0;       //点亮LED3
21     while(1);
22 }

 1 #include <ioCC2530.h>
 2 #define uint  unsigned int
 3 #define uchar unsigned char
 4 //定义控制灯的端口
 5 #define LED1 P1_0    //定义LED1为P10口控制
 6 #define LED2 P1_1    //定义LED2为P11口控制
 7 #define LED3 P1_4    //定义LED3为P14口控制
 8 //函数声明
 9 void Delay(uint);        //延时函数
10 void InitIO(void);        //初始化LED控制IO口函数
11 /****************************
12 //延时
13 *****************************/
14 void Delay(uint n)
15 {
16     uint i;
17     for(i = 0;i<n;i++);
18         for(i = 0;i<n;i++);
19         for(i = 0;i<n;i++);
20         for(i = 0;i<n;i++);
21         for(i = 0;i<n;i++);
22 }
23 /****************************
24 //初始化IO口程序
25 *****************************/
26 void InitIO(void)
27 {
28     P1DIR |= 0x13;  //P10、P11、P14定义为输出
29     LED1 = 1;
30     LED2 = 1;
31     LED3 = 1;       //LED灯初始化为关
32 }
33 /***************************
34 //主函数
35 ***************************/
36 void main(void)
37 {
38     InitIO();        //初始化LED灯控制IO口    
39     while(1)                //死循环
40     {  
41            LED1 = !LED1;           // LED1灯闪一次
42            Delay(10000);           
43            LED2 = !LED2;           // LED2灯闪一次
44            Delay(10000);            
45            LED3 = !LED3;           // LED3灯闪一次
46            Delay(10000);
47            
48     }
49 }

这一段代码为流水灯的效果,我的这块底板上刚好有3个灯,就升级了一下实例代码





以上是关于ZigBee开发--基础实验LED的主要内容,如果未能解决你的问题,请参考以下文章

CC2530学习路线-基础实验-GPIO 按键控制LED灯亮灭

CC2530学习路线-基础实验-GPIO 控制LED灯亮灭

ZigBee开发--基础实验AD

ZigBee案例笔记 -- LED控制与按键检测(输入/输出)

ZigBee案例笔记 -- LED控制与按键检测(输入/输出)

ZigBee开发(11)--组网实验PER