0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何让1个GPIO控制2个LED显示出4种状态?

GReq_mcu168 来源:电路啊 作者:电路啊 2021-05-03 10:08 次阅读

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

待机状态亮红灯

开机状态亮绿灯

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

d5f58dae-a10a-11eb-8b86-12bb97331649.png

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

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

要实现4种状态:

红灯亮,绿灯灭

红灯灭,绿灯亮

都灭

都亮

直接上电路:

d5fd81b2-a10a-11eb-8b86-12bb97331649.png

一、电路分析

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

d606b4da-a10a-11eb-8b86-12bb97331649.png

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

d62fc7bc-a10a-11eb-8b86-12bb97331649.png

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

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

d751611e-a10a-11eb-8b86-12bb97331649.png

二、注意事项

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

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

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

三、总结

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

“1个GPIO控制2个LED显示4种状态”,不知下面这位大神是否可以出个绝妙的下联。

原文标题:巧用1个GPIO控制2个LED显示4种状态

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23256

    浏览量

    660622
  • 电路
    +关注

    关注

    172

    文章

    5905

    浏览量

    172156
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52060

原文标题:巧用1个GPIO控制2个LED显示4种状态

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HTR3306 6路LED驱动器和GPIO控制

    HTR3306是一款6路多功能LED驱动器和GPIO控制器,2.5V~5.5V电源供电。10IO端口中的任何一都可以配置为
    的头像 发表于 11-20 15:57 156次阅读
    HTR3306  6路<b class='flag-5'>LED</b>驱动器和<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器

    SOC GPIO操作

    支持4中断从下面的表中需要注意到:中断使能有两个位bit0和bit1,所以GPIO的两 中断是分别
    的头像 发表于 11-01 11:06 139次阅读

    HTR3310 10路LED驱动器和GPIO控制

    HTR3310是一款10路多功能LED驱动器和GPIO控制器,2.5V~5.5V电源供电。10IO端口中的任何一都可以配置为
    的头像 发表于 10-08 09:58 274次阅读
    HTR3310 10路<b class='flag-5'>LED</b>驱动器和<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器

    HTR3316 16路LED驱动器和GPIO控制

    HTR3316是一款16路多功能LED驱动器和GPIO控制器,2.5V~5.5V电源供电。16IO端口中的任何一都可以配置为
    的头像 发表于 09-29 14:41 230次阅读
    HTR3316 16路<b class='flag-5'>LED</b>驱动器和<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器

    HTR3310 10路LED驱动器和GPIO控制

    HTR3310是一款10路多功能LED驱动器和GPIO控制器,2.5V~5.5V电源供电。10IO端口中的任何一都可以配置为
    的头像 发表于 09-24 17:56 503次阅读
    HTR3310  10路<b class='flag-5'>LED</b>驱动器和<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器

    【龙芯2K0300蜂鸟板试用】龙芯2K0300蜂鸟开发板上GPIO的驱动及使用

    设计,功能扩展等,可广泛应用于电力、交通、医疗、金融、通信、能源、信息家电和物联网等领域。 下面通过一具体的例子——LED灯的控制,来说明龙芯2K0300的
    发表于 09-05 20:35

    【龙芯2K0300蜂鸟板试用】3 gpio控制led字符驱动

    LED灯,只有一用户可以控制,其余2分别是底板和核心板上的电源指示灯,用户LED灯的原理图如
    发表于 08-25 09:14

    STM32 GPIO模式及工作原理详解

    围设备(像控制led亮灭,按键控制,软件模拟IIC等)直观又简单的控制GPIO的8模式  
    的头像 发表于 07-22 09:32 6243次阅读
    STM32 <b class='flag-5'>GPIO</b>八<b class='flag-5'>种</b>模式及工作原理详解

    4 LED显示驱动芯片VK1Q60数据手册

    VK1Q60是一带键盘扫描电路接口的 LED 驱动控制专用芯片,内部集成有数据锁存器、LED 驱动、键盘扫描等电路。SEG脚接
    发表于 06-25 09:21 0次下载

    快速搞懂GPIO控制器的六模式

    器的六常见模式,我们特地整理了这篇文章。。快速搞懂GPIO控制器的六模式我们拿STM32芯片举例,下图是GPIO
    的头像 发表于 05-18 08:04 1474次阅读
    快速搞懂<b class='flag-5'>GPIO</b><b class='flag-5'>控制</b>器的六<b class='flag-5'>种</b>模式

    充电时,如何设计船型开关断开或者闭合LED 2状态显示都一致

    充电时,如何设计船型开关断开或者闭合LED 2状态显示都一致 一:有一三节18650串联供电
    发表于 04-04 16:27

    stm32f429 fatfs分了4区,usb_hs挂载后4显示出来了,如何用代码控制显示其中的几个?

    如题 板子是stm32f429。开发环境stm32cubemx+keil,用的HAL库,裸机no_os fatfs分了4区,读写正常。 usb_hs挂载后4
    发表于 03-08 07:24

    MCU复位时GPIO是什么状态

    大家一定遇到过上电或者复位时外部的MOS电路或者芯片使能信号意外开启,至此有经验的工程师就会经常关心一问题,MCU复位时GPIO是什么状态?什么电路需要外部加上下拉?
    的头像 发表于 01-19 10:36 1655次阅读
    MCU复位时<b class='flag-5'>GPIO</b>是什么<b class='flag-5'>状态</b>?

    【飞腾派4G版免费试用】+GPIO口使用

    GPIO1_12,具体的引脚位置如图3所示。 图2使用引脚资源 图3引脚位置 在引脚GPIO1_12与LED模块相连的情况下,可按图4
    发表于 01-08 14:20

    【核桃派1B 开发板试用体验】+GPIO测试篇

    out”。 此外,它设置输出状态的语句也不同于“echo 1 > gpio33/value”,而是“gpio write 33 1
    发表于 01-02 19:57