原创 软件实现呼吸灯

2013-4-26 10:35 3993 23 25 分类: MCU/ 嵌入式

呼吸灯是手机上的一个小东西,一个灯由明变暗再由暗变明,象是一个人在呼吸一样。可以用硬件实现这个呼吸灯,但体积会比较大。这里用软件做了一个:


#define BREATHLEVEL 6*256
void BreathLED(void){
  static uint16_t cnt=0,illu=0,rep=0,stt=1;
  rep++;
  cnt++;
  if(cnt > illu) LED2OFF();
  else LED2ON();
  if(rep == BREATHLEVEL){
    rep = 0;
    cnt = 0;
    if(stt){
      illu++;
      if(illu >= BREATHLEVEL){
        stt = 0;
      }
     }
      else{       
      illu--;
      if(illu < 1){
        stt = 1;
      }    
    }  
  }
}

 

把这个函数中的点灯灭灯的宏指向板子上的硬件LED。在定时中断里调用这个函数就能实现呼吸灯。

文章评论2条评论)

登录后参与讨论

用户1667055 2014-7-17 17:13

不错,而且不影响其他程序执行。 谢谢。

用户1680489 2013-5-1 06:36

早上好!祝大家五一节快乐!幸福!
相关推荐阅读
southcreek 2024-07-08 11:38
接地不良导致的故障分析
这个电路的控制板需要连接显示板和识别板。5V 供电和串行控制连到显示板,显示板再连接到识别板。识别板上电位器使用一个LDO供电,将输入的5V转成3.3V。当电位器滑动时,输出电压在0~3.3V之间。...
southcreek 2024-06-26 09:15
【EMC整改】带辅助加热的滴速控制器辐射抗扰整改
这个滴速式的输液泵使用一个红外线发射和接收装置,当有液滴通过时,会扰动检测信号,识别这个扰动检测到液滴滴下,获得滴壶中的液滴速度,调整阀门大小,实现输液速度控制。控制器还配备一根加热条,用于输液时对药...
southcreek 2024-06-06 08:52
QT 使用QSettings 操作ini文件配合表格操作
这个项目可以演示 使用QSetting 读取或写入 ini文件。并使用tablewidget 显示。Ini文件的格式如下,这个文件可以事先编写。也可以在程序中生成。有一个大类,下面有一个小类使用等号设...
southcreek 2024-05-27 16:18
差分输入ADC的单端到差分转换器驱动设计
单端信号需要转换成差分信号,以便使用ADC进行转换。这个就所谓的ADC驱动电路。需要的结果为Vp = Vcm + Vi/2Vn = Vcm – Vi/2这样 Vp – Vn = Vi使用简单的加法器和...
我要评论
2
23
关闭 站长推荐上一条 /2 下一条