单片机一个io口如何控制两颗发光二极管的电压(单片机一个引脚控制两个灯)
导语:单片机一个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口这三种状态来控制是不够的,还需加辅助元器件。
两个单片机IO口控制两颗LED线路图
我们来看上面这个线路图是否可以达到控制效果。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口不够用的尴尬局面。
如文章对您有帮助,欢迎关注作者,后续将为您推送更有价值的文章,谢谢。欢迎在下方留言。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小悦创作整理编辑!