實訓之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;
        }
  }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章