ZYNQ microphase 7020 开发板学习(2.键控灯)

ZYNQ microphase 7020 开发板学习(2.键控灯)按键消抖

代码基于microphase学习改进:

module key_led(
    input wire clk,
    input wire rst_n,
    input wire [2:0] key,
    output wire [2:0] led
    );
    reg [5:0] key_dd;
    always @(posedge clk or negedge rst_n)begin
        if(~rst_n)begin
            key_dd <='d0;
        end
        else begin
            key_dd <= {key_dd[2:0],key};
        end
    end
    assign led = key_dd[5:3];
endmodule

机械按键本身在处理机械按键输入时。机械按键在被按下或松开时,通常不会立即达到稳定状态,而是会有一个短暂的抖动期。这些抖动会导致在按键的状态变化过程中产生多次高低电平的切换,从而造成误判。以上是微相提供的学习资料。
对于该示例,由于使用按键操作控制LED灯的亮灭,对于高频时钟,LED的亮灭体现对人眼而言识别并不需要消除这种抖动。想简单的实现键控灯只用将按键接入LED灯即可,所谓的按键抖动最终在LED亮灭上的体现在人眼上是分辨不出来的。因此以下代码也可满足实验需求:

module key_led(
    input wire clk,
    input wire rst_n,
    input wire [2:0] key,
    output reg [2:0] led
    );
always @(posedge clk or negedge rst_n) begin
    if
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值