0

正如标题所暗示的那样,由于我不知道它的更正式名称,我的问题是当我按下 4X4 薄膜键盘中的按钮时,当它被按下时,它会为系统添加太多输入。这似乎是一个愚蠢的问题,但我不希望任何硬件组件摆脱这个问题。我的意思是,如果我有机会只使用 VHDL 编码来解决它,我会非常高兴。为了澄清我自己,我不想要任何类型的代码来完成这项工作。我要问的是我只想要一个方法名称开头。(比如去抖按钮)顺便说一下,我不想弄乱时钟,因为我已经划分了时钟以确定在键盘上按下了哪个按钮。但如果这是唯一的解决方案,那么我可以接受。

我想要的只是当用户不断按下键盘上的 4 等按钮时,它应该被视为一个输入,但如果用户再次按下它不是连续按下,而是一次按下,那么它应该添加另一个 4系统。最后,我知道这个问题非常微妙,因为我没有提供任何代码。正如你很容易注意到的那样,我对所有这些东西都很陌生。所以,很抱歉给您带来不便。任何帮助将不胜感激,在此先感谢!

4

1 回答 1

1

在此处输入图像描述您所经历的事情是由于所谓的键弹跳,这基本上是在按下和释放键时信号电平的非常快速的变化。由于这些更改都被记录下来,因此会在您的案例中添加输入。

您将需要包含一个关键的去抖动方法,例如此链接中解释的方法。可以通过增加采样间隔来消除抖动,但更优雅的方法是拥有一个状态机,一旦注册,它就可以避免重新注册输入。这将达到预期的效果,即按住键并且仍然只注册一个输入。

于 2013-12-13T19:06:07.100 回答