BCD七段显示译码器的设计报告

合集下载

实验六 BCD对七段显示器译码器

实验六 BCD对七段显示器译码器

实验六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关键字后的第一个。

七段数码管显示实验报告

七段数码管显示实验报告

七段数码管显示实验报告实验目的:本实验的目的是通过控制7段数码管的亮灭状态来显示不同的数字和字母。

实验原理:7段数码管常用于显示数字和字母,每个数码管由7个LED灯组成,分别表示A、B、C、D、E、F、G等7个段。

通过控制这些LED灯的亮灭状态,就可以显示不同的数字和字母。

在实际应用中,通常需要使用一个译码器来根据输入的数字或字母输出相应的控制信号。

常用的译码器有7447、DM9368等。

这些译码器通常都是BCD码到7段数码管的译码器。

在本实验中,我们将使用7447译码器来控制7段数码管的亮灭状态。

7447译码器具有4个输入线和7个输出线,每个输入线上的BCD码可以转换成相应的控制信号,用于控制数码管的7个LED 灯。

实验材料:1.7段数码管2.7447译码器3.电路板4.电压源5.连接线实验步骤:1.将7447译码器插入电路板上相应的插槽中,并将数码管连接到电路板上。

2.将电压源连接到电路板上,并调节电压和电流值。

3.根据所需显示的数字或字母,设置相应的BCD码输入信号。

4.打开电源,观察数码管是否能够正确显示。

实验结果:通过本实验,我们可以成功控制7段数码管的亮灭状态,实现了数字和字母的显示。

同时,我们也了解了7447译码器的原理和使用方法。

实验小结:本实验是电子技术的基础实验之一,通过实验我们深入了解了7段数码管和7447译码器的原理和应用,同时也锻炼了我们的动手能力和实验技能。

在实际应用中,7段数码管和译码器常常被用于数字显示、计数器、时钟、温度计等电子设备中,具有广泛的应用前景。

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告

实验名称:十六进制7段数码显示译码器设计实验目的:1.设计七段显示译码器2.学习Verilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;工作原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

例如6-18作为7段译码器,输出信号LED7S 的7位分别接图6-17数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为…(7 DOWNTO 0)。

实验内容1:将设计好的VHDL译码器程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

实验步骤:步骤1:新建一个文件夹击打开vhdl文件;步骤2:编写源程序并保存步骤3:新建一个工程及进行工程设置步骤4:调试程序至无误;步骤5:接着新建一个VECTOR WAVEFOM文件及展出仿真波形设置步骤6:输入数据并输出结果(时序仿真图)步骤7:设置好这个模式步骤8:生成RTL原理图步骤9:引脚锁定及源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN"0000"=> LED7S<="0111111";WHEN"0001"=> LED7S<="0000110";WHEN"0010"=> LED7S<="1011011";WHEN"0011"=> LED7S<="1001111";WHEN"0100"=> LED7S<="1100110";WHEN"0101"=> LED7S<="1101101";WHEN"0110"=> LED7S<="1111101";WHEN"0111"=> LED7S<="0000111";WHEN"1000"=> LED7S<="1111111";WHEN"1001"=> LED7S<="1101111";WHEN"1010"=> LED7S<="1110111";WHEN"1011"=> LED7S<="1111100";WHEN"1100"=> LED7S<="0111001";WHEN"1101"=> LED7S<="1011110";WHEN"1110"=> LED7S<="1111001";WHEN"1111"=> LED7S<="1110001";WHEN OTHERS =>NULL;END CASE;END PROCESS;END;实验内容二:1、硬件测试。

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告

十六进制7段数码显示译码器设计实验报告实验报告:十六进制7段数码显示译码器设计一、实验目的本实验的主要目的是设计一种用于将十六进制数码转化为七段显示的译码器电路。

通过这个实验,我们可以学习和了解数字电路的工作原理、数码管的控制方式以及七段数码的译码方法。

二、实验原理本实验所用到的数码管为共阳数码管,它由7个发光二极管组成,其中的每一个发光二极管称为一个段。

这七个段依次为a、b、c、d、e、f和g,它们分别对应数码管上的abcdefg七个引脚。

当一些引脚输出高电平时,相应的段就会被点亮,从而显示出特定的字符。

为了实现将十六进制数码转化为七段显示的功能,我们需要设计一个译码器电路。

译码器电路的输入为十六进制数码,输出为七段信号,用于控制数码管的每个段的亮灭情况。

为了简化设计,我们可以采用CMOS数字集成电路74LS47来实现译码器电路。

该集成电路内部集成了BCD转七段译码器,可以将二进制代码转化为七段数码显示所需要的信号。

它的输入为四个二进制输入端口A、B、C和D,输出为七个段芯片(a、b、c、d、e、f和g)的控制信号。

三、实验步骤1.首先,根据74LS47的真值表,确定译码器的输入和输出。

2.根据真值表,画出逻辑图,确定硬件电路的连接方式。

3.按照逻辑图和电路连接方式,进行硬件电路的布线。

4.按照实验仪器的操作说明,对电路进行调试和测试。

5.将输入端口连接至外部的十六进制信号源,观察输出端口的数据是否正确。

6.验证电路的正确性和稳定性,如果出现问题,进行排除和修复。

四、实验结果经过实验,我们成功地设计并实现了一个十六进制7段数码显示译码器电路。

当输入端口接收到一个十六进制信号时,通过电路的处理和转换,将其转化为了相应的七段信号,用于控制数码管的每个段的亮灭情况。

通过实验观察,我们发现电路的输出结果与预期一致,且工作稳定。

五、实验总结通过这个实验,我们对于数字电路的工作原理和数码管的控制方式有了更深的了解。

BCD码—七段数码管显示译码器的综合仿真及下载

BCD码—七段数码管显示译码器的综合仿真及下载

BCD 码—七段数码管显示译码器的综合仿真及下载暑期FPGA培训实验报告————BCD码—七段数码管显示译码器一、实验设计利用软件QuartusII,Modelsim及DE0开发板完成译码器的仿真及下载,其中使用VerilogHDL硬件描述语言完成其源代码。

译码器将一位BCD码0—9用DE0开发板的数码管显示。

二、实验原理发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。

分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。

外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。

只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。

图4 - 17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。

使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17(c)所示。

(摘自百度文库) (图片来自百度)BCD码—七段数码管显示译码器是将一位BCD码(输入用图中A,B,C,D)翻译为数码管上对应显示的十进制数字。

例如:输入为4’b0000时,则显示为g号二极管灭,其他为亮,则可显示为数字0。

其实BCD码—七段数码管显示译码器即为4-7线译码器,只是将它显示在数码管上而已。

其(数码管为共阴极)真值表如下图:(图片来自百度) *由于DE0开发板的数码管为共阳极则需要将上表的真值取反。

三、源代码及testbench decode4_7.vmodule decode4_7(decodeout,indec);output[6:0] decodeout;input[3:0] indec;reg[6:0] decodeout;always @(indec)begincase(indec) //用case语句进行译码4'd0:decodeout=7'b0000001; //由于为共阳极数码管则真值如此4'd1:decodeout=7'b1001111;4'd2:decodeout=7'b0010010;4'd3:decodeout=7'b0000110;4'd4:decodeout=7'b1001100;4'd5:decodeout=7'b0100100;4'd6:decodeout=7'b0100000;4'd7:decodeout=7'b0001111;4'd8:decodeout=7'b0000000;4'd9:decodeout=7'b0000100;default: decodeout=7'bx;endcaseendEndmoduledecode4_7_testbench.vmodule decode4_7_testbench; reg[3:0] indec;wire[6:0] decodeout;la U0(decodeout,indec);initialbeginindec=4'b0;#10 $stop;endalwaysbegin#1 indec=indec+1'b1;endendmodule四、实验操作1、打开QuartusII建立工程,配置实验板为CycloneIII .EP3C16F484C6 ,设置第三方仿真软件为Modelsim- Altera。

BCD7段译码器

