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

实验名称:十六进制7段数码显示译码器设计实验目的:1.设计七段显示译码器2.学习文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;工作原理:7段数码是纯组合电路,通常的小规模专用,如74或4000系列的器件只能作十进制码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在中来实现。
例如6-18作为7段译码器,输出信号7S的7位分别接图6-17数码管的7个段,高位在左,低位在右。
例如当7S输出为“1101101”时,数码管的7个段分别接1,1,0,1,1,0,1;接有高电平的段发亮,于是数码管显示“5”。
注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的7 (6 0)应改为…(7 0)。
实验内容1:将设计好的译码器程序在上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
实验步骤:步骤1:新建一个文件夹击打开文件;步骤2:编写源程序并保存步骤3:新建一个工程及进行工程设置步骤4:调试程序至无误;步骤5:接着新建一个文件及展出仿真波形设置步骤6:输入数据并输出结果(时序仿真图)步骤7:设置好这个模式步骤8:生成原理图步骤9:引脚锁定及源代码;1164;7S(A (3 0);7 (6 0));;7S(A)A"0000"=> 7S<="0111111"; "0001"=> 7S<="0000110"; "0010"=> 7S<="1011011"; "0011"=> 7S<="1001111"; "0100"=> 7S<="1100110"; "0101"=> 7S<="1101101"; "0110"=> 7S<="1111101"; "0111"=> 7S<="0000111"; "1000"=> 7S<="1111111"; "1001"=> 7S<="1101111"; "1010"=> 7S<="1110111"; "1011"=> 7S<="1111100"; "1100"=> 7S<="0111001"; "1101"=> 7S<="1011110"; "1110"=> 7S<="1111001"; "1111"=> 7S<="1110001"; =>;;;;实验内容二:1、硬件测试。
十六进制七段数码显示译码器

十六进制七段数码显示译码器一、实验目的:学习7段数码显示器的Verilog硬件设计。
二、实验原理:7段数码显示器是纯组合电路。
通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD码译码器(其真值表如图(1)所示),然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中来实现。
所以首先要设计一段程序。
设输入的4位码为A[3:0],输出控制7段共阴数码管(如图(2)所示)的7位数据为LED7S[6:0]。
输出信号LED7S 的7位接共阴数码管的7个段,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管7个段g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。
图(1)7段译码器真值表0100 1100110 4 1100 0111001 C 0101 1101101 5 1101 1011110 D 0110 1111101 6 1110 1111001 E 0111 0000111 7 1111 1110001 F图(2)7段共阴数码管三、实验任务:将设计好的Verilog译码器程序在Quartus II上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励信号的设置)。
提示:设定仿真激励信号是用输入总线的方式给出输入信号的仿真数据。
四、实验步骤:(一)、建立工作库文件和编辑设计文文件任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。
7段数码显示译码器设计

7段数码显示译码器设计
设计一个7段数码显示译码器,主要功能是将4位二进制编码转换为用7段LED显示的十进制数。
具体设计过程如下:
1.确定电路的输入和输出:输入为4位二进制编码,输出为7段LED 显示的十进制数。
2.确定译码器类型:由于需要将二进制编码转换为十进制数,可以选用BCD-7段译码器或者十进制译码器作为基本器件。
3.确定电路原理图:根据所选的译码器类型,画出电路原理图。
在原理图中,需要连接一个4位二进制编码器到译码器的输入端,同时将译码器的输出连接到7段LED显示器的相应段。
4.电路连接和布线:将译码器和7段LED显示器连接到电源和接地线上,并将4位二进制编码器的输出连接到译码器的输入端。
5.电源和接地线:将电源和接地线正确连接到电路中,确保电路能够正确工作。
6.电路调试和测试:通过输入不同的4位二进制编码来测试电路的译码功能,确保译码器能够正确地将二进制编码转换为十进制数,并且在7段LED显示器上显示。
7.电路性能优化和改进:根据测试结果,对电路进行进一步的优化和改进。
可以考虑是否需要增加输入的保护电路,或者改进电源和接地线的布线方式来提高电路的性能。
总结:
以上是设计一个7段数码显示译码器的基本步骤,通过选择合适的译码器类型,正确连接电路和调试测试,可以实现4位二进制编码到十进制数的转换,并在7段LED显示器上显示。
在设计过程中,需要注意电路连接的正确性和稳定性,以及对电路的性能进行优化和改进。
数码显示译码器实训报告

一、实训目的通过本次实训,掌握数码显示译码器的基本原理、工作原理及电路设计方法,了解数码显示译码器在数字电路中的应用,提高动手能力和实践技能。
二、实训内容1. 数码显示译码器原理及分类(1)原理:数码显示译码器是一种将二进制、BCD码等编码转换为数码管显示的电路。
它主要由编码器、译码器、驱动器等组成。
(2)分类:根据编码方式,可分为二进制译码器、BCD码译码器、十六进制译码器等;根据输出方式,可分为共阳极译码器和共阴极译码器。
2. 数码显示译码器电路设计(1)共阳极译码器电路设计以4-7译码器为例,输入端为二进制编码,输出端为7段数码管的驱动信号。
电路图如下:```A||+---+---+---+---+| | | | |B---+ | | +---C| | | | |+---+---+---+---+| | | |D---+ | +---E| | | |+---+---+---+---+| | | | |F---+ | | +---G| | | | |+---+---+---+---+H```(2)共阴极译码器电路设计以CC4511BCD译码器为例,输入端为BCD码,输出端为7段数码管的驱动信号。
电路图如下:```A||+---+---+---+---+| | | | |B---+ | | +---C| | | | |+---+---+---+---+| | | |D---+ | +---E| | | |+---+---+---+---+| | | |F---+ | | +---G| | | |+---+---+---+---+H```3. 数码显示译码器应用(1)计时器:将计数器输出的二进制编码转换为数码管显示,实现计时功能。
(2)数码管显示模块:在嵌入式系统、智能仪表等设备中,将数字信号转换为数码管显示,方便用户读取数据。
(3)地址译码:在存储器、I/O端口等地址译码电路中,将地址信号转换为输出端口,实现数据传输。
EDA实验报告

