财富全程

单片机一个io口如何控制两颗发光二极管led

Mike 0

单片机一个io口如何控制两颗发光二极管led

单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之一:一个单片机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口控制两颗led线路图

但是一个单片机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口不够用的尴尬局面。

如文章对您有帮助,欢迎关注作者,后续将为您推送更有价值的文章,谢谢。欢迎在下方留言

作者最新文章

05-0806:30

05-0500:14

05-0321:01

相关文章

VR手套

VR手套

动作捕捉设备

相关内容