当前位置: 首页> 科技> 能源 > 电子商务网址_app制作软件手机版下载_百度投放广告流程_品牌整合推广

电子商务网址_app制作软件手机版下载_百度投放广告流程_品牌整合推广

时间:2025/7/9 22:42:14来源:https://blog.csdn.net/m0_46644085/article/details/146459659 浏览次数:2次
电子商务网址_app制作软件手机版下载_百度投放广告流程_品牌整合推广

1、八段数码管

        八段数码管 是一个 “ 8 ” 字型数码管,分为八段,a b c d e f g dp,其中dp为小数点。每一段为一个发光二极管,这样的 8 段称为 段选信号 。

2、实验

        1、实验目标:让六位数码管 从 0 开始记数,每 0.1s 加 1 ,一直加到999_999,达到999_999之后重新开始从 0 计数。

        2、程序设计

              数据生成模块

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2025/03/23 20:13:38
// Design Name: 
// Module Name: data_gen
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//module data_gen
#(parameter   CNT_MAX     =   23'd4999_999    ,parameter   DATA_MAX    =   20'd999_999
)(// clk and rstinput   wire        sys_clk_50      ,input   wire        sys_rst_n       ,// 数码管显示的值output  reg [19:0]  data            ,// 小数点显示output  wire[5:0]   point           ,//  数码管使能信号output  reg         seg_en          ,//  符号位,high为负output  wire        sign      );// reg definereg [22:0]      cnt_100ms   ;reg             cnt_flag    ;assign point    = 6'b00_0000   ;assign sign     = 1'b0         ;   // cnt_100ms 从 0 - CNT_MAXalways@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )begincnt_100ms   <=  23'd0    ;endelsebeginif( cnt_100ms == CNT_MAX )begincnt_100ms   <=  23'd0   ;endelse begincnt_100ms   <=  cnt_100ms   +   1'b1    ;endendend// cnt_flagalways@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )begincnt_flag    <=  1'b0    ;endelsebeginif( cnt_100ms == (CNT_MAX-1'b1) )begincnt_flag    <=  1'b1    ;endelsebegincnt_flag    <=  1'b0    ;                endendend//数码管显示的数据always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )begindata    <=  20'd0   ;endelsebeginif( (data == DATA_MAX) && (cnt_flag == 1'b1) )begindata    <=  20'd0   ;endelse if( cnt_flag == 1'b1 ) begindata    <=  data    +   1'b1    ;endelsebegindata    <=  data    ;endendend//数码管使能信号拉高always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )beginseg_en  <=  1'b0    ;endelsebeginseg_en  <=  1'b1    ;endendendmodule

                二进制转 BCD码模块

        BCD ( Binary coded Decimal ):二进制转十进制,使用四位二进制表示一位十进制数,是一种二进制数字编码形式,用二进制编码十进制代码。根据 权值 的有无 分为 有权码 和 无权码 。

                本实验采用BCD编码 为 8421码。

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2025/03/23 21:11:12
// Design Name: 
// Module Name: bcd_8421
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//module bcd_8421(//clk and rstinput   wire            sys_clk_50      ,input   wire            sys_rst_n       ,//需要转换的datainput   wire [19:0]     data            ,//个位,十位,百位,千位,万位,十万位 bcd码output  reg  [3:0]      unit            ,output  reg  [3:0]      ten             ,output  reg  [3:0]      hun             ,output  reg  [3:0]      tho             ,output  reg  [3:0]      t_tho           ,output  reg  [3:0]      h_hun              );//reg definereg [4:0]       cnt_shift   ;reg [43:0]      data_shift  ;reg             shift_flag  ;//cnt_shift: 0 - 21 的循环always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )begincnt_shift   <=  5'd0    ;endelsebeginif( (cnt_shift == 5'd21) && (shift_flag == 1'b1) )begincnt_shift   <=  5'd0    ;endelse if( shift_flag == 1'b1 )begincnt_shift   <=  cnt_shift   +   1'b1    ;endelsebegincnt_shift   <=  cnt_shift   ;endend   end//data_shift:计数器为0时赋初值,1-20时移位判断操作always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )begindata_shift  <=  44'd0   ;endelsebeginif( cnt_shift == 5'd0 )begindata_shift  <=  { 24'd0,data }  ;endelse if( (cnt_shift <= 20) && (shift_flag == 1'b0) )begindata_shift[23:20]   <=  ( data_shift[23:20] > 4 )?(data_shift[23:20]+2'd3):(data_shift[23:20])  ;data_shift[27:24]   <=  ( data_shift[27:24] > 4 )?(data_shift[27:24]+2'd3):(data_shift[27:24])  ;data_shift[31:28]   <=  ( data_shift[31:28] > 4 )?(data_shift[31:28]+2'd3):(data_shift[31:28])  ;data_shift[35:32]   <=  ( data_shift[35:32] > 4 )?(data_shift[35:32]+2'd3):(data_shift[35:32])  ;data_shift[39:36]   <=  ( data_shift[39:36] > 4 )?(data_shift[39:36]+2'd3):(data_shift[39:36])  ;data_shift[43:40]   <=  ( data_shift[43:40] > 4 )?(data_shift[43:40]+2'd3):(data_shift[43:40])  ;  endelse if( (cnt_shift <= 20) && (shift_flag == 1'b1) )begindata_shift  <=  data_shift<<1   ;    endelsebegindata_shift  <=  data_shift   ;endendend//shift_flag 移位判断标志信号always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )beginshift_flag  <=  1'b0    ;endelsebeginshift_flag  <=  ~shift_flag ;endend//当计数器 为 20时,移位完成,对各个位数的BCD码赋值always@( posedge sys_clk_50 or negedge sys_rst_n )beginif( sys_rst_n == 1'b0 )beginunit    <=  4'b0000     ;ten     <=  4'b0000     ;hun     <=  4'b0000     ;tho     <=  4'b0000     ;t_tho   <=  4'b0000     ;h_hun   <=  4'b0000     ;endelsebegin if( cnt_shift == 5'd21 )beginunit    <=  data_shift[23:20]     ;ten     <=  data_shift[27:24]     ;hun     <=  data_shift[31:28]     ;tho     <=  data_shift[35:32]     ;t_tho   <=  data_shift[39:36]     ;h_hun   <=  data_shift[43:40]     ;            endelsebeginunit    <=  unit     ;ten     <=  ten      ;hun     <=  hun      ;tho     <=  tho      ;t_tho   <=  t_tho    ;h_hun   <=  h_hun    ;            endendendendmodule

                

关键字:电子商务网址_app制作软件手机版下载_百度投放广告流程_品牌整合推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: