调节zigbee自带的led亮度

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Abit_Go/article/details/70665411

#include <ioCC2530.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

#define uint  unsigned int
#define uchar unsigned char 

//定义控制灯的端口
#define LED1 P1_0   //定义LED1为P10口控制
#define KEY1 P0_0      //KEY1为P00口控制

//函数声明
void Delay(unsigned int t); //函数声明
void InitIO(void);      //初始化LED控制IO口函数
void InitKey();

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{                  
  unsigned int CYCLE=1000,PWM_LOW=0;//定义周期并赋值
  InitIO();
  InitKey();
  while (1)         //主循环
  {

    if(KEY1==0)
    {
      //S1按下,一直按着哦。
      PWM_LOW++;
      if(PWM_LOW>CYCLE)
      {
        PWM_LOW=CYCLE-1;
      }
    }
    else
    {
      PWM_LOW--;
      if(PWM_LOW<1)
      {
        PWM_LOW=1;
      }
    }

    if(PWM_LOW==1)
    {
      LED1=0;
    }
    else if(PWM_LOW==CYCLE)
    {
      LED1=1;
    }
    else if(CYCLE>PWM_LOW)
    {
      LED1=1;
      Delay(PWM_LOW);
      LED1=0;
      Delay(CYCLE-PWM_LOW);
    }
  }

}
/*------------------------------------------------
 延时函数,含有输入参数 unsigned int t,无返回值
 unsigned int 是定义无符号整形变量,其值的范围是
 0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
 while(t)
 {
   t--;
   t++;
   t--;
 }
}

/****************************
//初始化IO口程序
*****************************/
void InitIO(void)
{
    P1DIR |= 0x01;  //P10定义为输出
}


/****************************
     按键初始化函数
*****************************/
void InitKey()
{
  P0SEL &= ~0x01; //设置P0.0为普通IO口
  P0DIR &= ~0X01; //按键接在P00口上,设P00为输入模式
  P0INP &= ~0x01; //打开P00上拉电阻
}

调节zigbee自身带的led1的亮度,适用于网蜂webee的zigbee板子

展开阅读全文

没有更多推荐了,返回首页