BCD7段译码器
关键词:LED数码管,BCD码,EDA技术
1 引 言
20世纪末,数字电子技术得到了飞速发展,有力地推动和促进了社会生产力的发展和社会信息化的提高,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。
原理图描述的7段显示译码器的工作波形七段显示译码器的原理图描述显示的字形沈阳工程学院课程设计通过对bcd码显示译码器的设计我进一步了解到eda工具在我们现实生活中的作用是不可能被替代的而且在数字逻辑系统中74系列或4000系列芯片构成电路只适合简单的应用它们已不能满足人们对高科技技术的要求因此我们要更好的学习eda工具以便提高自身的实践能力与专业知识的应用能力争取更快的与社会实际和社会需要接轨
备注
1
12.30-12.31
选题,搜集资料,熟悉设计环境
2
01.02-01.06
调试程序
3
01.07-01.08
仿真程序
4
01.09-01.10
完成课程设计说明书(论文)、进行答辩
沈 阳 工 程 学 院
EDA课程设计成绩评定表
系(部):自动化学院班级:学生姓名:
指 导 教 师 评 审 意 见
评价
内容
MAX+PLUSII 具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。 MAX+PLUS II 开发系统众多突出的特点,使它深受广大用户的青睐。
半导体数码管(或称LED数码管)是常用的显示器件,其基本单元是发光PN结,目前较多采用磷砷化镓做成的PN结,封装成为发光二极管,如图1(a)所示。当外加正向电压时,就能发出清晰的光线。发光二极管的工作电压为1.5~3V,由于工作电流为几毫安到十几毫安比较小,故实际电路应串接适当的限流电阻。

7段数码显示译码器设计

7段数码显示译码器设计

7段数码显示译码器设计数码显示译码器是一种可以将二进制代码转换为数码形式输出的电子装置。

它是数字电路中常见且重要的组成部分,用于将二进制数据转换为人们可以直接阅读和理解的数码显示。

本文将介绍一个基于74LS47芯片的7段数码显示译码器的设计。

一、设计目标设计一个能够接受4位二进制代码输入,并将其转换为对应的七段数码形式输出的译码器电路。

二、74LS47芯片介绍74LS47是一种四位BCD-7段数码译码器/驱动器芯片,它能够将4位BCD代码转换为对应的七段数码输出。

该芯片具有以下特点:1.输入:4位BCD代码(A,B,C和D)2.输出:共阳极(共阳)显示器的七个引脚(a,b,c,d,e,f和g)3.功能:将BCD代码转换为七段数码形式输出,用于显示三、电路设计1.将74LS47芯片的引脚连接至7段数码显示器的a,b,c,d,e,f和g引脚。

这些引脚负责控制七段数码的每个段。

2.A,B,C和D引脚接收4位二进制代码输入。

3. 第一个74LS47芯片的Vcc引脚连接到正电源,GND引脚连接到地。

4. 还需将每个74LS47芯片的GA和GB引脚连接在一起,形成一个输入信号的链。

GA和GB引脚连接到Vcc电源端。

