顾名思义,由于我不知道它的正式名称,我的问题是,当我在4X4膜键盘上按下一个按钮时,当它被按下时,它会给系统增加太多的输入。这似乎是一个愚蠢的问题,但我不希望任何硬件组件解决这个问题。我的意思是,如果我有机会解决它只使用VHDL编码,我将非常高兴。为了澄清我自己,我不想要任何类型的代码来完成这项工作。我想问的是,首先我只想要一个方法名。(就像取消按钮一样),顺便说一句,我不想弄乱时钟,因为我已经划分了时钟,以确定哪个按钮被按在键盘上。但如果这是唯一的解决办法那我也没意见。
我想要的只是当用户一直按下按钮,比如键盘上的4,它应该被看作是一个输入,但是如果用户一次不连续地按它,而是一次按一个,那么它应该是向系统添加另一个4。最后,我知道这个问题非常微妙,因为我没有提供任何代码。正如你很容易注意到的那样,我对所有这些东西都是新手。所以很抱歉给你带来不便。任何帮助都将不胜感激,谢谢提前!
发布于 2013-12-13 19:06:07

你正在经历的事情是由于所谓的弹跳键,这基本上是非常迅速的变化,在信号水平时,一个键被按下和释放。由于这些更改都被记录下来,所以输入将被添加到您的情况中。
您将需要包括一个关键退出方法,如在这个链接中解释的方法。可以通过增加采样间隔来消除错误,但是更优雅的方法是拥有一个状态机来避免输入的重新注册,一旦它被注册。这将达到所需的效果,键被按下,但仍然只有一个输入被注册。
https://stackoverflow.com/questions/20574040
复制相似问题