实训之WSN(二)

#include<ioCC2530.h>

#define LED1 P1_0
#define LED2 P1_1
#define KEY P1_2

//延迟时间 time ms
void delay_ms(int time)
{
  int i,j;
  for(i = 0 ;i < time;i++)
  {
    for(j = 0;j < 240;j++)
    {
      asm("NOP"); //执行一个空的机器周期,目的是消耗时间
      asm("NOP");
      asm("NOP");
      asm("NOP");
      asm("NOP");
    }
  }
}

//主函数
void main()
{
  P1DIR |=0x03;

  LED1=0;  //复位以后这个灯默认就是点亮的,所以我们要熄灭它
  LED2=0;

  /*
 int number=0;
  while(1)
  {
    if(KEY==0)
    {
      delay_ms(10);   //作用是消抖
      number++;
    }
     //灯亮
    if(number%2==1)
    {
      LED=1;
      //delay_ms(200);
     while(!KEY);    //等待按键松开
    }
    //灯灭
    if(number%2==0)
    {
      LED=0;
      //delay_ms(200);
    while(!KEY);    //等待按键松开
    }
  }
*/
 /*
  while(1)
  {
    if(KEY == 0)
    {
      delay_ms(10);// 作用是消抖
      if(KEY ==0)
      {
        LED1 =!LED1;
                LED2 =!LED2;
                //delay_ms(200);
                while(!KEY);    //等待按键松开
      }

    }
  }
  */
  /*
    第一次按下键的时候,点亮D1,灭掉D2
    第二次点亮D2,灭掉D1
    第三次同时亮D1和D2
    第四次灭掉D1和D2
  */

  int number=0;
  while(1){

    if(KEY == 0)
    {
      delay_ms(10);// 作用是消抖

           // 第一次按下键的时候,点亮D1,灭掉D2 
      if(KEY ==0&&number==0)
      {
        LED1 =!LED1;  //亮
                LED2 =LED2;   //灭
                while(!KEY);  //等待按键松开
                number++;
      }

          // 第二次点亮D2,灭掉D1
           if(KEY ==0&&number==1)
      {
        LED1 =!LED1;   //灭
                LED2 =!LED2;   //亮
                while(!KEY);    //等待按键松开
                 number++;
      }

          //第三次同时亮D1和D2
              if(KEY ==0&&number==2)
      {
        LED1 =!LED1;   //亮
                LED2 =LED2;   //亮
                while(!KEY);    //等待按键松开
                number++;   
      }

       //第四次灭掉D1和D2
              if(KEY ==0&&number==3)
      {
        LED1 =!LED1;   //灭
                LED2 =!LED2;   //灭
                while(!KEY);    //等待按键松开
                number++;
      }

    }
        if(number==4){    //计数置零
          number=0;
        }
  }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值