用一个三极管控制LED灯让其按固定频率闪烁的原理,就是用1个三极管和电阻、电容组成振荡电路,负载为LED。电路如下:
1、RC相移振荡电路
上图是典型的超前型RC相移振荡电路, 它是由一个反相放大器和一个移相反馈网络组成的。反馈网络通过它的某一特定频率的正弦电压移相180°,满足自激振荡的相位平衡条件。
2、文氏电桥正弦波振荡电路
如上图所示,信号Xi经过一个放大环节A放大后得到放大信号Xo=A*Xi。 Xo经过反馈环节F后得到反馈信号Xf=A*F*Xi。当反馈信号Xf与输入信号Xi幅值和相位都相同时,即以Xf作为输入Xi,则可以在输出端维持原有的信号Xo,也就是自激。右图为选频网络示意图。
请设计一个让1个led以固定频率闪烁的程序
#include
sbit P11=P1^1;
main()
{int i;
while(1)
{ for(i=0;i<=30000;i++);
P11=!P11;
}
}
加入正反馈 从三极管集电极通过电阻电容移相180°加入基极 即可产生自激振荡
用3级RC移相可以实现正反馈达到振荡,以实现闪烁 首先定时器中断时间比如5ms,用来定时刷新数码管,他就不闪了。
其次,你另外申明一个全局变量,flash_count,每次定时中断,就是每次5ms,flash_count++,
同时你每次中断再判断flash_count==xxx时,你的led取反,同时设flash_count=0
你可以控制xxx,从1-255 改变,就可以控制闪烁的频率不断变化。
手工打的哦。采纳我吧。
将其基极对边接个能产生PWM的芯片比如 555什么的 就能控制