查看原文
其他

绝妙!1个GPIO控制2个LED显示4种状态

The following article is from 电路啊 Author LR梁锐

很多电子产品有状态指示灯,比如电视机:
  • 待机状态亮红灯

  • 开机状态亮绿灯

实现起来很简单,微控制器MCU的两个GPIO分别控制就行:

不过资源总是紧张的,有时候会碰到GPIO不够用的情况。
如果只用1个GPIO,可不可以实现控制两个LED灯呢?
要实现4种状态:
  • 红灯亮,绿灯

  • 红灯灭,绿灯

  • 都灭

  • 都亮

直接上电路:


电路分析

1、红灯亮,绿灯灭时,GPIO1输出5V高电平:

2、红灯灭,绿灯亮时,GPIO1输出0V低电平:

3、红灯和绿灯都灭时,GPIO1设为浮空高阻态。此时由于两个LED灯总的导通压降要求大于5V,所以两个LED灯都不导通。

4、红灯和绿灯都亮时,GPIO1交替输出高低电平。只要高低电平切换的频率够高,由于视觉暂留效应,人眼看到的就是两个灯都常亮。

注意事项

使用这个电路时,要注意MCU的GPIO的电流驱动能力。
GPIO能承受的电流要大于LED灯流过的电流。
以下截图出自STM32芯片的数据手册,它的GPIO可以驱动或吸入8mA的电流。

总结

1个GPIO控制2个LED显示4种状态,电路的实现本身很妙。
1个GPIO控制2个LED显示4种状态,不知下面这位大神是否可以出个绝妙的下联。

来源:电路啊
本文转载自 电路啊 ,电子工程专辑对文中观点保持中立,仅供学习、交流之目的。

END往期热文回顾通信人“失业”生存指南

50HZ 直消大法

细数二极管常用的8个用途

华为3D堆叠芯片,治标?治本?

4D汽车雷达的“鲶鱼效应”


评测中心



长按图片,扫码免费领取

点分享点收藏点点赞点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存