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
arrow
arrow
    全站熱搜

    JL8051 發表在 痞客邦 留言(0) 人氣()