//-------------------------------启动延时--------------------------------------------
reg[19:0] cnt_key; //计数寄存器
always @ (posedge clk or negedge rst_n) begin
if (!rst_n) cnt_key <= 20'd0; //复位
else if(!key_an) cnt_key <=20'd0;
else cnt_key <= cnt_key + 1'b1;
end
是不是应该在key_an前面加'!'?
恩,正在学习,非常好,谢谢!
这是定时检测消抖法,一般有三种常用的方法:电平检测消抖法;定时检测消抖法;脉宽检测消抖法;后两种的时序性比较强,但比第一种好用资源。
额,,还是觉得不大明白,,好像不管是不是抖动,每一个key1的 下降沿都会造成一个时钟的高电平
回复 楼主 chenzhufly 的帖子
上面的图有问题,按键key1拉低时刻不要放在时钟上升沿,拉低应提前一些。
按键消抖 不错 谢谢分享~
新开网店,希望大家多多捧场。http://shop103227716.taobao.com