单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之一:一个单片机IO口如何控制两颗LED?
将两颗LED命名为D1、D2,两颗LED就会有如下4种组合:D1和D2都熄灭-D1亮D2灭-D1灭D2亮-D1和D2都亮。首先我们来看一下两个IO口控制两颗LED的情况,电路图如下:LED1和LED2直接接单片机两个IO口,可以看出,LED1输出高电平和低电平分别控制着D1的亮和熄灭,同理LED2输出高电平和低电平也控制着D2的亮和熄灭。所以用两个IO口来控制是很容易实现的。


但是一个单片机IO只有高、低、高阻三种状态,显然靠IO口这三种状态来控制是不够的,还需加辅助元器件。

我们来看上面这个线路图是否可以达到控制效果。LED3接单片机IO口。当LED3输出高电平,Q1导通,则D4亮,D3两端没有压差,D3熄灭;当LED3输出低电平,Q1截至,则D4熄灭,此时D3通过IO口到地形成回路,D3亮;当LED3处于高阻状态,此时D3没有形成回路,Q1截至,则D3和D4都熄灭,现在我们已经实现三种状态了,那么D3和D4全亮的状态是否可以实现呢?答案时候可以实现,当LED3输出PWM时,D3和D4会交替亮灭,如果这个变化过程够快,那么人眼将无法捕捉这个变化(超过60帧人眼将识别不到),这样看起来的效果就是D3和D4全亮,这类似于段位数码管的驱动。所以这个电路时可以实现一个IO控制两颗LED。
但这个电路也有一些缺点:增加了Q1,从而增加了成本;需要输出PWM,控制方式相对复杂。所以再设计方案的时候,前期要充分了解需求,合理规划单片机资源,这样才能避免后期出现单片机IO口不够用的尴尬局面。
如文章对你有帮助,可关注作者的微信公众号“单片机技术交流站”,后续作者将为您推送更多文章,谢谢!
小伙伴们如有不明白的地方,欢迎在下方留言。

单片机一个IO口如何控制两个发光二极管LED相关推荐

  1. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。

    8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8. 程序: #include<reg51.h> #include<absacc.h> #def ...

  2. 74HC245_键盘与8段数码管共有一个IO口_控制步进电机【Protues】

    完成功能: 数码管显示 '键盘输入角度-实际运动角度-运动状态-速度等级'初始显示 "Ent Act P 3" 键盘控制 步进电机 左转 右转 暂停 加减速 键盘输入0~9 ENT ...

  3. 如何使用一个单片机的IO口控制两个LED?

    简 介: 本文介绍了一种使用单个IO口独立控制两个LED点亮的方案.并对于不同颜色的LED和不同工作电压下的MCU进行了讨论.给出了在不同的颜色组合.工作电压的情况下不同的驱动方案. 关键词: IO, ...

  4. 按键防抖_单片机用一个IO口采集多个按键信号

    一般按键信号都是高低电平,对于每一个按键信号单片机都需要一个IO口进行采集,这种按键采集方式比较简单,但是占用的单片机IO口比较多. 如果按键非常多,例如键盘,可以采用行列阵列方式进行信号采集.这种方 ...

  5. 单片机一个ADC口实现多按键检测功能

    按键电路是单片机应用中最广泛最简单的一个电路了,实际项目中经常会用到按键,但是一个按键往往需要占用一个IO口,特别是单片机资源比较紧张的情况下,IO就显得更加珍贵了.如果要用到按键,同时又不想浪费IO ...

  6. 单片机内部IO口保护电路及IO口电气特性以及为什么不同电压IO之间为什么串联一个电阻?

    上图,这是华大的一个32位单片机IO口示意图,我们直接看框框里面的二级管,看看他们究竟是怎么保护的 假设我们供电VDD = 3.3V 那么当我输入5V时候,是什么状态呢:当输入5V时,若果二极管压降是 ...

  7. 单片机io口的控制实验c语言,单片机io口控制实验报告

    <单片机io口控制实验报告>由会员分享,可在线阅读,更多相关<单片机io口控制实验报告(5页珍藏版)>请在人人文库网上搜索. 1.单片机io口控制实验报告 精品文档,仅供参考单 ...

  8. 一个IO口控制多个按键方法

    使用注意:   ADC测到的电压值只是大约的范围,例如假如上面K1算得1.0V,那么实际可能是在0.9V-1.1V之间波动:   电路中的电阻应合理计算,使各按键对应的电压值均匀分布在 0-DVCC之 ...

  9. hc05与单片机连接图_单片机科普:单片机的IO口不够用了怎么办?如何扩展单片机的IO口...

    单片机是一种可编程器件,在各种消费类电子.工业电子.汽车电子等行业应用广泛,目前开发产品的构架就是以单片机为核心,根据不同的功能搭建不同的外设电路.同样的功能,每个人.每个团队所做的技术方案都不会相同 ...

最新文章

  1. Leetcode上的题目
  2. 荣耀9igoogle模式_iGoogle个性化主页的6种替代方法
  3. css知识笔记(一)——基础知识、选择器、元素分类
  4. 我们是怎样发出声音的?
  5. java 浏览器 安全_安全策略-IE浏览器防黑十大秘籍
  6. 聚类算法 距离矩阵_谱聚类
  7. 关情纸尾-----Quartz2D-绘制富文本,绘制图片.
  8. Python天天美味(17) - open读写文件
  9. 剑指offer(C++)-JZ28:对称的二叉树(数据结构-树)
  10. html5 mp4转换ogv格式,怎么将MP4转换为OGV?这么做超简单!
  11. paip.声音按键音延迟的解决
  12. MODIS R包下载数据
  13. android 时间大小排序,android collection.sort()根据时间排序list
  14. BTC隔离见证(3开头)地址离线签名
  15. 康定游记-宝宝征服4300米海拔折多山
  16. 好看的菜单导航色彩搭配
  17. Mybatis-Plus实现乐观锁配置
  18. 《一千年以后》最后一百元
  19. springboot配置进行https请求访问demo
  20. java数据回填_快逸数据回填的实现方法

热门文章

  1. TopBase_Knowledge_Graph
  2. VideoScribe--超好用的手绘动画制作软件
  3. android 日语输入法,Android日语输入法Simeji使用示例
  4. 天刀霸王枪服务器怎么维护了,1月31日服务器例行维护公告(已完成)
  5. 程序员如何搭建自己的知识体系?
  6. Hinton NIPS2017 手写识别实现 TensorFlow \ Pytorch \ Keras
  7. 在hbase shell中执行list抛出异常:ERROR: No valid credentials provided
  8. eclipse 的RSE插件不错
  9. 超市会员管理系统php,最新超市商店会员刷卡消费综合管理系统C#源码分享,功能强大可二次开发或毕业设计等...
  10. 乐乐的计算题目+题解