两个按键控制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;

   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值