⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 CC2430相关的一些实验程序,开发环境为IAR,如果有兴趣的人是不错的资料.
💻 C
字号:
//CD WXL  电池板开关小灯
#include <ioCC2430.h>

#define uint unsigned int
#define uchar unsigned char
#define ON 0          //LED状态
#define OFF 1

//定义控制灯的端口
#define RLED P1_0	//定义LED1为P10口控制
#define YLED P1_1	//定义LED2为P11口控制

#define K1 P1_2         //控制红灯
#define K2 P1_3

//函数声明
void Delay(uint);		//延时函数
void Initial(void);		//初始化P0口
void InitKey(void);
uchar KeyScan(void);

char i = 0;
uchar Keyvalue = 0 ;

/****************************
//延时
*****************************/
void Delay(uint n)
{
	uint tt;
	for(tt = 0;tt<n;tt++);
	for(tt = 0;tt<n;tt++);
	for(tt = 0;tt<n;tt++);
	for(tt = 0;tt<n;tt++);
	for(tt = 0;tt<n;tt++);
}

/*****************************************
//按键初始化
*****************************************/
void InitKey(void)
{
  P1SEL &= ~0X0C;
  P1DIR &= ~0X0C; //按键在P12 P13
  P1INP |= 0x0c; //三态
}

/****************************
//初始化程序
*****************************/
void Initial(void)
{
	P1DIR |= 0x03; //P10、P11定义为输出
	RLED = 1;
	YLED = 1;	//LED
}

/*****************************************
//读键值
*****************************************/
uchar KeyScan(void)
{
  if(K1 == 0)  //低电平有效
  {
    Delay(100);  //检测到按键
    if(K1 == 0)
    {
      while(!K1);   //直到松开按键
      return(1);
    }

  }
  if(K2 == 0)
  {
    Delay(100);
    if(K2 == 0)
    {
      while(!K2);
      return(2);
    }
  }
  return(0);
}

/***************************
//主函数
***************************/
void main(void)
{
	Initial();		//调用初始化函数
        InitKey();
	RLED = ON;		//LED1
	YLED = OFF;		//LED2
	while(1)
	{
          Keyvalue = KeyScan();
          if(Keyvalue == 1)
          {
           RLED = !RLED;      //red
           Keyvalue = 0;      //清除键值
          }
          if(Keyvalue == 2)
          {
            YLED = !YLED;     //green
            Keyvalue = 0;
          }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -