按键防抖的问题,请高手指教
找到一段按键防抖的程序代码,没看明白是啥意思,请问这个程序如何用电路实现?如果有更好的消抖方法还请不吝赐教,最好附上电路图。多谢了!!附程序代码:
module KEYSCAN(sw_n,rst_n,CLK,led_ctrl);
input CLK; //??????1MHz
input rst_n;//????????
input sw_n; //??????????
outputled_ctrl;
reg cnt; //?????
reg low_sw=1;
reg low_sw_r=1; //???????????low_sw?????low_sw_r?
wire led_ctrl = low_sw_r & ( ~low_sw);
always @ (posedge CLK)
begin
if(!rst_n)
begin
cnt <=0;
low_sw <= 1'b1;
low_sw_r <= 1'b1;
end
else if(cnt==`DELAY)
begin
cnt<=0;
low_sw <= sw_n; //?20ms?????????low_sw?
low_sw_r <= low_sw;
end
else
begin
cnt<=cnt+1'b1;
low_sw_r <= low_sw;
end
end
endmodule
页:
[1]