您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

按键消抖的Verilog实现

FPGA硅农 发布时间:2022-07-23 21:21:48 ,浏览量:1

按键消抖

当按键被按下时,由于机械开关的局限性,其对应的电平不会马上稳定,而是会在一段时间内发生抖动。为了正确的识别按键信息,我们必须进行按键消抖的处理。

代码实现

用两个寄存器对输入进行打拍,当这两个寄存器的值不同时(抖动),对计数器进行复位。否则,计数器每个周期加1,当计数器的值达到某个给定的值时,若寄存器的值有效,则说明检测到按键被按下。 若按键被按下后值为1,则代码如下:

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/07/22 16:43:50
// Design Name: 
// Module Name: bit_count
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module debounce(
input logic clk,
input logic rst,
input logic key_in,
output logic key_flag);

parameter CNT=1000;
logic key_d1;
logic key_d2;
logic [31:0] cnt;
//key_d2,1
always@(posedge clk,posedge rst)
if(rst)
   {key_d2,key_d1}            
关注
打赏
1658642721
查看更多评论
0.0365s