两个按键控制CC2530单片机LED的亮灭

要求:

实现两个按键控制CC2530单片机LED的亮灭。

代码参考:

#include "ioCC2530.h"

void Delay(long t)

{

  while(t--)

  {

  asm("nop"); //空操作

  asm("nop");

  asm("nop");

  asm("nop");

  asm("nop");

  asm("nop");

  }

}

 

 

void led_init(void)

{

  

  

  P1DIR |=0X02;//P1_1

  P1SEL=P1SEL&0xFD;

  P1DIR |=0X01;//P1_0

  P1SEL&=0XFE;

}

 void key_init(void)

 {

   P0DIR &=0XDF;//P0_5

   P0SEL &=0XDF;

   P0INP &=0XDF;

   P0DIR &=0XEF;//P0_4

   P0SEL &=0XEF;

   P0INP &=0XEF;

 }

void zhongduan_init(void)

{

IEN0 |=0X80;//EA=1

IEN1 |=0X20;

P0IEN |=0X20;//P0_5

PICTL |=0X01;//下降沿

 

EA=1;

IEN1 |=0X20;

P0IEN |=0X10;//P0_4

PICTL |=0X01;

 

 

}

 

 void main(void)

   {

     led_init();

     key_init();

     zhongduan_init();

     

while(1)

{

  P1_1=1;//熄灭LED灯

  P1_0=1;       

}

   }

 

#pragma vector=P0INT_VECTOR

__interrupt void P0_ISR(void)

{

  if(P0IFG==0X20)

  {

                                       //P1_1=!P1_1;//点亮LED

                                      //Delay(5000);

          P1_1=!P1_1; //P0IFG=0;//手动清零

          Delay(50000); //P0IF=0;//手动清零

          P0IFG=0;   

          P0IF=0;

   }

   

      if(P0IFG==0X10)      

   {                        

          P1_0=!P1_0;                

          Delay(50000);                

          P0IFG=0;   

          P0IF=0;

   }

}

你可能感兴趣的:(单片机,java)