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

  • 待机状态亮红灯

  • 开机状态亮绿灯

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

推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

巧用1个GPIO控制2个LED显示4种状态相关推荐

  1. 终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!

    芯片之家前几天发了一篇文章,讨论1个GPIO控制2个LED显示4种状态,并没有带具体的实验现象,有点小遗憾: 绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?(点击阅读) 今天在卓老师公众 ...

  2. 使用74HC595D扩展树莓派GPIO控制8颗LED发光二极管

    芯片概述 74HC595和74HC595D 电气特性 管脚定义(左:74HC595D 右:74HC595) 管脚符号 管脚序号 管脚含义 备注 QA 15 并行数据输出 接独立的LED发光二极管 QB ...

  3. 树莓派python控制gpio_树莓派的GPIO控制

    陈拓chentuo@ms.xab.ac.cn 2018.06.09/2018.06.10 从网上下载了几张精美的图片,感谢图片的制作者! 0. 概述 本文介绍树莓派 Zero W的GPIO控制,并用L ...

  4. 用3个IO口控制6个LED灯,怎么做到的?查理复用!

    ▲ 本文要分析的电路 事情是这样开始的. 买了个电动牙刷,几十块钱那种: 收到的实物长这样: 牙刷手柄上有1个按键和6个LED灯: 拆开看看电路板: 可以看出,电路板上用的单片机,只有8个脚,却要控制 ...

  5. IO口多路查理复用:三个单片机IO口控制六个LED

    简 介: 本文介绍了单片机的IO控制 LED 中的复用技术,特别查理复用基本原理和特点进行了介绍.使用一款IS31FL3731可以构成16×9的PWM亮度可控的 LED 矩阵. 关键词: 查理复用,C ...

  6. 一个I/O口控制两个LED灯

    方案1: 优点:平时基本没有功耗: 缺点:电路复杂. 经本人在PIC18F4550测试板上测试,完全没有问题. 方案二: 本人没有测试. 优点:电路简单 缺点:平时还有功耗,二极管VD1一直导通态. ...

  7. 巧用GPIO口控制多个LED

    3个IO口控制6个LED灯 这个电路用到了单片机GPIO的三种状态: 高电平 低电平 高阻态 所谓"高阻态",是指GPIO对外部电路表现出极大的阻抗.因阻抗很大,几乎不会吸入电流, ...

  8. Linux学习~树莓派gpio控制

    WiringPi 是应用于树莓派平台的 GPIO 控制库函数,WiringPi 遵守 GUN Lv3.wiringPi 使用 C 或者 C++ 开发并且可以被其他语言包转,例如 Python.ruby ...

  9. 树莓派GPIO控制/使用的教程

    树莓派GPIO控制/使用的教程 介绍 使用说明 (一)导入库 (二)设置编码规范 (三)引脚设置 (四)电平控制 (五)读取引脚的输入状态 (六)释放GPIO资源 (七)示例代码 (八)PWM设置 一 ...

最新文章

  1. 使用计算机视觉在钢铁平面上检测焊接缺陷
  2. Ubuntu网卡地址配置、设置 DNS和主机名
  3. ros 工作流程图4
  4. Asp.net中的web.config配置
  5. 83.76%任职回报!这位「互联网研霸」基金经理的作业赶快抄!
  6. 【放置奇兵】算法 酒馆攻略
  7. php怎么实现md5加密,php如何进行md5加密
  8. idea破解版下载 + 最常用快捷键记录
  9. roundcube邮箱手机端_用户换了手机号码后,产品该如何应对?
  10. 服务器获取请求ip地址
  11. 我国计算机发展历程简述,简述计算机的发展历程??
  12. 毕业论文排版素材大学计算机基础,毕业论文排版素材大学计算机基础实验.pdf...
  13. 鼠标指针乱跑的解决方案
  14. Linux系统的优点小结
  15. WebSocket实现在线人数统计
  16. 【微信小程序开发】缓存Storage的存入与获取
  17. AWVS安装激活教程
  18. 恢复出厂设置android手机号码,手机怎么恢复出厂设置 安卓手机恢复出厂设置方法汇总...
  19. android 自动签名工具下载,安卓批量签名工具使用说明
  20. 开机自动播放视频,开机就自动播放视频,开机自动播放u盘视频

热门文章

  1. Hive谓词解析过程分析
  2. 第一个冲刺周期-第三天
  3. 用jquery写一个属于自己的音乐播放器
  4. IDEA mybatis-generator-maven-plugin 插件的使用
  5. Win10 IIS本地部署网站运行时图片和样式不正常?
  6. 将iphone中的照片同步到电脑
  7. 重载与重写(overload and override)
  8. fastJson toJSONString注意点
  9. java 深入了解DTO及如何使用DTO
  10. 物理层协议有哪四大特性