FPGA实现按键检测消抖程序

本文介绍了一种FPGA实现的按键消抖程序,通过计数器检测电平变化并计时,当电平稳定在低电平20ms后确认按键按下,或者在检测到电平上升沿和下降沿时输出按键状态。这种方法有效避免了按键抖动带来的误判问题。
摘要由CSDN通过智能技术生成

这个是黑金的板子提供的原版按键消抖程序
在这里插入图片描述

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2020/02/29 10:59:33
// Design Name: 
// Module Name: key_detected
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module key_detected#
( parameter FREQ = 50,         //model clock :Mhz
  parameter MAX_TIME = 20     //ms
)(
    input       clk, 
    input       rstn, 
    input       button_in,
    output reg  button_posedge,
    output reg  button_negedge   
);
 ---------------- internal constants --------------
localparam N = 32 ;           // debounce timer bitwidth

localparam TIMER_MAX_VAL =   MAX_TIME * 1000 * FREQ;
---------------- internal variables ---------------
reg  [N-1 : 0]  q_reg;      // timing regs
reg  [N-1 : 0]  q_next;
reg DFF1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值