ble学习笔记三---------------------------控制led

---------------------------控制led

示例代码如下:

Led.c文件:

/******************************************************************************

 

                  版权所有 (C), 2013-2020

 

 ******************************************************************************

  文 件 名  : LED.c

  版 本 号  : V1.0

  作   者   : retacn

  生成日期   : 2014年9月2日

  功能描述   : 点亮一个LED

  函数列表   :

              main

  修改历史   :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建文件

 

******************************************************************************/

 

/*----------------------------------------------*

 * 包含头文件                                   *

 *----------------------------------------------*/

#include <ioCC2540.h>

#include "delay.h"

 

/*****************************************************************************

 函 数 名 : main

 功能描述 : 主函数,C程序入口

 输入参数 : void

 输出参数 : 无

 返 回 值 :

 

 修改历史      :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建

 

*****************************************************************************/

int main(void)

{

   P1SEL &= ~0X03;     // 将P1.1、0设置为IO功能

   P1DIR |= 0X03;      // 设置P1.1、0为输出功能

  

   while(1){          // 无限等待   

    

     /* P1.0,P1.1输出高电平,即点亮LED2,LED1 */

     P1 = (P1 & 0xFC) | 0x03;

     

     /*延时1秒钟*/

     Delay1ms(1000);

    

   

    /*FC: 1111 1100*/

     P1 = (P1 & 0xFC) & (~0x03);

     /*延时1秒钟*/

     Delay1ms(1000);

    }

   return 0;

}

/*end file*/

 

 

Delay.h文件

/******************************************************************************

 

                  版权所有 (C), 2013-2020

 

 ******************************************************************************

  文 件 名  : delay.h

  版 本 号  : V1.0

  作   者   : retacn

  生成日期   : 2014年9月2日

  功能描述   : 延时函数头文件

  函数列表   :

              

  修改历史   :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建文件

 

******************************************************************************/

 

/*----------------------------------------------*

 * 包含头文件                                   *

 *----------------------------------------------*/

#ifndef __DELAY_H__

#define __DELAY_H__

 

/*****************************************************************************

 函 数 名 : delay

 功能描述 : 延时函数

 输入参数 : unsigned int uiDelay:延时数量(单位为1ms)

 输出参数 : 无

 返 回 值 :

 

 修改历史      :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建

 

*****************************************************************************/

//函数声明

extern void Delay1ms(unsigned int uiDelay);

 

#endif

/*end file*/

 

 

Delay.c文件

/******************************************************************************

 

                  版权所有 (C), 2013-2020

 

 ******************************************************************************

  文 件 名  : delay.c

  版 本 号  : V1.0

  作   者   : retacn

  生成日期   : 2014年9月2日

  功能描述   : 延时函数

  函数列表   :

              

  修改历史   :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建文件

 

******************************************************************************/

 

/*----------------------------------------------*

 * 包含头文件                                   *

 *----------------------------------------------*/

#include "delay.h"

 

/*****************************************************************************

 函 数 名 : delay

 功能描述 : 延时函数

 输入参数 : unsigned int uiDelay:延时数量(单位为1ms)

 输出参数 : 无

 返 回 值 :

 

 修改历史      :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建

 

*****************************************************************************/

void Delay1ms(unsigned int uiDelay){

 unsigned int i;

 for(;uiDelay>0;uiDelay--){

   /*延时1ms*/

   for(i=0;i<320;i++);

  }

}

 

/*end file*/

 

 

 

 

 

 

 

Led闪10次,蜂鸣器响一次,示例代码如下

/******************************************************************************

 

                  版权所有 (C), 2013-2020

 

 ******************************************************************************

  文 件 名  : LED.c

  版 本 号  : V1.0

  作   者   : retacn

  生成日期   : 2014年9月2日

  功能描述   : 点亮一个LED

  函数列表   :

              main

  修改历史   :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建文件

 

******************************************************************************/

 

/*----------------------------------------------*

 * 包含头文件                                   *

 *----------------------------------------------*/

#include <ioCC2540.h>

#include "delay.h"

 

/*****************************************************************************

 函 数 名 : main

 功能描述 : 主函数,C程序入口

 输入参数 : void

 输出参数 : 无

 返 回 值 :

 

 修改历史      :

  1.日   期   : 2014年9月2日

    作   者   : retacn

    修改内容   : 创建

 

*****************************************************************************/

int main(void)

{

  unsigned int i;

  unsigned int j;

 

   P1SEL &= ~0X03;     // 将P1.1、0设置为IO功能

   P1DIR |= 0X03;      // 设置P1.1、0为输出功能

   

   

   /*蜂鸣器 p2.0设为io口*/

   P2SEL &=~0x01;

   /*将p2.0设为io口输出*/

   P2DIR |= 0x01;

   

  

   while(1){    

     

     /*停止蜂鸣*/

     P2=(P2&0xFE)  | 0x01;

     

     

     /*LED闪10次,蜂鸣器响一次*/

     for(i=0;i<10;i++){

        /* P1.0,P1.1输出高电平,即点亮LED2,LED1 */

     P1 = (P1 & 0xFC) | 0x03;

     

     /*延时1秒钟*/

     Delay1ms(1000);    

   

    /*FC: 1111 1100*/

     P1 = (P1 & 0xFC) & (~0x03);

     

     /*延时1秒钟*/

     Delay1ms(1000);

     }

     /*蜂鸣器响1ms*/

    // P2=(P2&0xFE) & (~0x01);

     

      /*延时1秒钟*/

    // Delay1ms(2000);

     /* 给出500HZ的方波驱动 ???????*/

       for(j = 0; j < 1000; j++)

       {

           /* P2.0----蜂鸣器 */

           P2 = (P2 & 0xFE) & (~0x01);

           Delay1ms(1);

           P2 = (P2 & 0xFE) | 0x01;

           Delay1ms(1);

       }

     

    }

   return 0;

}

/*end file*/

 

参考:

http://bbs.elecfans.com/jishu_431223_1_1.html

 

posted @ 2014-09-14 13:15  retacn_yue  阅读(190)  评论(0编辑  收藏  举报