zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JavaScript常用单词整理总结
    花了100多去KTV不是唱歌,竟然是……
    当你左右看看没有发现我时,千万千万别往看……
    winform分页案例简单实现方式~
    来自一位家长的肺腑之言,句句在理!!!
    “小朋友”们节日快乐呀~
    你在学校我安排了你没有做到最多凶你一顿,在公司不一样,直接得让走人!...
    你也可以做一个简易抽奖程序!
    不好意思,你这个加分理由不行……
    【RocketMQ】客户端源码解析
  • 原文地址:https://www.cnblogs.com/retacn-yue/p/6194254.html
Copyright © 2011-2022 走看看