vhdl中的消抖程序

来源:百度知道 编辑:UC知道 时间:2024/07/01 13:53:56
VHDL教学中的消抖程序的原理是什么?请说明程序是如何实现消抖的,谢谢!!!

因为机械抖动大概在10毫秒左右,所以你用大于这个周期的时钟去采样,可以跳过抖动,100hz就差不多。
你如果设计按键。就用100hz的频率去响应按键。没有问题。

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY xiaodou2 IS
PORT
(
clk : IN STD_LOGIC ;
din : IN STD_LOGIC ;
dout : OUT STD_LOGIC
);
END xiaodou2;
ARCHITECTURE arc OF xiaodou2 IS
BEGIN
process(clk,din)
variable temp:integer;
begin
if clk'event and clk='1' then
if(din='1') then
temp:=0;
end if;
if temp>100 then
dout<='1';
else
dout<='0';
end if;
temp:=temp+1;
end if;
end process;
end arc;
经过一百个周期。。确定一下是不是按键按下。。。同理确定是否弹起。。。