数码管显示器,通过控制八个显示灯管来控制输出,通过高低电平,使输入二进制,输出十六进制。

实验原理

7段显示译码器是纯组合电路。通常的小规模专用IC,如74或系列的器件只能作十进制BCD码译码器,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD来实现。所以首先要设计一段程序(参考以下的真值表1).设输入的4位码为A[3:0],输出控制7段共阴数码管的7位数码管的7位数据为LED7S的7位分别接图的共阴数码管的7个段,高位在左,低位在右。例如当LED7S输出为“”时,数码管的7个段g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。这里没有考虑或者表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。

7段译码器真值表

输入码  输出码  代表数据

    0

  10  1

    2

  111  3

  110  4

    5

    6

  111  7

    8

  111  9

  111  A

    B

  001  C

  110  D

  111  E

  111  F

LIBRARYIEEE;

USEIEEE.STD_LOGIC_.ALL;

ENTITYLEDCL7IS

PORT(A:INSTD_LOGIC.VECTOR(3DOWNTO0);

L:OUTSTD_LOGIC.VECTOR(6DOWNTO0));

ENDLEDCL7;

ARCHITECTUREONEOFLEDCL7IS

BEGIN

PROCESS(A)

BEGIN

CASEAIS

WHEN""=L="1";

WHEN""=L="110";

WHEN""=L="";

WHEN""=L="111";

WHEN""=L="110";

WHEN""=L="";

WHEN""=L="";

WHEN""=L="111";

WHEN""=L="";

WHEN""=L="111";

WHENOTHERS=NULL;

ENDCASE;

ENDPROCESS;

END;



转载请注明地址:http://www.abmjc.com/zcmbyf/1708.html