巧用1个GPIO控制2个LED显示4种状态

面包板社区 2021-09-18 20:04


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

  • 待机状态亮

  • 开机状态亮绿

实现起来很简单,微控制器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!




点击图片了解活动详情



更多精彩干货,点击下方关注查看



关注『面包板社区』,后台回复"关键词"领取300 G学习资料包如:电源、电机、嵌入式、信号系统、模电、华为、电子学、电路、c语言...)



#推荐阅读#

  • USB 接口电路设计常见问题

  • 画好原理图的技巧

  • 完美通俗解读小波变换,终于懂了小波是什么

  • 电流检测电路

  • Altium Design PCB拼板完整教程

  • 怎么办?单片机固件又被人破解了~~

  • 示波器接地良好,反而容易炸机?

  • 数学之美:谈Smith圆图

  • 硬件知识“三重奏”


点击阅读原文,下载《GPIO口工作原理的超详细解释(附电路图)》

面包板社区 面包板社区——中国第一电子人社交平台 面包板社区是Aspencore旗下媒体,整合了电子工程专辑、电子技术设计、国际电子商情丰富资源。社区包括论坛、博客、问答,拥有超过250万注册用户,加入面包板社区,从菜鸟变大神,打造您的电子人脉社交圈!
评论 (1)
寻梦天涯 2021-09-19 11:10
思路很巧啊,前三种我都想到了,用PWM实现“都亮”是我没想到的
热门推荐
X
广告
我要评论
1
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