EDA实验报告班级:姓名:目录实验一:七段数码显示译码器设计 (1)摘要 (1)实验原理 (1)实验方案及仿真 (1)引脚下载 (2)实验结果与分析 (3)附录 (3)实验二:序列检测器设计 (6)摘要 (6)实验原理 (6)实现方案及仿真 (6)引脚下载 (7)实验结果与分析 (8)实验三:数控分频器的设计 (11)摘要 (11)实验原理 (11)方案的实现与仿真 (11)引脚下载 (12)实验结果及总结 (12)附录 (12)实验四:正弦信号发生器 (14)摘要 (14)实验原理 (14)实现方案与仿真 (14)嵌入式逻辑分析及管脚下载 (16)实验结果与分析 (17)附录 (18)实验一:七段数码显示译码器设计摘要:七段译码器是一种简单的组合电路,利用QuartusII的VHDL语言十分方便的设计出七段数码显示译码器。
将其生成原理图,再与四位二进制计数器组合而成的一个用数码管显示的十六位计数器。
整个设计过程完整的学习了QuartusII的整个设计流程。
实验原理:七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA\CPLD中来实现。
本实验作为7段译码器,输出信号LED7S的7位分别是g、f、e、d、c、b、a,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管的7个段g、f、e、d、c、b、a分别为1、1、0、1、1、1、0、1。
接有高电平段发亮,于是数码管显示“5”。
实验方案及仿真:I、七段数码显示管的设计实现利用VHDL描述语言进行FPGA上的编译实现七段数码显示译码器的设计。
运行QuartusII在G:\QuartusII\LED7S\下新建一个工程文件。
新建一个vhdl语言编译文件,编写七段数码显示管的程序见附录1-1。
十六进制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 码—七段数码管显示译码器的综合仿真及下载暑期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。
实验四 7段数码显示译码器设计

实验四 7段数码显示译码器设计一、实验目的(1)学习7段数码显示译码器设计;(2)学习VHDL的CASE语句应用及多层次设计方法。
二、实验内容用一个4位二进制加法计数器和一段7段译码器组成电路,并用数码8显示译码输出。
三、实验条件QUARTUSII软件,GW48试验箱,计算机。
四、实验设计(1)系统的原理框图(2)VHDL源程序--四位计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 ISPORT (CLK, CLR, ENA:IN STD_LOGIC;CQ:OUT INTEGER RANGE 0 TO 15;CO:OUT STD_LOGIC);END ENTITY CNT4;ARCHITECTURE ART OF CNT4 ISSIGNAL CQI:INTEGER RANGE 0 TO 15;BEGINPROCESS (CLK,CLR,ENA) ISBEGINIF CLR='1' THEN CQI<=0;ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENCQI<=CQI+1;END IF;END IF;END PROCESS;PROCESS (CLK,CQI)ISBEGINIF CLK'EVENT AND CLK='1' THENIF CQI=15 THEN CO<='1';ELSE CO<='0';END IF;END IF;END PROCESS;CQ<=CQI;END ARCHITECTURE ART;--7位译码器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 ;--顶层文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LED16 ISPORT(CLOCK0, RST0,ENA0: IN STD_LOGIC;LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);OUT0: OUT STD_LOGIC);END ENTITY LED16;ARCHITECTURE ART1 OF LED16 ISCOMPONENT CNT4 ISPORT (CLK, CLR, ENA:IN STD_LOGIC;CQ:OUT INTEGER RANGE 0 TO 15;CO:OUT STD_LOGIC);END COMPONENT;COMPONENT DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;END COMPONENT;SIGNAL TMP : INTEGER RANGE 0 TO 15;BEGINU1:CNT4 PORT MAP(CLOCK0,RST0,ENA0,TMP,OUT0);U2:DECL7S PORT MAP(CONV_STD_LOGIC_VECTOR(TMP,4),LED);END ARCHITECTURE ART1;(3)管脚锁定五、实验结果及总结(1)系统仿真情况(2)硬件验证情况每按动两下键8,数码管显示的数字就会增加1,当显示F时,再按两下数码管变为0,LED8变亮,再按两下后变灭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 7段数码显示译码器的设计
一、设计目的
1、学习7段数码显示译码器的设计方法;
2、掌握多层次的VHDL程序设计方法。
二、设计要求
1、编写7段数码显示译码器的VHDL源程序;
2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;
3、进行仿真波形的测试;
4、写出设计性实验报告。
三、设计提示
1、实验原理提示:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
本项实验很容易实现这一目的。
例6-21作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如图6-21数码管的7个段,高位在左,低位在右。
例如当LED7S输出为 "1101101" 时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、
1、1、0、1,接有高电平的段发亮,于是数码管显示“5”。
2、引脚锁定以及硬件下载测试提示:建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
四、实验报告要求
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。
五、实验思考和总结
1、讨论语句WHEN OTHERS=>NULL的作用。
对于不同的VHDL综合器,此句是否具有相同含
义和功能?
2、用VHDL例化语句(参考实验2)按图3-25的方式,以本章第一节实验三和本节实验一
为底层元件,完成顶层文件设计,并重复以上实验过程。
注意图3-25中的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。
图3-25 计数器和译码器连接电路的顶层文件原理图
3、对实验思考2进行分析和总结。