首页 > 代码库 > 手动按键复位程序(包含按键消抖)
手动按键复位程序(包含按键消抖)
手动按键复位程序(包含按键消抖)
1 //这是一个按键复位程序 2 module stable_key( 3 i_clkin, 4 i_inKey, 5 o_outKey 6 ); 7 8 input i_clkin; 9 input i_inKey; 10 output o_outKey; 11 12 reg key=1; 13 reg key_get = 1; //key输出指示信号 14 reg [20:0] cntK = 0; 15 reg o_outKey_r = 1; 16 17 always@(posedge i_clkin) 18 if(key != i_inKey) //首先判断i_inKey信号是否有电平变化, 19 begin //如果有电平变化,计数器和输出信号指示信号复位 20 cntK <= 0; 21 key_get <= 0; //按键消抖 22 end 23 else if(cntK == 1999999) 24 begin 25 o_outKey_r <= key; 26 cntK <= 0; 27 key_get <= 1; 28 end 29 else if(key_get == 0) 30 begin 31 cntK <= cntK + 21‘b1; 32 end 33 34 key <= i_inKey; 35 36 37 assign o_outKey = o_outKey_r; 38 endmodule
程序解释:
手动按键复位程序(包含按键消抖)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。