FPGA Verilog 4 bit LED 按鍵計數器 ( 含按鍵消抖 )

前言:

按下一次按鈕,計數一次。顯示方式為 4 顆 LED 以 2 進制方式表示。此程式碼包含按鍵消斗 (消除彈跳)

程式碼:


module led_test
(
   input                clk,           // 系統 50 Mhz 時鐘
    input                key,           // 按鈕 1
   output [3:0]         led            // 板子上有 4 顆 LED,宣告為輸出
);  

     reg [3:0] count;

     reg [31:0] timer;

    always@(posedge clk)
    begin    

        if(key == 1'b0) // 按下,就累加一
            timer <= timer + 24'd1;
        else // 放開
            timer <= 31'd0;


        // 當累加到 0.01 秒,LED 計數器才加一
        if(timer == 31'd500_000) //  50_000_000 = 1秒,500_000 = 0.01 秒
            count <= count + 4'b0001;

    end

     assign led = ~ count; // 將 count 綁定到 LED 輸出,並且是相反 (NOT) 輸出

endmodule
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值