广东省物联网CC2530呼吸灯

#include "ioCC2530.h"

#define LED1 P1_0     // P1_0定义为P1_0
#define LED2 P1_1     // P1_0定义为P1_1
#define LED3 P1_3     // P1_0定义为P1_3
#define LED4 P1_4     // P1_0定义为P1_4
#define SW1  P1_2     //SW1端口宏定义

unsigned char h;
 
/*******************LED1初始化部分*****************/
void InitLed()
{
    P1SEL &= ~0x03;         //设置P1_0口为普通I/O口
    P1DIR |= 0x03;          //设置P1_0口为输出口
    LED1 = 0; 
    LED2 = 0;//熄灭LED1
}
/***************************************************/

/*****************定时器1初始化部分****************/
void InitT1()
{
    T1CTL |= 0x03;        //定时器1时钟频率1分频,自动重装0x0000-0xFFFF
    PERCFG=0x40;       //定时器1选择外设位置2
    P1SEL|=0x03;         //P1_0选择外设功能
    T1CCTL2=0x64;       //定时器1通道2向上比较,比较模式
    T1CC2L=0xFF;        //
    T1CC2H=h;
}
/***************************************************/
void main(void)
{
    unsigned char js=0;
    unsigned char a=1;          //a=1为渐亮,a=2为渐灭
    InitLed();           //调用初始化函数
    InitT1();            
    while(1)
    {
     if((T1STAT&0x04)>0)  
      {
       T1STAT=T1STAT&0xfb;   //清除中断标志
       js++;
       if(js>=1)        //改变亮度的时间
       {
         js=0;         //清零
         if(a==1)      //渐亮
           h=h+1;
         else          //渐灭
           h=h-1;
         T1CC2L=0xff;  //重装比较值
         T1CC2H=h;
         if(h>=254)     //最大亮度
            a=2;       //设为渐灭
         if(h==0)       //最小亮度
           a=1;        //设为渐亮
}}}}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值