FPGA 数码管+超声波测距+UART

这篇文章详细描述了一个使用FPGA设计的系统,包括数码管动态显示、超声波测距功能以及与UART接口的集成,通过计数器模块生成数码管显示数据并控制其显示和符号。
摘要由CSDN通过智能技术生成

FPGA 数码管+超声波测距+UART

`timescale 1 ps/ 1 ps

module dis_top(
    input               clk,
    input               rst_n,
    input               echo,
	output    [3:0]  seg_sel  ,       // 数码管位选信号
    output    [7:0]  seg_led,          // 数码管段选信号
    output              trig,
    output              tx
);

wire        tx_trigger;
wire [7:0] top_data;

ultrasonic u1(
   .clk             (clk),
   .rst_n           (rst_n),
   .echo            (echo),
   .trig            (trig),
   .tx_trigger      (tx_trigger),
   .data            (top_data)
);

uart_tx u2(
   .clk             (clk),
   .rst_n           (rst_n),
   .tx_trigger      (tx_trigger),
   .tx_data         (top_data),
   .tx              (tx)
);

//wire define
(*keep*) wire [7:0] uart_data;               //UART发送数据
wire    [7:0]  data;                 // 数码管显示的数值
wire    [ 5:0]  point;                // 数码管小数点的位置
wire            en;                   // 数码管显示使能信号
wire            sign;                 // 数码管显示数据的符号位

//计数器模块,产生数码管需要显示的数据
count u_count(
    .clk           (clk  ),       // 时钟信号
    .rst_n         (rst_n),       // 复位信号
	.uart_data      (top_data),//uart_data
    .data          (data     ),       // 6位数码管要显示的数值
    .point         (point    ),       // 小数点具体显示的位置,高电平有效
    .en            (en       ),       // 数码管使能信号
    .sign          (sign     )        // 符号位
);

//数码管动态显示模块
seg_led u_seg_led(
    .clk           (clk  ),       // 时钟信号
    .rst_n         (rst_n),       // 复位信号

    .data12          (data +20'd13    ),       // 显示的数值
//	.data34          (data     ),       // 显示的数值
    .point         (point    ),       // 小数点具体显示的位置,高电平有效
    .en            (en       ),       // 数码管使能信号
    .sign          (sign     ),       // 符号位,高电平显示负号(-)
    
    .seg_sel       (seg_sel  ),       // 位选
    .seg_led       (seg_led  )        // 段选
);



endmodule

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值