---------------------------控制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