FPGA:0~9999数码管计数

编程入门 行业动态 更新时间:2024-10-23 11:28:11

FPGA:0~9999<a href=https://www.elefans.com/category/jswz/34/1769521.html style=数码管计数"/>

FPGA:0~9999数码管计数

module test(seg,dig,clk,rst,key);
input clk;
input rst;
input key;output [7:0] seg; //数码管段码输出
output [7:0] dig; //数码管位码输出
reg clk_1s;
reg [7:0]seg;//定义段码寄存器
reg [3:0]dig;//定义位码寄存器reg [24:0]cnt_1s;reg [36:0]cnt;
reg [1:0]state;
reg [3:0]qianwei_reg,baiwei_reg,shiwei_reg,gewei_reg;reg [7:0]qianwei_code;
reg [7:0]baiwei_code;
reg [7:0]shiwei_code;
reg [7:0]gewei_code;
always@(posedge clk)//分频出周期为1s的信号
begincnt<=cnt+1'b1;if(cnt==25'd25000000)begin cnt<=1'b0; clk_1s=~clk_1s; end//使用的是50MHZ;计数0.5秒需要次数为:0.5/50MHZ=25000000;
end
always@(posedge clk_1s)
begincnt_1s<=cnt_1s+1'b1;if(cnt_1s==25'd9999)cnt_1s<=1'b0;      
endalways@(cnt_1s)//计数器 1s
beginqianwei_reg=cnt_1s/1000;baiwei_reg=cnt_1s%1000/100;shiwei_reg=cnt_1s%100/10;gewei_reg=cnt_1s%10;
end
always@(gewei_reg)
case(gewei_reg)4'h0:gewei_code<=8'hc0;4'h1:gewei_code<=8'hf9;4'h2:gewei_code<=8'ha4;4'h3:gewei_code<=8'hb0;4'h4:gewei_code<=8'h99;4'h5:gewei_code<=8'h92;4'h6:gewei_code<=8'h82;4'h7:gewei_code<=8'hf8;4'h8:gewei_code<=8'h80;4'h9:gewei_code<=8'h90;endcasealways@(shiwei_reg)
case(shiwei_reg)4'h0:shiwei_code<=8'hc0;4'h1:shiwei_code<=8'hf9;4'h2:shiwei_code<=8'ha4;4'h3:shiwei_code<=8'hb0;4'h4:shiwei_code<=8'h99;4'h5:shiwei_code<=8'h92;4'h6:shiwei_code<=8'h82;4'h7:shiwei_code<=8'hf8;4'h8:shiwei_code<=8'h80;4'h9:shiwei_code<=8'h90;endcasealways@(baiwei_reg)
case(baiwei_reg)4'h0:baiwei_code<=8'hc0;4'h1:baiwei_code<=8'hf9;4'h2:baiwei_code<=8'ha4;4'h3:baiwei_code<=8'hb0;4'h4:baiwei_code<=8'h99;4'h5:baiwei_code<=8'h92;4'h6:baiwei_code<=8'h82;4'h7:baiwei_code<=8'hf8;4'h8:baiwei_code<=8'h80;4'h9:baiwei_code<=8'h90;endcasealways@(qianwei_reg)
case(qianwei_reg)4'h0:qianwei_code<=8'hc0;4'h1:qianwei_code<=8'hf9;4'h2:qianwei_code<=8'ha4;4'h3:qianwei_code<=8'hb0;4'h4:qianwei_code<=8'h99;4'h5:qianwei_code<=8'h92;4'h6:qianwei_code<=8'h82;4'h7:qianwei_code<=8'hf8;4'h8:qianwei_code<=8'h80;4'h9:qianwei_code<=8'h90;endcasealways@(posedge cnt[15])
begincase(state[1:0])2'h0:begin seg=gewei_code;dig<=4'b1110;state<=state+1'b1;end2'h1:begin seg=shiwei_code;dig<=8'b1101;state<=state+1'b1;end2'h2:begin seg=baiwei_code;dig<=8'b1011;state<=state+1'b1;end2'h3:begin seg=qianwei_code;dig<=8'b0111;state<=state+1'b1;endendcase
end
endmodule

更多推荐

FPGA:0~9999数码管计数

本文发布于:2024-02-26 19:45:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1703684.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数码管   FPGA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!