设为首页收藏本站帮助中心
查看: 47|回复: 0
收起左侧

Quartus Verilog HDL/FPGA 驱动1位静态共阴数码管显示十六进制数字1秒累加0~9、A~F

[复制链接]
发表于 2022-5-2 19:35:51 | 显示全部楼层 |阅读模式

孩子辍学不想上学打工咋办?
来我这免费学:易语言、51单片机、FPGA(IC设计)、PHP Dsicuz! 程序修改、MASM汇编,包教包会,学废为止。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
main.png
  1. module main(
  2.         input clk,                                //50Mhz 时钟 Pin17
  3.         output [7:0] seg                //连接1位共阴数码管 seg[0]:A ~ seg[7]:DP
  4. );

  5. function [7:0] display;                        //16进制数码管段码查询
  6.         input [3:0] hex;
  7.         begin
  8.         case(hex)
  9.                 4'h0:display = 8'h3F;
  10.                 4'h1:display = 8'h06;
  11.                 4'h2:display = 8'h5B;
  12.                 4'h3:display = 8'h4F;
  13.                 4'h4:display = 8'h66;
  14.                 4'h5:display = 8'h6D;
  15.                 4'h6:display = 8'h7D;
  16.                 4'h7:display = 8'h07;
  17.                 4'h8:display = 8'h7F;
  18.                 4'h9:display = 8'h6F;
  19.                 4'hA:display = 8'h77;
  20.                 4'hB:display = 8'h7C;
  21.                 4'hC:display = 8'h39;
  22.                 4'hD:display = 8'h5E;
  23.                 4'hE:display = 8'h79;
  24.                 4'hF:display = 8'h71;       
  25.         endcase
  26.         end
  27. endfunction
  28. integer i = 0;
  29. reg [3:0] j = 0;
  30. assign seg = display(j);
  31. always @(posedge clk) begin
  32.         i = i + 1;
  33.         if(i == 50000000) begin
  34.                 i = 0;
  35.                 j = j + 1'b1;
  36.         end
  37. end
  38. endmodule
复制代码

相关帖子

本站源码使用前请注意检查,如有问题请点击右下角举报,将在24小时内得到答复。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则