手机网站图片点击放大,当雄网站建设,织梦如何一个后台做两个网站,平面设计网站1.原理 把每一个数码管闪烁的时间设置为1ms#xff0c;肉眼观察不到就会认为6个数码管在同时闪烁。
实验目标#xff1a;
使用6位8段数码管实现数码管的动态显示#xff0c;显示的内容就是0-999_999。当计数到最大值#xff0c;让他归零#xff0c;然后循环显示。每0.1秒…1.原理 把每一个数码管闪烁的时间设置为1ms肉眼观察不到就会认为6个数码管在同时闪烁。
实验目标
使用6位8段数码管实现数码管的动态显示显示的内容就是0-999_999。当计数到最大值让他归零然后循环显示。每0.1秒加1。也就是说第一个0.1秒显示的是0第2个0。1秒显示的是1。 高电平定义小数点位有效。符号位也是高电平有效。因为没有用到小数点位和符号位所以一直让其保持低电平。使能信号控制数码管的显示当为高电平数码管可以正常显示。
2.代码
2.1data_gen.v
module data_gen#(parameter CNT_MAX23d4999_999,parameter DATA_MAX20d999_999
)
(input wire sys_clk ,input wire sys_rst_n ,output reg[19:0] data ,output wire[5:0] point ,output wire sign ,output reg seg_en
);reg[22:0] cnt_100ms;
reg cnt_flag;assign sign1b0;
assign point6b000_000;always(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n1b0)cnt_100ms23d0;else if(cnt_100msCNT_MAX)cnt_100ms23d0;elsecnt_100mscnt_100ms1b1;always(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n1b0)cnt_flag1b0;else if(cnt_100msCNT_MAX-1b1)cnt_flag1b1;elsecnt_flag1b0;always(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n1b0)data20d0;else if(dataDATA_MAX)data20d0;else if(cnt_flag1b1)datadata1b1;elsedatadata;always(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n1b0)seg_en1b0;elseseg_en1b1;endmodule
2.2 tb_data_gen.v
timescale 1ns/1ns
module tb_data_gen();reg sys_clk;
reg sys_rst_n;
wire seg_en ;
wire sign;
wire point;initial beginsys_clk1b1;sys_rst_n1b0;#20sys_rst_n1b1;endalways #10 sys_clk~sys_clk;data_gen#(.CNT_MAX(6d49),.DATA_MAX(4d9)
)
data_gen_inst(.sys_clk (sys_clk) ,.sys_rst_n (sys_rst_n),.data (data),.point (point),.sign (sign),.seg_en (seg_en )
);endmodule