失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > BCD-七段数码管显示译码器

BCD-七段数码管显示译码器

时间:2019-05-10 14:58:00

相关推荐

BCD-七段数码管显示译码器

目的

1.进一步掌握VHDL语言的基本结构及设计的输入方法。

2.掌握BCD-七段显示译码器的设计思路;

内容

1.使用拨码开关SW3、SW2、SW1、SW0作为四位二进制数据 D、C、 B、A的输入;

2.在最右边的数码管HEX0上显示输入的BCD码编码数值。

原理

七段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符。发光二极管的阳极连在一起的称为共阳极数码管,此时译码器的输出应该是低电平有效;阴极连在一起的称为共阴极数码管,此时译码器的输出应该是高电平有效。如图2-25所示。

图2-25七段数码管结构图

74LS47是将四位二进制编码编码转化为十进制数码(BCD),并通过七段数码管显示出来的译码器/驱动器,其引脚图如图2-26所示。74LS47可以驱动共阳极的发光二极管七段LED显示字符。

图2-2674LS47引脚图

74LS47有自动前、后沿灭零控制(RBI和RBO)。试灯(LT)可在BI/RBO端处于高电平的任何时刻去进行,该电路还含有一个灭灯输入(BI),它用来控制灯的亮度或禁止输出。在输入0~15时,74LS47显示的字符如图2-27所示。功能表如表2-2所示。

图2-2774LS47显示字符

表2-274LS47功能表

DE2-115配有八个七段数码管。它们被分成两组,每组4个,用来作为数字显示用。DE2-115的七段数码管采用共阳极连接方式。FPGA输出低电平时,对应的字码段点亮,反之则熄灭。要注意的是:在DE2-115开发板上七段数码管的点是不可用的。

操作

1.创建一个QuartusII工程,用来在DE2-115上实现预期电路。

2.写出预期电路的VHDL代码。

3.将VHDL文件包含进工程并编译。

4.仿真电路来检测其功能。

5.分配引脚。

6.重新编译并将其下载进FPGA芯片中。

7.通过DE2-115开发板来证实电路是否准确。

程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYBCD7IS

PORT(Ain,Bin,Cin,Din:INSTD_LOGIC;----输入4位BCD码

LT,RBI,BI:INSTD_LOGIC;

a,b,c,d,e,f,g:OUTSTD_LOGIC);--7段码

ENDBCD7;

ARCHITECTUREARCHOFBCD7IS

SIGNALQ:STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

Q<=Din&Cin&Bin&Ain;

PROCESS(Q,LT,RBI,BI)

VARIABLEDOUT:STD_LOGIC_VECTOR(6DOWNTO0);

BEGIN

IFBI='0'THEN

DOUT:="0000000";

ELSIFRBI='1'THEN

IFLT='1'THEN

CASEQIS

WHEN"0001"=>DOUT:="1111001";

WHEN"0010"=>DOUT:="0100100";

WHEN"0011"=>DOUT:="0110000";

WHEN"0100"=>DOUT:="0011001";

WHEN"0101"=>DOUT:="0010010";

WHEN"0110"=>DOUT:="0000010";

WHEN"0111"=>DOUT:="1111000";

WHEN"1000"=>DOUT:="0000000";

WHEN"1001"=>DOUT:="0011000";

WHEN"1010"=>DOUT:="0001000";

WHEN"1011"=>DOUT:="0000011";

WHEN"1100"=>DOUT:="1000110";

WHEN"1101"=>DOUT:="0100001";

WHEN"1110"=>DOUT:="0000110";

WHEN"1111"=>DOUT:="0001110";

WHENOTHERS=>DOUT:="1000000";

ENDCASE;

Endif;

Endif;

a<=DOUT(0);

b<=DOUT(1);

c<=DOUT(2);

d<=DOUT(3);

e<=DOUT(4);

f<=DOUT(5);

g<=DOUT(6);

ENDPROCESS;

ENDARCH;

结果

问题及解决

1.要好好看看工作原理。

2.文件名必须与VHDL文件中的设计实体名保持一致。

总结:我个人感觉操作的规范化比较重要,如果操作不规范不仅使操作步骤繁琐,也有可能带来错误。其次是理解代码含义,了解BCD-七段数码管显示译码器的作用,清楚共阴极,共阳极的差别。应该可以比较顺利完成任务。

如果觉得《BCD-七段数码管显示译码器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。