绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?

作者:LR梁锐,整理:晓宇

微信公众号:芯片之家(ID:chiphome-dy)

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

  • 待机状态亮红灯

  • 开机状态亮绿灯

实现起来很简单,微控制器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种状态,不知下面这位大神是否可以出个绝妙的下联。

关于电路的学习,希望大家,enjoy!喜欢请点赞转发支持我们!

 往期好文阅读 

芯片之家精选文章合集 (一):收藏起来慢慢看

芯片之家精选文章合集 (二):收藏起来慢慢看

点击阅读????

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值