FPGA数码管计数功能

module decode
(
input clk,
input rst,
output [8:0]seg_led1,  //显示位数
output [8:0]seg_led2
);
reg [8:0]seg[9:0];  //9位位宽的寄存器数组
parameter div=6000000;
reg [23:0]cnt;
reg clk_div;
reg [3:0]ge;
reg [3:0]shi;
initial 
begin
     seg[0] = 9'h3f;                                          
     seg[1] = 9'h06;                                          
     seg[2] = 9'h5b;                                           
     seg[3] = 9'h4f;                                           
     seg[4] = 9'h66;                                           
     seg[5] = 9'h6d;                                           
     seg[6] = 9'h7d;                                           
     seg[7] = 9'h07;                                          
     seg[8] = 9'h7f;                                          
     seg[9] = 9'h6f;
end
always @(posedge clk or negedge rst) //分频 1hz
begin
if(!rst)begin
clk_div<=0;
cnt<=0;
end
else if(cnt<(div-1))begin
cnt<=cnt+1;
//clk_div<=0;
end
else begin
cnt<=0;
clk_div<=~clk_div;
end
end
always @(posedge clk_div or negedge rst)begin
if(!rst)begin
ge<=0;
shi<=0;
end
else if((shi*10+ge)==99)begin
shi<=0;
ge<=0;
end
else if(ge==9)begin
ge<=0;
shi<=shi+1;
end
else ge<=ge+1;

end
assign seg_led1=seg[ge];
assign seg_led2=seg[shi];


endmodule

分配引脚之后既可以下载使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值