随性而至 发表于 2011-6-19 00:32:16

按键防抖的问题,请高手指教

找到一段按键防抖的程序代码,没看明白是啥意思,请问这个程序如何用电路实现?如果有更好的消抖方法还请不吝赐教,最好附上电路图。多谢了!!
附程序代码:
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]
查看完整版本: 按键防抖的问题,请高手指教