基于安路SparkRoad开发板的模十计数器的设计与实现

设计实现模十计数器并通过开发板的数码管显示计数

一.开发板数码管

管脚配置:

开发板  FPGA  芯片左上方有 4 个七段共阳动态带点数码管,段码低电平有效,位码也是低电平有效。

二.Verilog代码实现

module counter10(clk_24M,seg,dig );
	
    input clk_24M;
	output [7:0]seg;
    output [3:0]dig;
    reg [7:0]seg;
    reg [3:0]dig;
    reg [7:0]Result;
    reg [24:0]cnt;
    reg clk_1;
	initial dig=4'b1110;//位码低电平有效 选中第四位数码管
    
    always@(posedge clk_24M)//进行时钟分频 产生1Hz的时钟clk_1
    	begin
        	if(cnt==25'd12_000_000-1)
            	begin
            		cnt<=25'd0;
                	clk_1<=~clk_1;
                end
            else
            	begin
                	cnt<=cnt+1;
                	clk_1<=clk_1;
                end
        end
        
    
    always@(posedge clk_1)
    	begin
			if(Result[3:0]==4'd9)
            	begin
                    Result[3:0]<=0;
                end
            else
            	Result[3:0]<=Result[3:0]+1'b1;
         end
    
    always@(*)
    	begin
        	case(Result[3:0])
                4'd0: seg=8'b1100_0000;//0
                4'd1: seg=8'b1111_1001;//1
                4'd2: seg=8'b1010_0100;//2
                4'd3: seg=8'b1011_0000;//3
                4'd4: seg=8'b1001_1001;//4
                4'd5: seg=8'b1001_0010;//5
                4'd6: seg=8'b1000_0010;//6
                4'd7: seg=8'b1111_1000;//7
                4'd8: seg=8'b1000_0000;//8
                4'd9: seg=8'b1001_0000;//9
                default: seg=8'b1100_0000;
            endcase
        end
        
endmodule

三.运行烧录结果

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是既白呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值