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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值