51单片机按键检测问题

我想让这三个发光二极管(红色的)任何一个键被按下,都能正常发光。目前供电实测电压是DC5.33V,采用R16采用200欧的。(5330-1700)/200=18.15毫安。这样就算三个灯同时亮起来,分是的电流是6毫安左右。这是我的思路和分析。这样设计,没有什么错误吧?红色发光二极管压降是1.6-1.8V吧?
2026年09月24日 13:15
有5个网友回答
网友(1):

三个二极管、一个电阻,确实是一个与门。

电阻的计算公式,正确。
二极管的导通电压、电流,选择的基本合理。

可以进行实际电路的安装、测试。

实际上,现在的二极管,发光效率,逐年的提高,已经不用 6mA,就很醒目了。
不同颜色的二极管,导通电压,也有差异,选用较小的,才利于触发中断。
得进行反复实验,才能完成设计。

在程序中,注意不要使 P3.2 输出低电平,否则,会有较大的灌电流出现。

网友(2):

你的R13-R15这三个电阻没什么作用啊。
况且你单片机的引脚根本没有控制作用。
你要么把LED灯的共阴极变成是单片机的控制脚,因为单片机的灌电流能力很强

网友(3):

1、单片机检测这三个按键是可以的,电路可以实现,只需检测P4.0、P3.7、P3.6引脚的状态,读取输入值为0则是相连接的按键闭合,为1 按键释放状态。P3.2无需检测,此端平时为高电平1,按键闭合时后为1.5V左右,单片机不一定能够正常读取,所以此引脚可以断开不用。
2、单片机按键的扫描应该具有消抖延时程序提高可靠性,通常还要检测按键释放后才确认此按键真正有效。

网友(4):

分析没错。

但R16的阻值太小了。用470比较合适。

网友(5):

按键按下后,单片机管脚并不能判断为低电平。因为单片机会把0.8v以上的电源认为是高电平。另外还想问问楼主,为啥要这样接电路?