首页 > 编程知识 正文

手机呼吸灯怎么关(呼吸灯的实现)

时间:2023-05-05 02:40:19 阅读:123064 作者:3521

在最近进行的项目中,有些被要求实现LED灯强弱变化的控制。 以前我知道呼吸机的概念,也知道用PWM控制。 但只停留在概念上,以前没有真正做过这方面。 所以,我在网上查了一下,感觉还在天上,结果自己制作了wxdyc,必须从原理上先理解。

研究表明,要改变LED的亮度和LED的电流,必须改变限流电阻或改变供电电压值。

前者一般选择电阻,不能再实时变更。 即使是实时的,例如有了数字电位器,这里也是大材料和小材料。

后者是一个好的选择,电压如何变化? 如下所示。

该图显示了傻铃(PWM )与其电压有效值或平均值之间的关系。

t/T的值可以改变输出的电压有效值或平均值,t是高电平时间,t是笨蛋铃(PWM )的周期值。

如果我们固定傻铃的周期值,固定高电平时间,也就是固定占空比,输出电压值也就固定了。

首先对例程代码进行编码。

//灯亮度控制void light _ lux assign (unsignedcharlux _ strenth ) /亮度配置(实际设置高电平期间) {static unsigned char breath_rt; //呼吸计时器staticconstunsignedcharbreath _ ta=20; 在此,首先固定周期值。 周期值不能超过22ms。 否则,会发生闪烁现象,视觉上暂停。 (静态统一char breath _ ton; //高电平时间breath_Ton=Lux_Strenth; 注意Lux_Strenth不能将周期值breath_taif(breath_tabreath_rt ) /计时器累积到一个周期({breath_rt=0)。 //定时器归零}else {breath_rt; //继续计时}(Breath_tonBreath_rt )? (LED7_O(1(1) ) : ) led7_ o (0); //点亮熄灭时间控制)该函数功能实现输入一定的高电平时间值(也就是一定的占空比),LED实现LED的亮度控制。

基于这个想法进入呼吸灯的实现步骤。

呼吸灯的效果,也就是在运转中,需要像呼吸一样使占空比(高水平时间)消长。 这是因为,如上所述,通过改变占空比,即改变LED两端的电压有效值,驱动LED的有效电流值发生变化,LED得到暗明亮的渐变效果。 即,实现动态占空比

实现代码如下:

void breath _ light (unsignedcharbreath _ speed,unsigned char breath_Ta ) /呼吸速度(us ) |呼吸时间) us ) { # define breath _ TTA //呼吸计时器staticunsignedcharbreath _ speed _ CNT; //呼吸速度蓄能器static unsigned char breath_Ton; //高电平时间if (! breath_dir(if ) breath_tabreath_rt ) /计时器为一个周期) {breath_rt=0; //计时器归零if (0==breath _ speed _ CNT % breath _ speed ) {breath_speed_cnt=0; breath_Ton; //占空比变大}(else//) breath_rt; //继续计时}if(breath_ton=breath_ta ) {breath_dir=1; breath_Ton=breath_Ta; (}(breath_Tonbreath_rt )? (LED7_O(1(1) ) : ) led7_ o (0); //Ton时间段(else(if ) breath_tabreath_rt ) /计时器为一个周期) {breath_rt=0; //计时器归零if (0==breath _ speed _ CNT % breath _ speed ) {breath_speed_cnt=0; Breath_ton----; //占空比减少}}else //{breath_rt; //继续计时}if(0=breath_ton ) {breath_dir=0; breath_Ton=0; (}(breath_Tonbreath_rt )? (LED7_O(1(1) ) : ) led7_ o (0); }上述函数由计时器执行,定时时基为

计时器中断如下。

voidzxdxn1_ISR(Interrupt3)/Breath_light ) 5,100; //呼吸机light_luxassign(20; //暗弱控制}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。