zoukankan      html  css  js  c++  java
  • 独立按键消抖FPGA模块

    View Code
    1 module keyxiaodou (
    2 input clk,//the freq or clk is 50M
    3 input rst,//use key3 for rst button
    4 input key1,key2,//use key1 to light led,use key2 to turn off led
    5 output led);
    6 //--------------------------------------------------
    7 reg [1:0] key_r;//the first time check the key
    8 always @ (posedge clk or negedge rst)
    9 if (!rst) key_r <= 2'b11;
    10 else key_r <= {key2,key1};
    11
    12 reg [1:0] key_rb;
    13 always @ (posedge clk or negedge rst)
    14 if (!rst) key_rb <= 2'b11;
    15 else key_rb <= key_r;
    16
    17 wire [1:0] key_an = key_rb & (~key_r);//if the key[?] is pressed,key_an[?] become 1'b1
    18 //--------------------------------------------------
    19 reg [19:0] cnt;//divice the freq 1/50m*2^20=20ms
    20 always @ (posedge clk or negedge rst)
    21 if (!rst) cnt <= 20'd0;
    22 else if (key_an) cnt <= 20'd0;
    23 else cnt <= cnt+1'b1;
    24 //--------------------------------------------------
    25 reg [1:0] keyn_r;//the second time check the key
    26 always @ (posedge clk or negedge rst)
    27 if (!rst) keyn_r <= 2'b11;
    28 else if(cnt ==20'hfffff) keyn_r <= {key2,key1};//relay 20ms for debounce
    29
    30 reg [1:0] keyn_rb;
    31 always @ (posedge clk or negedge rst)
    32 if (!rst) keyn_rb <= 2'b11;
    33 else keyn_rb <= keyn_r;
    34
    35 wire [1:0] key_p = keyn_rb & (~keyn_r);
    36 //--------------------------------------------------
    37 reg led_r;
    38 always @ (posedge clk or negedge rst)
    39 if (!rst) led_r <= 1'b0;
    40 else if (key_p[0]) led_r <= 1'b1;
    41 else if (key_p[1]) led_r <= 1'b0;
    42
    43 assign led=~led_r;
    44 endmodule
  • 相关阅读:
    (1)、Bash的基本功能
    (3)、shell运算符与正则表达式
    中小规模集群搭建之backup服务(rsync守护进程)
    中小规模集群搭建(拓扑)
    asp.net 后台弹出JS提示框或执行JS方法
    MYSQL外键(Foreign Key)的使用
    直接双击页面元素进行修改的HTML代码
    [原创]Centos7 从零编译配置Memcached
    在XHTML中使用Media Player播放媒体文件
    JQuery插件右键菜单
  • 原文地址:https://www.cnblogs.com/yuesheng/p/2102112.html
Copyright © 2011-2022 走看看