阅读背景:

CC2530按键控制LED灯开关_刘鑫磊_cc2530按键控制led灯闪烁

来源:互联网 

文章目录:

实验要求

代码实现


实验要求

代码实现

#include "ioCC2530.h"

#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
//两个按键
#define SW1 P1_2
#define SW0 P0_1

//延迟函数
void Delay(unsigned int t)
{
  while(t--);
}

//端口初始化函数
void Init_Prot()
{
//配置4个LED灯的引擎
  //选择端口的功能
  P1SEL &=~0x1B;//设置通用io端口
  //配置端口的方向
  P1DIR |=0x1B;
  
//配置SW1按键引脚
  P1SEL &=~0x04;
  P1DIR &=0x04;//输入模式 清零
    //将输入模式设置为上拉模式
    P1INP &=~0x04;
    P2INP &=~0x40; //第6位清零
//配置SW2按键引脚
  P0SEL &=~0x02;
  P0DIR &=0x02;//输入模式 清零
    //将输入模式设置为上拉模式
    P0INP &=~0x02;
    P2INP &=~0x20; //第5位清零
    //第7位对应的是P2端口
    //第6位对应的是P1端口
    //第5位对应的是P0端口
}

//灯光检测函数
void LED_Check()
{
  D3=1;
  D4=1;
  D5=1;
  D6=1;
  Delay(60000);
  Delay(60000);
  D3=0;
  D4=0;
  D5=0;
  D6=0;
}

//按键扫描函数
void Scan_Keys()
{
  //按键1
  if(SW1 == 0)//可能有按键按下,那么进行去抖动操作
  {
    Delay(200);
     if(SW1 == 0)//那么就是按键触发的信号
     {
      //按键处理程序
       while(SW1 == 0);//低电平、按下状态
       D4=~D4;
     }
  }
  
   //按键2
  if(SW0 == 0)//可能有按键按下,那么进行去抖动操作
  {
    Delay(200);
     if(SW0 == 0)//那么就是按键触发的信号
     {
      //按键处理程序
       while(SW0 == 0);//低电平、按下状态
       D6=~D6;
     }
  }
}

void main(void)
{
  //端口初始化
  Init_Prot();
  LED_Check();
  while(1)
  {
    Scan_Keys();
  }
}
 #incl



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: