矩阵键盘中为什么有键位并联二极管?

矩阵键盘上使用二极管主要是为了解决"幽灵键"(Ghosting)和"键盘冲突"(Key Jamming)问题,这两种现象在没有采取适当措施的矩阵键盘中很常见。

幽灵键现象

当用户在矩阵键盘上同时按下多个键时,由于电流的路径问题,可能会在没有被按下的键上检测到错误的按键动作,这就是所谓的"幽灵键"现象。这是因为在矩阵键盘中,所有的键都是通过行和列的线路矩阵连接的,当多个键同时按下时,电流的路径可以通过这些按下的键创建未预期的连接路径,导致未按下的键被错误识别为按下状态。

键盘冲突问题

键盘冲突是指在同时按下多个键时,由于电路设计的限制,一些按键组合可能无法被正确识别,或者阻止其他按键被识别。这主要是因为当多个键同时按下时,它们共享相同的行和列线路,这可能导致键盘无法区分哪些键实际上被按下。

二极管的作用

在每个键上加装一个二极管可以有效解决这两个问题。二极管是一种允许电流只能单向流动的元件。通过在每个键的接点上并联一个二极管,可以确保电流仅在正确的方向上流动,从而:

消除幽灵键:二极管阻止了可能产生幽灵键现象的错误电流路径,即使在多键同时按下的情况下,也只有真正被按下的键会被检测到。

避免键盘冲突:二极管确保即使在多个键同时按下时,每个键的信号也能被独立识别,避免了键盘冲突问题。

为了彻底解决幽灵键(Ghosting)和键盘冲突(Key Jamming)问题,最佳的做法是在矩阵键盘的每个按键上都并联一个二极管。通过这种方式,每个按键都能独立于其他按键,确保当多个按键同时被按下时,每个按键的状态都能被准确无误地检测到。

然而,值得注意的是,并联二极管也带来了成本和空间的考虑。每增加一个二极管,都会相应增加成本和PCB(印刷电路板)的复杂度。此外,对于非常紧凑的设备,增加的二极管可能也会对设计布局造成挑战。因此,在设计矩阵键盘时,需要综合考虑性能、成本和空间等多个因素。

软件方面:

通过反转法而不是逐行扫描法,进行键位扫描,可以在软件层面改善幽灵键问题。

相关推荐
happygrilclh2 小时前
STM32,串口单字节中断接受,每次上电后,会收到一个0x00的解决办法。
单片机·嵌入式硬件
智闲电子设计3 小时前
STM32 独立看门狗 IWDG 实战:系统跑飞,它来兜底复位
stm32·单片机·嵌入式硬件
zcmodeltech4 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
程序员与背包客_CoderZ4 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
嵌入式阿蔡6 小时前
HAL库 vs LL库 vs 寄存器:到底用哪个?
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
天空'之城7 小时前
单片机基础核心知识点汇总(三)
单片机·嵌入式硬件
嵌入式阿蔡7 小时前
CAN总线入门:从协议帧到STM32实战
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
恒锐丰科技韩生8 小时前
率能 SS8847E|2.7~15V 双通道 H 桥电机驱动 ETSSOP16 散热封装 家电 / 打印 / 舞台灯光专用
嵌入式硬件·硬件工程
离凌寒8 小时前
一、对stm32mp157配置freertos后,任务挂掉无法启动问题总结
stm32·单片机·嵌入式硬件
2601_9639067810 小时前
显示器 DDC/CI 控制工具:支持自动亮度/对比度调整等高级功能
计算机外设·软件需求