微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机来控制LED实现呼吸灯的效果

单片机来控制LED实现呼吸灯的效果

时间:10-02 整理:3721RD 点击:
如题控制LED实现呼吸灯的效果,是什么原理呢?哪位大神做过。分享下经验呀

个人感觉应该是控制电压的不同,在一个范围内电压线性变化应该可以实现

PSW技术啦

通过改变占空比来实现的

我用单片机做过,很简单,就是改变延时。要程序我也有。

核心技术PWM脉冲调制

用PWM技术,实现DA转换,呼吸灯并不是采用线性处理,而是指数处理

1、PWM技术
2、把最小亮度电压前面那部分除掉
3、后面的做成非线性表格

挺有创意啊   哥们

/**************************************************************
呼吸灯:
      模拟呼吸 控制等的亮暗速率
      循环 类似人体呼吸
  控制一个LED  仅供参考 QQ:864274470?
*****************************************************************/
#include <reg52.h>
#define N 2  //控制速率
#define T 700  //设定T的值,
sbit LED=P1^0;
int t=0;
char sign=0; //亮暗标志
void delay(int time)   //延时
{
while(time>0)
   time--;
}
void designed() //控制函数
{
if(sign==0)
   t+=(N+1);  //灯亮的时间较快
    else
  t-=N;   //灯灭的时间   较慢
}
void wake() //判断函数
{
  if(t>T)//如果t超过了做大值T
  {
  t=T;
  sign =  1;//控制变量
  }else if(t<0)
        {
t=0;
sign = 0;
        }
}
void main ()//主函数
{
for(;;)
{
designed();
  wake();
  LED = 0; //灯亮
  delay(t);
  LED = 1;//灯灭
  delay(T-t);
  }
}
这是利用占空比来控制LED两端的电压大小,从而实现呼吸效果。

大神,求赐教。能不能发给我程序和电路图及其它相关的学习资料(到2946018691@qq.com),只有程序也行,我想学学,求赐教,谢谢啦

学习学习学习谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top