5.在接有显示器的七段段引脚(a,b,c,d,e,f,g)和段选择(a-g`)之间插入电阻。

这些电阻可用于限流,避免过高电流对显示器和芯片造成损坏。

6.确保芯片和显示器之间的信号传输有效,没有短路或脱离接地。

四、工作原理1.输入:通过A、B、C和D四个引脚接收4位BCD代码,一共有16个可能的输入组合。

2.输出:将四位BCD代码转换为相应的七段数码输出,用于显示。

例如,输入“0000”将转换为“0”的数码形式。

3.七段显示器共阳极(共阳):对于共阳极的显示器,七个段引脚(a,b,c,d,e,f和g)的高电平将被激活,且通过公共引脚控制显示的数码部分。

4.区分位和段:每个数码位由七个段组成,通过该段的点亮和熄灭来表示所需显示的数字。

实验报告模板:实验二7段数码显示译码器

实验报告模板:实验二7段数码显示译码器

实验二7段数码显示译码器【实验目的】1.设计七段显示译码器,并在实验板上验证2.学习V erilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;【实验内容】1.实现BCD/七段显示译码器的“Verilog ”语言设计。

说明:7段显示译码器的输入为:IN0…IN3共5根,7段译码器的逻辑表同学自行设计,要求实现功能为:输入“0…15 ”(二进制),输出“0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。

2.使用工具为译码器建立一个元件符号3.设计仿真文件,进行验证。

4.编程下载并在实验箱上进行验证。

【实验原理】7段数码是纯组合电路。

通常的小规模专用IC,如74或4000系列的器件只能作十进制的BCD码译码,然而数字系统的数据处理和运算都是二进制的,所以输出表达式都是十六进制的。

为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中实现。

首先要设计一段程序。

该程序可按照例3-2的case语句表述方法,再根据表4-2的真值表写出程序。

者输入的4位码为A【3:0】,输出控制7段共阴数码管的7位数据位LED7S【6:0】。

输出信号LED7S的7位分别接图4-74的工银数码管的7个段,高位在左,低位在右。

【程序源代码】(加注释)module LED (IN,led7);input[3:0] IN;output[6:0] led7; //定义输出信号reg[6:0] led7; //定规输出信号位7位的寄存器变量always@(IN) //IN为敏感性信号begin //主块开始case(IN) //使用了case语句4'b0000: led7<=7'b0111111;4'b0001: led7<=7'b0000110;4'b0010: led7<=7'b1011011;4'b0011: led7<=7'b1001111;4'b0100: led7<=7'b1100110;4'b0101: led7<=7'b1101101;4'b0110: led7<=7'b1111101;4'b0111: led7<=7'b0000111;4'b1000: led7<=7'b1111111;4'b1001: led7<=7'b1101111;default: led7<=7'b0111111;endcaseend //主块结束endmodule【仿真和测试结果】【硬件仿真结果:】【实验心得和体会】通过这次的7段数码显示译码器实验,我对EDA有了进一步的了解,对QuartusII有了了解以及在QuartusII的使用上有了一些经验。

译码器应用设计实验报告

译码器应用设计实验报告

译码器应用设计实验报告引言译码器(Decoder)是数字电路中常用的逻辑电路之一,它实现了将输入数字码转换成输出端口的控制信号。

译码器被广泛应用于数字系统中,如计算机、通信、测控等领域。

通常情况下,译码器基于真值表或卡诺图设计,可以根据输入的不同编码方式,输出相应的解码结果。

本实验主要介绍译码器的应用设计。

通过实验,我们将学会如何使用译码器来实现数字系统的控制和数据处理任务。

本实验所涉及的译码器有BCD-7段译码器、数值译码器、时序译码器以及存储器译码器等。

实验器材1. 逻辑计算器2. 示波器3. 数字电路实验箱4. 5V直流电源5. 译码器(BCD-7段译码器、数值译码器、时序译码器和存储器译码器)6. LED数码管实验原理1. BCD-7段译码器BCD-7段译码器是将4位BCD码转换成7段数码管显示的译码器。

8个BCD码,分别对应着数字0~9和字母A~F,输出接到控制7个LED数码管的段选端口和1个公共阴极的位选端口。

2. 数值译码器数值译码器是将4位二进制数转换成BCD码的译码器。

通过数值译码器,可以将数字的二进制编码转换成BCD编码,从而实现数字的BCD码显示。

译码器输出接LED数码管的输入端口。

时序译码器是根据不同状态的时序信号,将输入的二进制数码转换成对应的控制信号的译码器。

将时序信号和数码信号分别输入至译码器的两个输入端口,译码器将输出对应的动作信号。

常用于时序控制电路的设计中。

4. 存储器译码器存储器译码器是将存储芯片中的地址码转换成控制芯片的输入信号的译码器。

存储芯片中的地址码分别对应着芯片的不同存储单元,译码器将地址码转换成控制信号,使控制芯片可以正确访问存储芯片中的数据。

实验设计实验步骤:(1)将BCD码8个输入引脚分别接到译码器的8个输入端口上。

(4)将5V直流电源连接到译码器和LED数码管上。

实验结果:输入BCD码0000~1111时,LED数码管正确显示相应的数字0~9和字母A~F。

EDA技术_项目5_BCD-7段显示译码器

EDA技术_项目5_BCD-7段显示译码器

仿真波形如下图所示
学习子领域2:数字电路的EDA设计
项目(学习情境)5
BCD-7段数码管显示译码器电路设计
任务要求
• 请根据要求在EDA实验箱上设计BCD-7 段数码管显示译码器电路,要求: • ⑴使用EDA实验箱上开关设置模块的K4、 K3、K2、K1开关作为BCD码输入; • ⑵使用EDA实验箱上键盘显示模块中最 右边一位的数码管显示输入的BCD码编 码数值; • ⑶进行功能仿真。
共阴极BCD-7段数码管显示译码器的真值表
输入端 输出端 说明
D3
0
D2
0
D1
0
D0
0
LED6 (a)
1
LED5 (b)
1
LED4 (c)
1
LED3 (d)
1
LED2 (e)
1
LED1 (f)
1
LED0 (g)
0
数码
0
0
0 0 0 0 0 0 1 1 1
0
0 0 1 1 1 1 0 0 0
0
1 1 0 0 1 1 0 0 1
1
1 1 1 1
0
1 1 1 1
1
0 0 1 1
1
0 1 0 1
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0 无效
BCD-7段数码管显示译码器电路的 引脚功能图
任务2:编写BCD-7段数码管显示 译码器电路的VHDL程序
1.已学的when-else语句、withselect两种语句能否完成BCD-7段数 码管显示译码器电路的设计?

七段译码器设计(含程序)

七段译码器设计(含程序)

七段译码器设计一、实验目的1、掌握7段数码管的使用方法,学习数字编码的规则;2、进一步熟悉VerilogHDL语言设计方法。

二、硬件、软件要求计算机、DE2-70开发板、Quartus II软件、电源适配器、下载电缆。

三、实验内容及实验原理(一)实验原理:7段数码管的实物图和笔段名称如图1-2.27所示:图1-2.27段数码管实物及笔段名称图七段译码器的作用就是实现8421BCD码到七段码的转换。

对应于共阴(阳)数码管,其真值表如表1-2.2所示:表1-2.2七段译码器真值表输入BCD码对应显示数字dp g f e d c b a(括号内为共阳编码)0000000111111(11000000)0001100000110(11111001)0010201011011(10100100)0011301001111(10110000)0100401100110(10011001)0101501101101(10010010)0110601111101(10000010)0111700000111(11111000)1000801111111(10000000)1001901100111(10011000)(二)实验内容:1、根据真值表,采用Verilog HDL语言自行设计七段译码器。

2、设计完成后,下载至开发板上实现。

(三)实验要求:1、采用Verilog HDL语言设计方法完成七段译码器设计,写出Verilog程序;2、对程序进行功能仿真,仿真无误后进行管脚分配(输入8421BCD码:SW0-SW3,输出七段码:HEX0_D[0]-HEX0_D[6]),编译后将编程文件下载到DE2-70开发板,进行功能验证,并观察实验结果。

程序设计如下:module decoder7(data_in,data_out);input[3:0]data_in;output[7:0]data_out;reg[7:0]data_out;always@(data_in)begincase(data_in)4'b0000:data_out=8'b01000000;4'b0001:data_out=8'b01111001;4'b0010:data_out=8'b00100100;4'b0011:data_out=8'b00110000;4'b0100:data_out=8'b00011001;4'b0101:data_out=8'b00010010;4'b0110:data_out=8'b00000011;4'b0111:data_out=8'b01111000;4'b1000:data_out=8'b00000000;4'b1001:data_out=8'b00011000;default:data_out=8'b01111111;endcaseend endmodule。

7段显示译码器设计实验报告

7段显示译码器设计实验报告

数字钟实验报告学生专业:电子信息工程学生班级:151143C学生学号:*********学生姓名:***7段显示译码器设计151143324 ***一、实验目的:学习七段数码显示译码器设计,多层次设计方法和总线数据输入方式的仿真。

二、实验原理:7段BCD码译码器的设计,输出信号Segmentout的7位分别接数码管的7个段,高位在左,低位在右。

例如当Segmentout输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1,接有高电平的段发亮,于是数码管显示数字“5”。

如果是共阳极的数码显示器,则8段输出应取反,段显码为“10010010”,使用时要注意数码管的接法。

实际产品设计中,一般会用到多个数码管,显示几位数字。

4位数的7段数码管,4位数字共用同样的段输出。

若只想让第一个位显示,其他的位不显示,那么可以只给第一位数字供电,其他的断电,用4LED来控制的,4LED输出0001即可,若只让第二位显示则4LED输出0010即可。

这里的4LED选择控制要显示的位,称为位选。

三、实验内容:module BCD_Segment7(BCDin,Segmentout,Select);input[3:0]BCDin;output Select;output [6:0]Segmentout;reg[6:0]Segmentout;always@(BCDin)begincase(BCDin)4'h0:Segmentout=7'b1000000;4'h1:Segmentout=7'b1111001;4'h2:Segmentout=7'b0100100;4'h3:Segmentout=7'b0110000;4'h4:Segmentout=7'b0011001;4'h5:Segmentout=7'b0010010;4'h6:Segmentout=7'b0000010;4'h7:Segmentout=7'b1111000;4'h8:Segmentout=7'b0000000;4'h9:Segmentout=7'b0010000;4'hA:Segmentout=7'b0001000;4'hB:Segmentout=7'b0000011;4'hC:Segmentout=7'b1000110;4'hD:Segmentout=7'b0100001;4'hE:Segmentout=7'b0000110;4'hF:Segmentout=7'b0001110;default:Segmentout=7'bxxxxxxx;endcaseendassign Select=1'b0;endmodule四、时序仿真波形:引脚设定时序仿真波形参考设置:1、设置仿真时间。

BCD码显示译码器的设计

BCD码显示译码器的设计

BCD码显示译码器的设计在设计BCD码显示译码器时,需要考虑以下几个方面:1.确定编码方式:BCD码可以使用8421编码或2421编码。

在8421编码中,每位十进制数由四位二进制数表示;在2421编码中,0-9的数字用四位二进制数表示,其中10-15的数字使用三位编码。

2.确定输入和输出:BCD码显示译码器的输入是BCD编码,输出是数字或字符表示。

根据需求,可以设计为七段显示器(常用于数字显示)或者数码管(常用于显示字母、符号等)。

3. 设计真值表或Karnaugh图:根据编码方式和输入输出的定义,可以绘制真值表或Karnaugh图来设计译码器。

真值表列出了所有可能的输入和对应的输出;Karnaugh图则将输入和输出进行组织和优化,以简化电路设计。

4. 选择适当的逻辑门:译码器可以使用与门(AND)、或门(OR)、非门(NOT)、与非门(NAND)和异或门(XOR)等逻辑门组成。

根据真值表或Karnaugh图,选择适当的逻辑门以实现所需的函数。

5.需要考虑面向对象方面的设计,根据功能的划分将设计的逻辑块进行模块化。

以下是一个以BCD码8421编码为例的BCD码显示译码器设计示例:输入:BCD码(A3A2A1A0)输出:七段显示器(a-f)其中,每个a-f对应七段显示器的a段到f段。

设计步骤:1.根据输入的BCD码,确定数字0-9对应的输出控制线的状态。

根据8421编码,可以得到如下的真值表:```BCD码,abcdef-------,-----------0000,1111110001,0110000010,1101100011,1111000100,0110010101,1011010110,1011110111,1110001000,1111111001,111001```2.根据真值表,可以使用逻辑门来实现每个控制线的控制逻辑。

这里可以使用与门和或门来实现。

a=A3'A2'A1'A0'+A3'A2'A1A0'+A3'A2A1'A0'+A3'A2A1A0'+A3A2'A1'A0 '+A3A2'A1A0+A3A2A1'A0+A3A2A1A0b=A3'A2'A1'A0+A3'A2'A1A0'+A3'A2A1'A0+A3'A2A1A0'+A3A2'A1'A0'+ A3A2'A1A0+A3A2A1'A0'+A3A2A1A0'c=A3'A2'A1A0+A3'A2A1'A0+A3'A2A1A0'+A3A2'A1'A0'+A3A2'A1'A0+A3 A2'A1A0d=A3'A2A1'A0'+A3'A2'A1A0+A3A2'A1'A0+A3A2'A1A0+A3A2A1'A0'+A3A 2A1'A0+A3A2A1A0'+A3A2A1A0e=A3'A2'A1'A0'+A3'A2'A1A0'+A3'A2A1'A0+A3A2'A1'A0'+A3A2'A1'A0 +A3A2A1'A0'+A3A2A1A0'+A3A2A1'A0'f=A3'A2'A1'A0+A3'A2'A1A0+A3'A2A1'A0+A3'A2A1A0'+A3A2'A1'A0+A3 A2'A1'A0'+A3A2'A1A0+A3A2A1'A0注意:使用上面的逻辑等式时,数字后面的引号表示对应输入取反。

实验三 BCD七段显示译码器

实验三 BCD七段显示译码器

实验名称 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;六、实验结果七、心得体会操作更加熟练。

实验六 BCD七段显示译码器的设计

实验六 BCD七段显示译码器的设计

浙江大学城市学院实验报告纸一.实验目的(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 七段显示译码器的方法和自己编写类似的程序。

七段译码器的设计

七段译码器的设计

课程设计题目:Seven-Segment Decoder design 七段译码器指导教师:陈彦学号姓名2012059170003 段涛2012059170004 方继茂2012059170005 姜哲2012059170008 李天闰2014年4月1.电路说明:译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。

有一些译码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许译码或禁止译码。

BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号,称4—7译码器(seven-segment decoder)。

若用它驱动共阴LED数码管,则输出应为高有效,即输出为高(1)时,相应显示段发光。

例如,当输入8421码DCBA=0100时,应显示4,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为=0110011。

LED显示器由7条线段围成8字型,每一段包含一个发光二极管。

外加正向电压时二极管导通,发出清晰的光。

只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。

LED数码管有共阳、共阴之分。

使用时,公共阴极接地,7个阳极a ~ g由相应的BCD七段译码器来驱动(控制)。

2.方框图:系统主要功能模块如上三图所示,图一为BCD七段译码器与LED显示器的链接方式,图二为LED显示器内部的电路结构,图三为LED显示器引脚对应的发光二极管。

输入输出LE BI LT D C B A F a F b F c F d F e F f F g显示* * 0 * * * * 1 1 1 1 1 1 1 8* 0 1 * * * * 0 0 0 0 0 0 0 ——0 1 1 0 0 0 0 1 1 1 1 1 1 0 00 1 1 0 0 0 1 0 1 1 0 0 0 0 10 1 1 0 0 1 0 1 1 0 1 1 0 1 20 1 1 0 0 1 1 1 1 1 1 0 0 1 30 1 1 0 1 0 0 0 1 1 0 0 1 1 40 1 1 0 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 1 0 1 0 1 1 1 1 1 60 1 1 0 1 1 1 1 1 1 0 0 0 0 70 1 1 1 0 0 0 1 1 1 1 1 1 1 80 1 1 1 0 0 1 1 1 1 1 0 1 1 90 1 1 1 0 1 0 0 0 0 0 0 0 0 ——0 1 1 1 0 1 1 0 0 0 0 0 0 0 ——0 1 1 1 1 0 0 0 0 0 0 0 0 0 ——0 1 1 1 1 0 1 0 0 0 0 0 0 0 ——0 1 1 1 1 1 0 0 0 0 0 0 0 0 ——0 1 1 1 1 1 1 0 0 0 0 0 0 0 ——1 1 1 * * * * * * * * * * * * (10个有效编码的真值表如下)4.逻辑电路:(由于门级结构较为复杂,为直观表示,将输出分开作图)DCBAF g=(d’c’b’a’+d’c’b’a+d’cba)’可以通过以上7幅逻辑门级电路图来直接制作7段译码器:输入为4位BCD二进制码输出为7个7段译码通过发光二极管可以显示以下9位编码:5.电器线路:1. 实际选片:74HC47与74LS472.连接方式如下图所示:其中74HC47为高电平有效,需要接入共阳LED 显示器,显示器公共端接5V电源,各段经1k限流电阻接七段译码器的输出端。

BCD七段显示译码器的设计报告

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;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二、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 is
port (a:in std_logic_vector(3 downto 0);
y:out std_logic_vector(6 downto 0));
end bcdym;
architecture zhang of bcdym is
begin
process(a)
begin
case a is
when"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 is
port(a:in std_logic_vector(0 to 2);
b:out std_logic_vector(0 to 7)); end bm3_8;
architecture zhang of bm3_8 is
begin
process(a)
begin
case a is
when"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;。

相关文档
最新文档