FPGA中用VHDL语句编写带有延时消抖的键盘扫描程序
2个回答
展开全部
我用过两种方法消抖,都还不错,给你参考:
一、移位消抖:process(clk,key_in)
variable filter:std_logic_vector(2 downto 0);
begin
if clk'event and clk = '0' then
filter(2 downto 1) := filter(1 downto 0);
filter(0) := key_in;
if filter = "000" then key_out <='0';
else key_out <= '1';
end if;
end if;
end process;
二、延时消抖:把按键信号跟一个200HZ左右的时钟信号通过一个二输入与门输出
不懂的可以跟我交流
一、移位消抖:process(clk,key_in)
variable filter:std_logic_vector(2 downto 0);
begin
if clk'event and clk = '0' then
filter(2 downto 1) := filter(1 downto 0);
filter(0) := key_in;
if filter = "000" then key_out <='0';
else key_out <= '1';
end if;
end if;
end process;
二、延时消抖:把按键信号跟一个200HZ左右的时钟信号通过一个二输入与门输出
不懂的可以跟我交流
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
留个邮箱呗。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询