BCD七段显示译码器
- 格式:doc
- 大小:73.00 KB
- 文档页数:3
实验六BCD对七段显示器译码器一、目的:1.能了解BCD对七段显示器译码器电路的设计原理。
2.能利用AHDL语言设计一个BCD对七段显示器译码器电路。
3.能自行以CPLD数位发展实验系统验证所设计电路的正确性。
二、电路图:三、实验器配置图:四、实验步骤与画面:1.建立一个名为BCD_Dec7.v的新文件,并在quaruts Ⅱ文字编辑器中,以VerilogHDL语言来设计程式,图U6-1为算术逻辑运算单元的VerilogHDL程式。
其中in为输入端口,out为输出端口。
2.存储、检查及编译。
3.创建元件符号。
4.创建波形文件,设定合适的端口信号,仿真元件的波形。
观察波形图可以看出当s端口选择不同功能时,芯片会对A、B数据进行相应的操作。
5.请依照下表改变i[3..0]之值,观察并记录其输出的字型。
五、相关说明:1.BCD对七段显示器解码器的程式主要是以TABLE叙述来完成,我们只要将输出入关系以列表方式列出後,编译器就会自动将其编译化简成逻辑运算闸结构。
2.程式中用"%"符号字元括起来的为注解用文字。
编译器并不会处理。
3.对于一个微电脑记忆体位址分配解码控制以及周边之解码控制电路而言,若一一将每个输入变数所对应的解码输出列表出来的话。
简直是一件不可能的事,此时只有采用"X"don't care方式来表示,才能完成此不可能的任务,请参考图U7-3的程式范例。
上面的例子是表示:ROM的记忆体位址是在0000H—3FFFFH范围,而RAM的位址是在8000H—9FFFH范围。
4.对于一些没有列表出来的输入状态而言,其对应输出该如何解决呢?AHDL有个DEFAULTS叙述可以帮我们解决这个问题。
例如图U7-4的程式中,对于没有成立的输入状态,其对应输出的ascii_code 值都为“00111111”。
图U7-45.使用DEFAULTS…END DEFAULTS叙述时要注意下列几件事情:(1)Logic区段中只能有一个DEFAULTS叙述,而且其位置必须是在BE-GIN关键字后的第一个。
BCD七段显示译码器
授课人:许霞
教学目的:1、掌握BCD七段显示译码器的工作原理。
2、了解BCD七段显示译码器芯片知识及应用。
教学重点:BCD七段显示译码器的电路组成和工作原理
教学难点:BCD七段显示译码器的工作原理
教学手段:多媒体教学和实验演示结合
教学过程:
一、图片导入
1、十字路口红绿灯数字显示
2、电子手表时间数字显示
3、电脑人机信息处理过程
二、 BCD七段显示译码器
1、什么是BCD七段显示译码器
用4位二进制数0000-1001分别代表十进制数0-9,称为二—十进制数,又称为BCD码(Binary Coded Decimal)并用七段数码管显示出十进制数
问题1、七段的含义
问题2、4位二进制可编出几种码?
2、电路组成:
1
2
(1)数码管显示部分
举例:当显示4和6时数码管输入信号? 写出所有显示数字时的输入。
A B
ABCD: 输入信号0000-1001 二进制数 输出信号0-9十进制数
对输入信号完成译码
对译码输出进行显示
a
b
c
d
e
f
g
.
.
.
(2)七段数码管显示译码电路组成
1、译码显示电路的连接
2、译码电路芯片74LS48的介绍
3
4、电路动态演示+实验显示
三、小结
四、作业:
1、设计本译码器内部逻辑电路(了解)
2、给你一片74LS48芯片和七段数码显示管,你会制作这个小制作了吗?
3。
已知8421bcd可用7段译码器,驱动日字led管,显示出十进制数字。
指出下列变换真值表为了解决这个问题,我们首先需要了解7段译码器是如何工作的。
7段译码器是一种集成电路,它可以将一个4位二进制数解码为7个输出信号,这些信号可以驱动7段LED显示器以显示数字。
通常,对于一个4位二进制数,其范围是0000到1001,对应于十进制中的0到9。
对于每一个十进制数字,7段译码器都会产生一个特定的输出组合来驱动LED的各个段,从而显示该数字。
现在,假设我们有一个8421 BCD(二进制编码十进制)到7段译码器的转换器,其功能是将8421 BCD码转换为7段显示码。
根据8421 BCD编码的定义,它使用4位二进制代码来表示十进制数字。
其中:第1位表示千位(8)第2位表示百位(4)第3位表示十位(2)第4位表示个位(1)例如,数字5的8421 BCD编码是0101。
基于这个编码规则,我们可以得出以下变换真值表:输入(8421 BCD)输出(7段显示码)显示数字0000 0x3F (点亮第1-7段) 00001 0x06 (点亮第2-4-6段) 10010 0x5B (点亮第段) 20011 0x4F (点亮第段) 30100 0x66 (点亮第段) 40101 0x6D (点亮第段) 50110 0x7D (点亮第段) 60111 0x07 (点亮第段) 71000 0x7F (点亮第段) 81001 0x6F (点亮第段) 9注意:这里的“点亮”是指对应的LED段应当亮起。
例如,数字3的7段显示码是0x4F,意味着第1、3、6、7段应该亮起。
示译码器CD4511CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。
可直接驱动LED显示器。
用CD4511实现LED与接口方法如下图:其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。
CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。
1. CD4511的引脚CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。
其引脚图如3-2所示。
各引脚的名称:其中7、1、2、6分别表示A、B、C、D;5、4、3分别表示LE、BI、LT;13、12、11、10、9、15、14分别表示a、b、c、d、e、f、g。
左边的引脚表示输入,右边表示输出,还有两个引脚8、16分别表示的是VDD、VSS。
2. CD4511的工作原理1. CD4511的工作真值表如表3-22. 锁存功能译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。
当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。
如图3-3(3)译码CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据B、C进行组合,得出、、、四项,然后将输入的数据A、D一起用或非门译码。
cd4511的工作原理
CD4511是一种BCD到七段数码管译码器。
它可以将4位二进制代码(BCD码)转换为七段数码管的控制信号。
以下是CD4511的工作原理:
1. 输入接口:CD4511具有4个BCD输入引脚(A,B,C和D),用于接收4位的二进制代码。
这些引脚可以接收高电平(1)或低电平(0)信号。
2. BCD码转换:根据输入的BCD码,CD4511内部的逻辑电路将其转换为相应的七段数码管控制信号。
根据输入的二进制代码,逻辑电路将相应的片段(a,b,c,d,e,f和g)设置为高电平(1)或低电平(0)。
每个片段控制数码管的相应段显示。
3. 数码管驱动:CD4511提供四个片段输出引脚(a,b,c和d),用于连接到四个共阳极的七段数码管。
除了片段输出引脚,CD4511还提供了一个使能引脚(LE)和一个时钟引脚(LT)。
通过使能引脚,可以控制显示的开启和关闭。
通过时钟引脚,可以时序地控制数据的转移。
4. 数据显示:根据CD4511转换的控制信号,七段数码管的相应段会被点亮。
例如,如果输入的BCD码为“1001”,CD4511将逻辑电路设置为点亮数码管的第一、第四和第九个片段,从而显示数字“9”。
总结起来,CD4511通过将输入的BCD码转换为七段数码管
的控制信号,实现了从二进制代码到数字显示的转换。
它可以用于各种应用,如计数器、时钟、测量仪器和数字显示系统。
Cd4511CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。
可直接驱动LED显示器。
CD4511 是一片 CMOS BCD—锁存/7 段译码/驱动器,引脚排列如图 2 所示。
其中a b c d 为 BCD 码输入,a为最低位。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。
BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。
另外 CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。
LE是锁存控制端,高电平时锁存,低电平时传输数据。
a~g是 7 段输出,可驱动共阴LED 数码管。
另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观图3是 CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 CD4511 和 LED 数码管即可。
所谓共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。
限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。
用CD4511实现LED与单片机的并行接口方法如下图:(略)CD4511 引脚图其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
BCD七段数码管显示译码器电路7段数码管又分共阴和共阳两种显示方式。
如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。
如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。
共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。
无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。
发光二极管的工作电压一般在1.8V--2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数!发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。
只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。
图4 - 17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。
使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17(c)所示。
BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以F a~F g表示),也称4—7译码器。
CD4511是一个用于驱动共阴极LED (数码管)显示器的BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。
可直接驱动LED显示器。
CD4511 是一片CMOS BCD—锁存/7 段译码/驱动器,引脚排列如图2 所示。
其中a b c d 为BCD 码输入,a为最低位。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。
BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时,B1端应加高电平。
另外CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。
LE是锁存控制端,高电平时锁存,低电平时传输数据。
a~g是7 段输出,可驱动共阴LED数码管。
另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观图3是CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只CD4511 和LED 数码管即可。
所谓共阴LED 数码管是指7 段LED 的阴极是连在一起的,在应用中应接地。
限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。
用CD4511实现LED与单片机的并行接口方法如下图:(略)CD4511 引脚图其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入DCBA 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。
BCD七段显示器译码器/译码器CD4511引脚图及真值表
IC CD4511 是一组用来作为BCD 对共阴极LED 七段显示器译码的包装。
其引脚图,图1与真值表图2所示,其各脚功能如下:
LT:做灯泡测试用,当LT=0,则不论其它输入状态为何,其输出abcdefg=1111111,使七段显示器全亮,即显示8,以便观测七段显示器是否正常。
当LT=1,则正常*。
BI:空白输入控制,当BI=0 (LT 为1 时) 则不论DCBA 之输入为何,其输出abcdefg皆为0,即七段显示器完全不亮,此脚可供使用者控制仅对有效数据译码,避免在无意义的数据输入时显示出来造成字型的系乱。
LE:数据栓锁致能控制;在CD4511 中,不但具译码功能,更具有数据栓锁的记忆功能。
当LE=0 时(LT=1 且 BI=1),DCBA 数据会被送入IC 的缓存器中保存,以供译码器码;当LE=1 时,则IC 中的暂存器会关闭,仅保存原来在LE=0 时的DCBA数据供译码器译码。
换句话说当LE=1 时,不论DCBA 的输入数据为何,皆不影响其输出,其输出abcdefg 仍保留原来在LE 由0 转为1 以前的资料。
图1 IC CD45111 引脚功能图
图2 CD4511真值表。
实验名称 BCD七段显示译码器设计指导老师尚丽娜成绩专业电科班级 1102 姓名汪磊学号 31102333一、实验目的1、学习QuartusII软件,学习使用硬件描述语言设计电路。
2、学习DE1平台基本构成,能够使用DE1平台进行简单设计。
二、实验要求使用QuartusII文本输入法设计BCD七段显示译码器。
使用QuartusII软件进行文本输入,并对设计电路进行仿真,并下载到硬件平台,自行定义硬件平台使用端口。
三、实验设备PC机、DE1硬件平台四、实验原理平台上所采用的数码管是共阳的,所以结合硬件我们用VHDL语言来编写数码管的显示程序五、实验过程在实验过程中,我们一开始按照共阴的数码管来写程序,结果实际数码管显示的值与我们设定的刚好相反,所以经过查询电路结构后我们知道了数码管是共阳接法。
具体程序如下所示:Library ieee;Use ieee.std_logic_1164.all;Entity bcdym isPort (a:in bit_vector(3 downto 0);y:out bit_vector(6 downto 0));end bcdym;architecture zhang of bcdym isbeginprocess(a)begincase s iswhen”0000”=>y<=”1000000”;……………………………….……………………………………. ………………………………………………………………………End case;End process;End zhang;六、实验结果七、心得体会操作更加熟练。
浙江大学城市学院实验报告纸一.实验目的(1)学习利用VHDL语言设计BCD七段显示译码器的方法,掌握BCD 七段显示译码器的设计思路;(2)掌握软件工具的使用方法。
二.实验原理根据BCD七段显示译码器的真值表原理进行实验,如表2—3所示。
三.实验内容用VHDL语言设计BCD七段显示译码器,进行编译、波形仿真及器件编程,并自行用VHDL语言设计3线-8线译码器。
四.源程序清单library ieee;use ieee.std_logic_1164.all;entity gaoqianyi isport (a:in std_logic_vector (3 downto 0);y:out std_logic_vector (6 downto 0));end gaoqianyi;architecture zhang of gaoqianyi isbeginprocess(a)begincase a iswhen"0000"=>y<="0111111"; --0的BCD七段码when"0001"=>y<="0000110"; --1的BCD七段码when"0010"=>y<="1011011"; --2的BCD七段码when"0011"=>y<="1001111"; --3的BCD七段码when"0100"=>y<="1100110"; --4的BCD七段码when"0101"=>y<="1101101"; --5的BCD七段码when"0110"=>y<="1111101"; --6的BCD七段码when"0111"=>y<="0100111"; --7的BCD七段码when"1000"=>y<="1111111"; --8的BCD七段码when"1001"=>y<="1101111"; --9的BCD七段码when"1010"=>y<="1110111"; --A的BCD七段码when"1011"=>y<="1111100"; --B的BCD七段码when"1100"=>y<="0111001"; --C的BCD七段码when"1101"=>y<="1011110"; --D的BCD七段码when"1110"=>y<="1111001"; --E的BCD七段码when others=>y<="1110001"; --F的BCD七段码end case; end process; end zhang;附加:3线-8线译码器表2-4 3线-8线译码器真值表不带使能端library ieee;use ieee.std_logic_1164.all;entity gaoqianyi11 isport (a:in std_logic_vector (2 downto 0);y:out std_logic_vector (7 downto 0)); end gaoqianyi11;architecture zhang of gaoqianyi11 isbeginwith a selecty<="11111110"when"000","11111101"when"001","11111011"when"010","11110111"when"011","11101111"when"100","11011111"when"101","10111111"when"110","01111111"when"111","11111111"when others;end zhang;带使能端library IEEE;use IEEE.std_logic_1164.all;entity gaoqianyi111 isport (A : in std_logic_vector (2 downto 0);S1,S2,S3 : in std_logic;Y : out std_logic_vector (7 downto 0));end entity;architecture gaoqianyi111_arch of gaoqianyi111 is signal s : std_logic_vector(2 downto 0);beginS <= S1&S2&S3;process(A, S)beginY <= (others => '1');if S="100" thencase A iswhen "000" =>y<= "11111110";when "001" =>y<= "11111101";when "010" =>y<= "11111011";when "011" =>y<= "11110111";when "100" =>y<= "11101111";when "101" =>y<= "11011111";when "110" =>y<= "10111111";when "111" =>y<= "01111111";when others => NULL;end case;end if;end process;end architecture;五.实验总结我学会了利用VHDL 语言设计BCD 七段显示译码器的方法和自己编写类似的程序。
实验二、BCD七段显示译码器的设计一、实验目的学习利用VHDL语言设计BCD七段显示译码器的方法,掌握BCD七段显示译码器的设计思路:掌握软件工具的使用方法。
二、实验原理三、实验内容1.用VHDL语言设计BCD七段显示译码器,进行编译、波形仿真及器件编程。
(代码一详见附录)产生仿真波形如下:BCD七段显示译码器仿真1分析:问:给定的代码驱动的是共阴极还是共阳极的七段数码管显示器?由BCD七段显示译码器真值表可知是共阴极七段数码管显示器。
2.用VHDL语言设计3-8译码器,进行编译、波形仿真及器件编程。
(代码二详见附录)产生仿真波形如下:3-8译码器仿真1四、实验心得在实验中,通过BCD七段显示译码器真值表真值表得到BCD七段显示译码器case 代码。
同理通过8-3译码器真值表修改BCD七段显示译码器case代码得到8-3译码器case代码。
附录代码一(BCD七段显示译码器代码):library ieee;use ieee.std_logic_1164.all;entity bcdym isport (a:in std_logic_vector(3 downto 0);y:out std_logic_vector(6 downto 0));end bcdym;architecture zhang of bcdym isbeginprocess(a)begincase a iswhen"0000"=>y<="0111111";when"0001"=>y<="0000110";when"0010"=>y<="1011011"; when"0011"=>y<="1001111"; when"0100"=>y<="1100110"; when"0101"=>y<="1101101"; when"0110"=>y<="1111101"; when"0111"=>y<="0100111"; when"1000"=>y<="1111111"; when"1001"=>y<="1101111"; when"1010"=>y<="1110111"; when"1011"=>y<="1111100"; when"1100"=>y<="0111001"; when"1101"=>y<="1011110"; when"1110"=>y<="1111001";when others=>y<="1110001";end case;end process;end zhang;代码二(8-3译码器代码):library ieee; use ieee.std_logic_1164.all;entity bm3_8 isport(a:in std_logic_vector(0 to 2);b:out std_logic_vector(0 to 7)); end bm3_8;architecture zhang of bm3_8 isbeginprocess(a)begincase a iswhen"000"=>b<="00000001";when"001"=>b<="00000010";when"010"=>b<="00000100";when"011"=>b<="00001000";when"100"=>b<="00010000";when"101"=>b<="00100000";when"110"=>b<="01000000";when others =>b<="10000000"; end case;end process;end zhang;。
BCD七段显示译码器
授课人:许霞
教学目的:1、掌握BCD七段显示译码器的工作原理。
2、了解BCD七段显示译码器芯片知识及应用。
教学重点:BCD七段显示译码器的电路组成和工作原理
教学难点:BCD七段显示译码器的工作原理
教学手段:多媒体教学和实验演示结合
教学过程:
一、图片导入
1、十字路口红绿灯数字显示
2、电子手表时间数字显示
3、电脑人机信息处理过程
二、 BCD七段显示译码器
1、什么是BCD七段显示译码器
用4位二进制数0000-1001分别代表十进制数0-9,称为二—十进制数,又称为BCD码(Binary Coded Decimal)并用七段数码管显示出十进制数
问题1、七段的含义
问题2、4位二进制可编出几种码?
2、电路组成:
1
2
(1)数码管显示部分
举例:当显示4和6时数码管输入信号? 写出所有显示数字时的输入。
A B
ABCD: 输入信号0000-1001 二进制数 输出信号0-9十进制数
对输入信号完成译码
对译码输出进行显示
a
b
c
d
e
f
g
.
.
.
(2)七段数码管显示译码电路组成
1、译码显示电路的连接
2、译码电路芯片74LS48的介绍
3
4、电路动态演示+实验显示
三、小结
四、作业:
1、设计本译码器内部逻辑电路(了解)
2、给你一片74LS48芯片和七段数码显示管,你会制作这个小制作了吗?
3。