生活随笔
收集整理的這篇文章主要介紹了
按键消抖实验
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
按鍵消抖實驗
`timescale 1ns / 1ps
module key_filter
#(parameter CNT_MAX = 20'd999_999 //計數(shù)器計數(shù)最大值
)
(input wire sys_clk,//系統(tǒng)時鐘50MHZ input wire sys_rst_n,//全局復位input wire key_in,//按鍵輸入信號 output reg key_flag //key_flag為1時表示消抖后檢測到按鍵被按下//key_flag為0時表示沒有檢測到按鍵被按下
);reg [19:0] cnt_20ms;//計數(shù)器 //cnt_20ms:如果時鐘的上升沿檢測到外部按鍵輸入的值為低電平時,計數(shù)器開始計數(shù)
always@(posedge sys_clk or negedge sys_rst_n)
beginif(sys_rst_n == 1'b0)cnt_20ms <= 20'd0;else if(key_in == 1'b1)cnt_20ms <= 20'd0;else if(cnt_20ms == CNT_MAX && key_in == 1'b0)cnt_20ms <= cnt_20ms;elsecnt_20ms <= cnt_20ms + 1'b1;
end//key_flag:當計數(shù)滿20ms后產(chǎn)生按鍵有效標志位
//且key_flag在999_999時拉高,維持一個時鐘的高電平
always@(posedge sys_clk or negedge sys_rst_n)
beginif(sys_rst_n == 1'b0)
總結(jié)
以上是生活随笔為你收集整理的按键消抖实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。