N0.2 七段显示管

本文介绍了如何使用七段显示管显示四位的十六进制数,包括从基本的十六进制七段译码器,到复用七段显示管,最后实现动态显示4位十六进制数的过程。通过4位4选一多路选择器和控制信号,实现在不同数码管上显示不同数字的功能。
摘要由CSDN通过智能技术生成

七段显示管

我们要学习7段数码管首先要学习它的工作原理。

一个包含7个发光二极管的7段显示管

共阴极显示管即将其输出全部接地,引脚信号为高时,将会点亮LED;共阳极显示管即输入一个恒定高电平,引脚信号为低时点亮LED(BASYS2开发板上就是使用的这种方法)。
要求在4个7段显示管上显示一个四位的十六进制数,必须满足每位数码管显示的数字可以不同且同时显示。

第一步:十六进制七段译码器

首先,我们从最简单的十六进制7段译码器做起。

    module hex7seg_top(sw,a_to_g,an,dp);

    input wire[3:0]sw;
    output wire[6:0]a_to_g;
    output wire[3:0]an;                //相当于位选
    output wire dp;                    //小数点

    assign an = 4'b0000;              //all lights on
    assign dp = 1;                    //dp off

    hex7seg  u1(.x(sw),                   //实例化,套用下面的代码
             .a_to_g(a_to_g)
                );

endmodule

若an = 4’b0001; 则四位数码管只有前三位亮起。(引脚信号为低电平则会点亮LED)

    module hex7seg(x,a_to_g);

    input wire [3:0]x;                   //输入的四位十六进制数
    output reg [6:0]a_to_g;              //数码管七位段选(除小数点)

always@(*)
    case(x)
        0:a_to_g = 7'b0000001;
        1:a_to_g = 7'b1001111;
        2:a_to_g = 7'b0010010;
        3:a_to_g = 7'b0000110;
        4:a_to_g = 7
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值