如何仅使用无源元件控制带有两个 uC 引脚的三个 LED?

电器工程 微控制器 引领
2022-01-22 23:05:06

我在微控制器上只有 2 个(3 态)引脚可用,需要控制 3 个红色 LED,uC 在 5V 上运行。另外我只能使用无源元件。

4个回答

控制四个 LED:

示意图

模拟此电路- 使用CircuitLab创建的原理图

要使特定引脚上的两个 LED 都点亮,请以几百赫兹的频率切换引脚。

请注意,此设置要求LED 的正向电压小于 Vcc/2。

另请注意,电阻器一直在消耗功率,而不仅仅是在 LED 亮起时。

该解决方案取决于 5V 不会点亮三个串联 LED 的事实。如有必要,您可以添加一个与一个或多个 LED 串联的硅二极管,以增加总正向压降。

示意图

模拟此电路- 使用CircuitLab创建的原理图

  • 如果引脚 A 和引脚 B 均为三态,则所有 LED 均熄灭。
  • 如果引脚 A 被驱动为低电平,则 D1 导通。
  • 如果引脚 A 被驱动为高电平而引脚 B 被驱动为低电平,则 D2 导通。
  • 如果引脚 B 被驱动为高电平,则 D3 导通。

要一次点亮多个 LED,您必须多路复用:一次打开一个,速度足够快,以使它们看起来一直亮着。

使用两个引脚,您实际上可以控制四个 LED。要控制两个 LED,请从 MCU 引脚放置一个电阻以限制电流并将其连接到两个 LED——一个 LED 的阴极和另一个 LED 的阳极。第一个 LED 的自由阳极端通过另一个电阻连接到 MCU 板的 VCC。第二个 LED 的自由阴极端连接到 GND(通过另一个电阻器)。现在,当 MCU 引脚设置为高电平或低电平时,LED 将交替亮起。以同样的方式连接第二个 MCU 引脚,您现在可以控制总共四个 LED。

为了使一对中的每个 LED 独立控制一个端口引脚的外观,需要一些软件工作,如下所示。

如果 LED1 的阳极连接到端口引脚,LED2 的阴极连接到端口引脚,则执行以下操作以建立两个 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 将不会工作得那么好。另一方面,具有 2.5V VF 的绿色 LED 在 VCC 为 3.3V 的系统上工作得很好。

2 个 LED 一个引脚,画得不好

所以像这样在它们关闭时没有电流流动,您可以根据需要驱动尽可能多/小的正向电压