谷动谷力

 找回密码
 立即注册
查看: 1987|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2021-2-2 14:42:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
绝妙!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灯流过的电流。

注意5V供电,可能不能关两个LED,建议用3.3V供电

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-18 09:28 , Processed in 0.402322 second(s), 37 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表