一.main函数代码如下:
/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
* 文件名 : main
/* 头文件 ----------------------------------------------------------------*/
#include "led.h"
/* 函数 ------------------------------------------------------------------*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:Delay
* 描述: Delay函数的最初算法(源码)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
static void Delay(unsigned int time)
{ unsigned int i;
unsigned int j;
for(i = 0; i < time; i++)
{ for(j = 0; j < 950; j++)
{
}
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:main
* 描述:主函数/入口函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void main(void)
{
LEDInit();
LEDOff(1);
LEDOn(2);
LEDOff(3);
LEDOff(4);
while(1)
{
LEDToggle(1); //一二两灯的循坏闪烁
LEDToggle(2);
Delay(600);
}
}
二.led.c代码如下:
/* 头文件 ----------------------------------------------------------------*/
#include "led.h"
#define LED1 P1_1
#define LED2 P1_0
#define LED3 P1_4
#define LED4 P1_3
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:LedInit
* 描述:4个LED 对应 P1.0 P1.1 P1.3 P1.4 高电平点亮
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void LEDInit(void)
{
P1SEL &= ~0x1B;
P1DIR |= 0x1B;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:LEDOn
* 参数:n LED编号 1-4表示对应4个LED 0表示全部开
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void LEDOn(unsigned char n)
{
switch(n)
{
case 0:
LED1 = 1;
LED2 = 1;
LED3 = 1;
LED4 = 1;
break;
case 1:
LED1 = 1;
break;
case 2:
LED2 = 1;
break;
case 3:
LED3 = 1;
break;
case 4:
LED4 = 1;
break;
default:
break;
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:LEDOff
* 参数:n LED编号 1-4表示对应4个LED 0表示全部关
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void LEDOff(unsigned char n)
{
switch(n)
{
case 0:
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
break;
case 1:
LED1 = 0;
break;
case 2:
LED2 = 0;
break;
case 3:
LED3 = 0;
break;
case 4:
LED4 = 0;
break;
default:
break;
}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* 函数名:LEDToggle
* 参数:n LED编号 1-4表示对应4个LED
* 描述:LED状态反转
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void LEDToggle(unsigned char n)
{
switch(n)
{
case 0:
LED1 = !LED1;
LED2 = !LED2;
LED3 = !LED3;
LED4 = !LED4;
break;
case 1:
LED1 = !LED1;
break;
case 2:
LED2 = !LED2;
break;
case 3:
LED3 = !LED3;
break;
case 4:
LED4 = !LED4;
break;
default:
break;
}
}
三.led.h代码如下:
#ifndef LED_H
#define LED_H
/* 头文件 ----------------------------------------------------------------*/
#include <iocc2530.h> //主要是引用CC2530头文件
/* 宏定义 ----------------------------------------------------------------*/
/* 结构体或枚举 ----------------------------------------------------------*/
/* 函数声明---------------------------------------------------------------*/
void LEDInit(void);
void LEDOn(unsigned char n);
void LEDOff(unsigned char n);
/* 外部变量引用 ----------------------------------------------------------*/
void LEDToggle(unsigned char n);
#endif
代码还是得多看多练,才能提高!全部都总结在这了,代码比较简单花时间去看都看的懂。