广告

如何用1个GPIO控制2个LED显示4种状态?绝妙的电路设计!

2021-07-05 16:21:40 LR梁锐 阅读:
如何用1个GPIO控制2个LED显示4种状态?绝妙的电路设计!
当你的mcu只有8个脚,电源占了2个脚,实在不够用了,你怎么办?

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

  • 待机状态亮红灯
  • 开机状态亮绿灯

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

gVEednc

不过资源总是紧张的,有时候会碰到GPIO不够用的情况。gVEednc

如果只用1个GPIO,可不可以实现控制两个LED灯呢?gVEednc

要实现4种状态:gVEednc

  • 红灯亮,绿灯灭
  • 红灯灭,绿灯亮
  • 都灭
  • 都亮

直接上电路:gVEednc

gVEednc

电路分析

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

gVEednc

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

gVEednc

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

gVEednc

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

gVEednc

注意事项

使用这个电路时,要注意MCU的GPIO的电流驱动能力。gVEednc

GPIO能承受的电流要大于LED灯流过的电流。gVEednc

以下截图出自STM32芯片的数据手册,它的GPIO可以驱动或吸入8mA的电流。gVEednc

gVEednc

总结

1个GPIO控制2个LED显示4种状态,电路的实现本身很妙。gVEednc

(本文授权自微信公众号:芯片之家chiphome-dy;作者:LR梁锐)gVEednc

责编:DemigVEednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了