FPGA-数码管显示

一.实验要求:

 在实验板上有八个数码管,实现数码管的动态显示,具体要求为:在计数开始前八位数码管都显示0;开始计数后,在八个数码管上动态显示13579BDF。

二.实验背景知识

1、LED数码管基础知识

c169ce5953bf4957b5844cfccd822a06.png

  在数码管上显示数字就是将相应的段位点亮组成要显示的数字,共阴数码管的码值表如下所示,‘1’代表相应的管脚输出高电平,点亮相应段位;‘0’代表相应的管脚输出低电平,不点亮相应段位。

587eff6751a741c69dc13dca6b3e37a3.png

2、动态数码管原理

  如果开发板上使用的是共阴极动态数码管,这种数码管有四个共阴极分别选通对应的每位数码管,四位数码管的八个段码脚连接在一起。其动态显示的原理是:每次选通其中一位,送出这位要显示的内容,然后一段时间后选通下一位送出对应的数据,4个数码管这样依次选通并送出相应的数据,结束后在重复进行。这样只要选通时间选取的合适,由于人眼的视觉暂留,数码管看起来就是连续显示的。

三、实验步骤:

开发板上有 8 个八段数码管,可以方便设计各种数值显示电路。八段数码管本身采用的是共阴极驱动的主要由“位选”和“段选”两块电路驱动。自左向右为DK7-DK0。数码管的位选示意图如下:

a2341f74d8b74dbbbede14a75c802a73.png

段选示意图为:

507df484ab1c4591ad4c5a11662b76c1.png

 四.程序(板子使用的是xc7z020clg484-1)

`timescale 1ns / 1ps

 

module shiyan55(

clk,

reset,

shuma1,

shuma2,

weixuan

    );

    input clk;

    input reset;

    output shuma1;

    output shuma2;

     output weixuan;

    reg [7:0] shuma1;

    reg [7:0] shuma2;

    reg [7:0] weixuan;

    reg [25:0] counter;

    reg [2:0] select;

    always@(posedge clk or negedge reset)

    begin

    if(!reset)

    counter<=0;

    else if(counter==3200)

    counter<=0;

    else

    counter<=counter+1;

    end

    always@(posedge clk or negedge reset)

    begin

    if(!reset)

    select<=3'b000;

    else if(counter==3200)

    select<=select+1'b1;

    else

    select<=select;

    end

    always@(*)

    begin

    case(select)

    3'b000:begin weixuan<=8'b1000_0000;shuma1<=8'b0110_0000; end

    3'b001:begin weixuan<=8'b0100_0000;shuma1<=8'b1111_0010; end

    3'b010:begin weixuan<=8'b0010_0000;shuma1<=8'b1011_0110; end

    3'b011:begin weixuan<=8'b0001_0000;shuma1<=8'b1110_0000; end

    3'b100:begin weixuan<=8'b0000_1000;shuma2<=8'b1111_0110; end

    3'b101:begin weixuan<=8'b0000_0100;shuma2<=8'b1111_1110; end

    3'b110:begin weixuan<=8'b0000_0010;shuma2<=8'b1111_1100; end

    3'b111:begin weixuan<=8'b0000_0001;shuma2<=8'b1000_1110; end

    default:select<=3'b000;

    endcase

    end

endmodule

五.i/o封装

66d3e0c051c64cfc907dad10f0343dee.png

后面的封装省略,不会可问。

六.运行结果

 ec4d1887044f4618882e653347fa3ff3.jpeg

 点赞加粉哦。

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值