数码管显示器,通过控制八个显示灯管来控制输出,通过高低电平,使输入二进制,输出十六进制。
实验原理
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