很多电子产品有状态指示灯,比如电视机:
待机状态亮红灯
开机状态亮绿灯
不过资源总是紧张的,有时候会碰到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种状态,电路的实现本身很妙。
责任编辑:haq
-
led
+关注
关注
240文章
23091浏览量
657429 -
mcu
+关注
关注
146文章
16939浏览量
350033 -
控制器
+关注
关注
112文章
16138浏览量
177172
原文标题:绝妙!1个GPIO控制2个LED显示4种状态
文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论