推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

按键计数将结果通过8段数码管显示FPGA设计Verilog逻辑源码Quartus11.0工程文件 F

更新时间:2021-08-23 10:24:13 大小:3M 上传用户:xzxbybd查看TA发布的资源 标签:数码管显示fpgaverilogquartus11 下载积分:9分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

按键计数将结果通过8段数码管显示FPGA设计Verilog逻辑源码Quartus11.0工程文件,FPGA型号为CYCLONE4E系列中的EP4CE6E22C8,可以做为你的学习设计参考。 

module key_counter(clk,key,reset,seg_duan,seg_wei);

input clk,key,reset;

output [7:0] seg_duan;

output [2:0] seg_wei;


wire      clk,key,reset;

reg [7:0] seg_duan;//数码管段选

reg [2:0] seg_wei;//数码管位选


reg       key_out;

parameter s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;

reg [1:0] state;

reg [3:0] key_counter_ge;//按键计数个位

reg [3:0] key_counter_shi;//按键计数十位

reg [3:0] key_counter_bai;//按键计数百位

reg [9:0] div_count;//数码管扫描时钟分频计数

reg       clk_scan;//位选时钟

reg [1:0]    wei_select;//位选信号

/****************************按键消抖**********************************/

always @(posedge clk)

begin

    case (state)

    s0:

    begin 

        key_out<=1'b1;

        if(key==1'b0)

            state<=s1;

        else 

            state<=s0;

    end

    s1:

    begin 

        if(key==1'b0)

            state<=s2;

        else 

            state<=s0;

        end 

    s2:

    begin 

        if(key==1'b0)

            state<=s3;

        else 

            state<=s0;    

    end 

    s3:

    begin 

        if(key==1'b0)

        begin

            key_out<=1'b0;

            state<=s3;

        end 

        else 

        begin

            key_out<=1'b1;

            state<=s0;

        end

    end

    default:

        state<=s0;

    endcase

end

/****************************按键计数**********************************/

always @(negedge key_out or negedge reset)

    begin

    if(!reset)

    begin

        key_counter_ge <=4'd0;

        key_counter_shi<=4'd0;

        key_counter_bai<=4'd0;

    end 

    else

    begin

        if(!key_out)//判断按键是否按下

        begin

            key_counter_ge<=key_counter_ge+1'b1;//按键计数个位加一

            if(key_counter_ge==4'd9)

                begin 

                    key_counter_ge<=4'd0;//个位清零

                    key_counter_shi<=key_counter_shi+1'b1;//按键计数十位加一

                    if(key_counter_shi==4'd9)

                    begin

                        key_counter_shi<=4'd0;//十位清零

image.png

部分文件列表

文件名大小
lab9_key_counter/
lab9_key_counter/db/
lab9_key_counter/db/key_counter.(0).cnf.cdb8KB
lab9_key_counter/db/key_counter.(0).cnf.hdb2KB
lab9_key_counter/db/key_counter.amm.cdb
lab9_key_counter/db/key_counter.asm.qmsg2KB
lab9_key_counter/db/key_counter.asm.rdb1KB
lab9_key_counter/db/key_counter.asm_labs.ddb8KB
lab9_key_counter/db/key_counter.cbx.xml
lab9_key_counter/db/key_counter.cmp.bpm1KB
lab9_key_counter/db/key_counter.cmp.cdb
...

全部评论(0)

暂无评论