闪烁频率为2HZ,则闪烁周期为T=1/f=0.5s,即500ms,也就说要求LED灯500ms闪烁一次,即平均1s闪烁两次。可实现的方式有很多,下面列举几种常用的例子供大家参考。1 使用CPU实现 若有处理器(单片机、DSP、ARM、CPLD、FPGA等)的情况下,实现起来很简单,使用处理器其中的一个I/O口作为输出驱动三极管,控制LED亮灭交替变化。通过简单的编程使I/O口250ms输出高电平,250ms输出低电平,即可实现周期为500ms,频率为2HZ的闪烁。 I/O口的输出波形如下:实际就是使I/O口输出频率为2HZ的方波。 下图使用NPN三极管驱动LED灯亮灭,当高电平时,LED亮;当低电平时,LED灭。三极管的驱动电路原理如下:
2 使用555定时器实现 555定时器的功能很强大,可以输出任意占空比、频率约300KHZ以内的PWM波,如下图555定时器方波发生器原理,其输出波形的周期计算公式为:TH=ln2*R1*C1,TL=ln2*R2*C1,其中ln2≈0.7,如下图取值R1=R2=768KΩ,C1=470μF,计算得TH≈250ms,TL≈250ms,所以该方波周期为T=TH+TL=500ms,频率为1/T=2HZ。 555定时器输出端的驱动能力约200mA左右,因此只接一个LED灯时可以不用三极管等器件作为驱动,可直接555定时器的输出脚(4脚)。 上图为占空比为50%的方波发生器原理,使用二极管D1和D2改变电容C1充放电的顺序,从而实现电容C1充电时只经过R1,放电时经过R2。若去掉这两个二极管,其充放电的周期公式为:TH=ln2*(R1+R2)*C1,TL=ln2*R2*C1。3 多谐振荡器 如下图是非常经典的LED交替闪烁电路,该电路是使用两个NPN三极管及电容充放电的原理实现LED1和LED2交替闪烁,若只需1个或1组LED时,可将LED2使用电阻代替即可。此电路属于多谐振荡电路,两个三极管一个管子导通时,另一个截止,通过容阻耦合使两个管子交替导通与截止,从而产生自激振荡。 其原理是: 上电瞬间,由于电路两边的参数会有微小差异,两个管子导通时间肯定有先后,促使其中一个管子导通而另一个截止,形成一个暂稳态。假设Q1导通,Q2截止,则此时Q1的集电极(即电容C1左端)的电压为0,Q1基极的电压约为0.7V,此时,电容C1通过电阻R2进行充电,且电容C2也通过电阻R4进行充电,(假设VCC电压为5V)则电容C2充满后电容两端电压为4.3V(左端0.7V,右端5V),因为R4的阻值远远比R2小,因此电容C2的充电速度要比C1快得多。当C1右端的电压达0.7V时,Q2导通。此时,电容C2的右端电压直接被拉地(即电压为0),但是电容两端的电压不能突变,则该电容左端电压瞬间变为-4.3V(原电容C2两端的电压为4.3V),Q1立刻截止,形成另一个暂稳态。此时电容C2开始通过R3放电,放完后又开始反向充电,当电容C2左端电压达0.7V时,Q1又导通。同理Q1导通使电容C1左端电压变为0V,反馈到电容右端电压变为-4.3V,Q2截止,又进入下一个暂稳态,如此反复。 其多谐振荡器的震荡周期为T=0.7(R2C1+R3C2),由于R2和R3、C1和C2的值相同,因此T=1.4*R2*C1,通过改变电容C1、C2和电阻R2、R3的值可改变闪烁频率。对于新手来说这个电路比较难理解,大家可以慢慢体会。4 总结 上文提供了三种比较常用的LED闪烁方案。 第一种使用处理器实现比较简单,但是前提原系统当中已有处理器可直接使用,否则只是为了LED闪烁单独设计一个处理器划不来,成本太高。 第二种方案使用555定时器制作,也是很常用的方法,一个555芯片加一些电容电阻即可实现,原理简单,成本也较低。 第三种是非常经典的多谐振荡电路,只要两个三极管加几个电容电阻即可实现,成本低。