#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
//#include "led.h"
#include "Breath_led.h"
#define bbb 5000 /*
定义三个无符号变量:
i控制亮灭的时间
j控制亮灭的亮度变化 控制低电平的时间
K控制整个呼吸灯的时间 讲解:总的时间为5000us
bbb-j bbb(bbb-j)
1、高电平的时间5000us 低电平的时间为0 红灯最亮
3、高电平的时间4000us 低电平的时间为1000
4、高电平的时间3000us 低电平的时间为2000
4、高电平的时间2000us 低电平的时间为3000
5、高电平的时间1000us 低电平的时间为4000
6、高电平的时间0000us 低电平的时间为5000 红灯熄灭
以上是从最亮到熄灭的过程 下面是最暗到亮的过程
1、高电平的时间0000us 低电平的时间为5000 红灯最亮
3、高电平的时间1000us 低电平的时间为4000
4、高电平的时间2000us 低电平的时间为3000
4、高电平的时间3000us 低电平的时间为2000
5、高电平的时间4000us 低电平的时间为1000
6、高电平的时间5000us 低电平的时间为0000 红灯熄灭 */
void led_red_init(); void Breath_led()
{
led_red_init();//GPIO初始化
unsigned int i=,j=,k;
for(k=;k<bbb;k++)//控制整个呼吸灯的时间
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);//点亮红灯
for(i=;i<bbb-j;i++);//高电平的时间 一开始最亮 GPIO_SetBits(GPIOB,GPIO_Pin_5);//熄灭红灯
for(i=;i<bbb-(bbb-j);i++);//给低电平的时间 j++;//控制亮度的变化
if(j==bbb)//当j低电平的时间等于5000时,说明已经快熄灭了
{
//j=0; //从零开始 for(k=;k<bbb;k++)
{
j--;
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
for(i=;i<bbb-j;i++);
GPIO_SetBits(GPIOB,GPIO_Pin_5);
for(i=;i<bbb-(bbb-j);i++);
} }
} }
void led_red_init()
{ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitTypeDef gpio;
gpio.GPIO_Mode=GPIO_Mode_Out_PP;
gpio.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&gpio); GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1);//默认为低电平 }

基于for循环的呼吸灯的更多相关文章

  1. Nubia Z5S 基于官方H207/4.4内核的Mokee4.4.4 RC3.2 (2014.7.31修复呼吸灯(能亮依旧不能呼吸))

    特别感谢 yun3195 和 轻描淡写Yhw  帮忙測试 转帖请务必注明本链接地址: http://blog.csdn.net/syhost/article/details/36444259 此ROM ...

  2. 浅浅的分析LED呼吸灯的实现和PWM的关系

    前言 在本周,我们在python课上做了一个实验,用ARDUINO使小LED灯模仿出呼吸灯的效果,实验进行的很成功,但是机器当仅输出高/低电平的时候是怎么样才能做到渐亮渐暗(输出电压)的变化呢?在这里 ...

  3. (原创)用Verilog实现一个参数化的呼吸灯(Verilog,CPLD/FPGA)

    1.Abstract     观察到一个有趣的现象,每当把Apple笔记本合上的时候,那个白色的呼吸灯就会反复地由暗渐明,然后又由明渐暗,乍一看就像Apple笔记本在打盹休息一样,十分可爱!于是突发奇 ...

  4. 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...

  5. Arduino系列之pwm控制LED灯(呼吸灯)

    下面我将写出最简单控制呼吸灯的方法 void setup()                                 // { pinMode(12,OUTPUT);             ...

  6. 【microPython与esp8266】之一——呼吸灯与PWM

    呼吸灯与pwm pwm是什么? PWM的全称是脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式: 简而言之,使 ...

  7. Android 呼吸灯流程分析

    一.Android呼吸灯Driver实现 1.注册驱动 代码位置:mediatek/kernel/drivers/leds/leds_drv.c 602static struct platform_d ...

  8. 好玩的WPF第二弹:电子表字体显示时间+多彩呼吸灯特效button

    我们先来看看Quartz MS字体动态显示系统时间的效果,难度相较于上一篇也要简单很多. 首先是定义一个TextBlock例如以下. <Grid> <TextBlock Name=& ...

  9. PWM(脉宽调制)——LED特效呼吸灯设计

    简述PWM PWM--脉宽调制信号(Pulse Width Modulation),它利用微处理器的数字输出来实现,是对模拟电路控制的一种非常有效的技术,广泛应用于测量.通信.功率控制与变化等许多领域 ...

随机推荐

  1. go interface接口

    一:接口概要 接口是一种重要的类型,他是一组确定的方法集合. 一个接口变量可以存储任何实现了接口方法的具体值.一个重要的例子就是io.Reader和io.Writer type Reader inte ...

  2. saltstack主机管理项目:动态调用插件解析-模块解析(五)

    一.动态调用插件解析 1.目录结构 1.base_module代码解析: def syntax_parser(self,section_name,mod_name,mod_data): print(& ...

  3. Docker:常用命令大全 [七]

    一.docker的命令的解释 1.命令解释 docker run -d -p 80:80 nginx run (创建并运行一个容器) -d 放在后台 -p 端口映射 nginx docker镜像的名字 ...

  4. Java实现AES加密

    一)什么是AES? 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. ...

  5. admin 后台操作表格

    1. app下创建 templates  运行的时候 先找全局的templates——> 按照app的注册顺序找templates中的文件 2. app下在创建一个urls.py include ...

  6. PyQt5之布局管理

    目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGr ...

  7. JAVA传递带有空格的参数

    String s="b2 + b1"; Process child = Runtime.getRuntime().exec("C:\\eclipse-workspace\ ...

  8. Beamer 跳到另外一页

    \documentclass[english]{beamer}\usepackage{babel} \begin{document} \begin{frame}\frametitle{the refe ...

  9. Vorticity directions 1: self-improving property of the vorticity

    在 [Li, Siran. "On Vortex Alignment and Boundedness of $ L^ q $ Norm of Vorticity." arXiv p ...

  10. sonarqube6.7部署文档

    应用介绍:sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量通过插件形式:可以支持包括Java.C#/C++.PL/SQL.Cobol.javascrip.Groovy等等二十几 ...