我在微控制器上只有2个(3状态)引脚可用,并且需要控制3个红色LED,uC以5V运行。另外,我只能使用无源组件。
我在微控制器上只有2个(3状态)引脚可用,并且需要控制3个红色LED,uC以5V运行。另外,我只能使用无源组件。
Answers:
要控制四个LED:
模拟此电路 –使用CircuitLab创建的原理图
要使特定引脚上的两个LED均点亮,请以几百Hz的频率切换该引脚。
请注意,此设置要求 LED的正向电压小于Vcc / 2。
还要注意,电阻器始终在消耗功率,而不仅仅是在LED点亮时。
该解决方案取决于5V不会点亮三个串联的LED的事实。如有必要,您可以添加一个与一个或多个LED串联的硅二极管,以增加总的正向压降。
模拟此电路 –使用CircuitLab创建的原理图
要一次点亮一个以上的LED,您必须进行多重处理:一次快地打开它们,使其看上去持续点亮。
使用两个引脚,您实际上可以控制四个LED。要控制两个LED,请在MCU引脚上放置一个电阻以限制电流,并将其与两个LED相连-一个LED的阴极和另一个LED的阳极。第一个LED的自由阳极端通过另一个电阻器连接到MCU板的VCC。第二个LED的自由阴极端(通过另一个电阻器)连接到GND。现在,当MCU引脚设置为高电平或低电平时,LED将交替点亮。以同样的方式连接第二个MCU引脚,现在您可以控制总共四个LED。
为了使一对端口中的每个LED都具有独立控制的外观,需要以下一些软件工作。
如果LED1是阳极连接到端口引脚的LED,LED2是阴极连接到端口引脚的LED,请执行以下操作为两个LED建立四种状态。
LED2 LED1 Action
OFF OFF Set the port pin to tristate level.
OFF ON Set the port pin low.
ON OFF Set the port pin high.
ON ON Toggle the port pin high and low at a frequency over about 120 Hz.
对另一个端口引脚重复相同的操作,您将看起来好像两个端口引脚上有四个独立的LED。
该方案对正向压降超过VCC电平一半的LED效果很好。例如,如果VCC为5V,则具有2.1 VF的红色LED将无法正常工作。另一方面,VF为2.5V的绿色LED可以在VCC为3.3V的系统上正常工作。
这样一来,关断时就不会有电流流过,您可以根据需要驱动尽可能多的正向电压
EDN 在此处发布了一些相关的“设计思想”
这是其中之一:-
对于D1的典型值,黄色LED(2.2V导通),D2红色LED(1.9V导通),截止电压分别为1.2V和1.1V,导通电流分别为8mA,Vcc = 5.0V,最佳值是
R1 = 300欧姆R2 = 330欧姆R3 = 1.2K欧姆
静态电流为2.7mA。要使两个LED均亮起,请以100Hz或更高的频率切换输出引脚。
我在原始文章中使用了Excel求解器,但EDN可能仍提供该代码。
电阻器R3提供的额外自由度可以避免Dave Tweed和Michael Karas电路的局限性,尽管对于2个红色LED在5V电源下工作的特定情况,Dave Tweed的电路可能是可接受的,但请检查Vf小心一点,这对于某些红色的LED不太合适,如果端口引脚没有完全向下或向上拉,则对于其他红色LED可能不重要。