实验四 7段数码显示译码器的设计

合集下载

十六进制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段数码显示译码器设计
设计一个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实验报告

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段数码显示译码器设计一、实验目的本实验的主要目的是设计一种用于将十六进制数码转化为七段显示的译码器电路。

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

二、实验原理本实验所用到的数码管为共阳数码管,它由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。

实验四 7段数码显示译码器设计

实验四 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变亮,再按两下后变灭。

BCD7段数码管显示译码器电路设计

BCD7段数码管显示译码器电路设计

以上语句等效为: process(indicator, sig)
variable temp : std_logic ; begin
temp := ‘0’ ; temp :=temp xor (sig(0) and indicator(0)); temp :=temp xor (sig(1) and indicator(1)); temp :=temp xor (sig(2) and indicator(2)); temp :=temp xor (sig(3) and indicator(3)); output <= temp ; end process ;Biblioteka 例:变量赋值实现循环语句功能
process(indicator, sig) variable temp : std_logic;
begin temp := ‘0’ ; for i in 0 to 3 loop
temp:=temp xor (sig(i) and indicator(i));
end loop ; output <= temp; end process;
PROCESS (a,b) BEGIN
--sequential statements END PROCESS;
PROCESS BEGIN
-- sequential statements WAIT ON (a,b) ; END PROCESS;
BCD-7段显示译码器工作原理
• BCD-7段译码器是由7个发光二极(LED) 管构成,LED由特殊的半导体材料砷化镓、 磷砷化镓等制成,组装成分段式或点阵式 LED显示器件(半导体显示器)。分段式显示 器(LED数码管)由7条线段围成8型,每一段 包含一个发光二极管。外加正向电压时二 极管导通,发出清晰的光,有红、黄、绿 等色。只要按规律控制各发光段的亮、灭, 就可以显示各种字形或符号。

译码显示电路实验报告

译码显示电路实验报告

实验四译码显示电路一、实验目的1. 掌握中规模集成译码器的逻辑功能和使用方法2. 熟悉数码管的使用二、实验仪器及器件1.器件:74LS48, 74LS194 , 74LS73,74LS00 ,74LS197, 74LS153, 74LS138,CLOCK,MPX4-CC-BULE, MPX8-CC-BULE, 及相关逻辑门三、实验预习1. 复习有关译码显示原理。

2. 根据实验任务,画出所需的实验线路及记录表格。

四、实验原理1. 数码显示译码器(1)七段发光二极管(LED)数码管LED数码管是目前最常用的数字显示器,图(一)(a)、(b)为共阴管和共阳管的电路,(c)为两种不同出线形式的引出脚功能图。

(注:实验室实验箱上数码管为共阴四位数码管)一个LED数码管可用来显示一位0~9十进制数和一个小数点。

小型数码管(寸和寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~,每个发光二极管的点亮电流在5~10mA。

LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。

(a) 共阴连接(“1”电平驱动) (b) 共阳连接(“0”电平驱动)(c) 符号及引脚功能图(一)LED数码管(2)BCD码七段译码驱动器此类译码器型号有74LS47(共阳),74LS48(共阴),CC4511(共阴)等,本实验系采用74LS48 BCD码锁存/七段译码/驱动器。

驱动共阴极LED数码管。

图(二)为74LS48引脚排列。

其中A0、A1、A2、A3—BCD码输入端a、b、c、d、e、f、g—译码输出端,输出“1”有效,用来驱动共阴极LED数码管。

LT—灯测试输入端,LT=“0”时,译码输出全为“1”BIR=“0”时,不显示多余的零。

R—灭零输入端,BIBI—作为输入使用时,灭灯输入控制端;作为输出端使用时,灭零输出RBO/端。

七段数码管的动态扫描显示实验报告

七段数码管的动态扫描显示实验报告

实验四七段数码管的动态扫描显示一、实验目的1.进一步熟悉QuartusII软件进行FPGA设计的流程;2.掌握利用宏功能模块进行常用的计数器,译码器的设计;3.学习和了解动态扫描数码管的工作原理的程序设计方法;二、实验原理及过程实验板上面常用的4为联体的共阳极7段数码管。

其接口电路是把所有数码管的8个笔划段a-h同名端连接起来,而每一个数码管由一个独立的公共极COM端控制。

对于这种结构的数码管,采用动态显示的方法是最为广泛的一种显示方式之一。

在轮流点亮的过程中每位显示器的点亮时间都极为短暂,但由于人的视觉暂留现象以及发光二极管的余晖效应,尽管实际上每个显示器并非同时点亮,但只要扫描的速度足够快(如达到30Hz 以上),给人的印象就是一组稳定的显示数据,不会有闪烁感。

本次实验要求在实验板上实现显示00000000-99999999的十进制计数器。

使用的是宏模块产生一个16位的二进制计数器counter()作为4个数码管的显示数据;编写一个分频模块div,其输出作为计数器counter()的时钟信号;编写数码管驱动模块segmain,完成7段译码和扫描显示控制1、建立工程,并建立顶层图。

2、设计计数时钟设计一分频器,对50Mhz分频输出到计数器,让计数器以较慢速度递增。

建立.v文件,输入以下代码module int_div(clk,div_out);input clk;output reg div_out;reg[31:0] clk_div;parameter CLK_FREQ='D50_000_000;parameter DCLK_FREQ='D10;always@(posedge clk)beginif(clk_div<CLK_FREQ/DCLK_FREQ)clk_div<=clk_div+1;elsebeginclk_div<=0;div_out=~div_out;endendendmodule输入完成后,将该文件设为顶层文件,并分析该设计文件,用于检查设计错误。

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、设置仿真时间。

实验四_计数译码显示

实验四_计数译码显示

实验四 计数、译码、显示综合实验一、实验目的1、熟悉计数、译码、显示电路的工作原理及电路结构;2、了解计数器、译码器和显示器的逻辑功能;3、运用计数器、译码器和显示集成组件进行计数显示。

二、实验原理该实验电路由计数、译码、显示三部分构成。

计数单元是集成电路74LS192,它的引脚排列如图1。

74LS192是由四组触发器按8421BCD 码形式构成的十进制计数器,它具有双时钟输入,可进行加法和减法计数。

此外,还具有异步清零、异步置数和状态保持的功能。

它的功能真值表如表1所示。

译码电路采用集成电路74LS248,它是七段LED 字符显示译码器,其引脚排列如图2所示,输入的BCD 码由A 0、A 1、A 2、A 3输入,然后按字形规则译码后从Y 输出,输出端Y a 、Y b …..Y g 对CR VCC D 0D 1D 2D 3Q 0Q 2Q 1Q 3GNDCP D CP U BO CO LD图1. 74LS192引脚图表1. 74LS192功能表应于图3所示数码字形的a 、b 、……g 段。

本实验选用的显示器为共阴极型七段LED 显示器,七段中的每一段(取名为a 、b 、c 、d 、e 、f 、g )均是一个发光二极管,当显示某一数字,例如显示“4”时,输入端f 、g 、b 、c 必须是高电平使相应字段发光。

74LS248的输入BCD 码与输出译码之间的对应关系如表2所示。

74LS192、74LS248及数码管相应端口的连接关系如图4所示。

在计数状态下,74LS192的输出端Q 3、Q 2、Q 1、Q 0有相应的计数输出传送到译码器74LS248的输入端,经74LS248译码后的输出传送到数码管的对应输入,即可显示输入的计数脉冲数。

图2. 74LS248引脚图图3. 数码管表2. 74LS248的输入BCD 码与输出译码之间的对应关系图4. 74LS192、74LS248及数码管相应端口的连接关系三、实验内容及实验报告要求1、首先根据图4在实验板上将74LS192、74LS248及数码管的相应端口连接好。

实验四 7段数码显示译码器的设计

实验四  7段数码显示译码器的设计

实验四 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。

实验四 八位七段数码管动态显示电路的设计

实验四 八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计一、实验目的1、了解数码管的工作原理。

2、学习七段数码管显示译码器的设计。

3、学习VHDL的CASE语句及多层次设计方法。

二、实验原理七段数码管是电子开发过程中常用的输出显示设备。

在实验系统中使用的是两个四位一体、共阴极型七段数码管。

其单个静态数码管如下图4-4-1所示。

图4-1 静态七段数码管由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。

反之则不亮。

共阳极性的数码管与之相么。

四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。

八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。

三、实验内容本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。

在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。

四、实验步骤1、打开QUARTUSII软件,新建一个工程。

2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。

3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。

4、编写完VHDL程序后,保存起来。

方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。

6、编译仿真无误后,根据用户自己的要求进行管脚分配。

分配完成后,再进行全编译一次,以使管脚分配生效。

7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。

如果是调用的本书提供的VHDL代码,则实验连线如下:CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。

KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。

七段数码显示译码器设计

七段数码显示译码器设计

实验一七段数码显示译码器设计一、实验目的:1.完成七段数码显示译码器的设计,学习组合电路设计;2.学习多层次设计方法。

3.锻炼使用Verilog HDL 语言编程的能力。

二、实验原理:1.七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。

2.七段码输入与输出的原理与真值表关系。

a)输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的“0”到“F”。

b)输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。

一般规定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。

本实验使用的七段数码为共阴极,其电路图如图1所示。

图1 共阴数码管及其电路c)输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,表2-1 七段字符显示真值表数码A3 A2 A1 A0 A B C D E F G 对应码(h)0 0 0 0 0 1 1 1 1 1 1 0 7E1 0 0 0 1 0 1 1 0 0 0 0 302 0 0 1 0 1 1 0 1 1 0 1 6D3 0 0 1 1 1 1 1 1 0 0 1 794 0 1 0 0 0 1 1 0 0 1 1 335 0 1 0 1 1 0 1 1 0 1 1 5B6 0 1 1 0 1 0 1 1 1 1 1 5F7 0 1 1 1 1 1 1 0 0 0 0 708 1 0 0 0 1 1 1 1 1 1 1 7F9 1 0 0 1 1 1 1 1 0 1 1 7BA 1 0 1 0 1 1 1 0 1 1 1 77上,需要进行引脚分配。

一、实验步骤:(1) 创建工程文件(2) 创建原理图设计文档(3) 利用ESC绘制电路图进行功能设计(4) 执行综合(5) 设计测试平台文件(6) 执行功能仿真(7) 执行实现、添加约束文件(8) 执行时序仿真(9) 生产位流文件,配置目标芯片Verilog HDL程序:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 18:47:07 03/10/2013// Design Name:// Module Name: ssss// Project Name:// Target Devices:// Tool versions:// Description://// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments:////////////////////////////////////////////////////////////////////////////////////module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg );input a, b, c, d, en;output reg sega, segb, segc, segd,sege,segf,segg;reg [1:7] segs;always @(a or b or c or d or en) beginif (en)case ({d, c, b, a})0:segs = 7'b1111110; //01:segs = 7'b0110000;2:segs = 7'b1101101;3:segs = 7'b1111001;4:segs = 7'b0110011;5:segs = 7'b1011011;6:segs = 7'b0011111;7:segs = 7'b1110000;8:segs = 7'b1111111;9:segs = 7'b1110011; //910:segs = 7'b1110111;//1011:segs = 7'b0011111;12:segs = 7'b1001110;13:segs = 7'b0111101;4:segs = 7'b10011111;15:segs = 7'b1000111;15default segs = 7'bx;endcaseelsesegs = 7'b0;{sega, segb, segc, segd,sege,segf,segg} = segs; endEndmodule实验过程中得到的图片:实验体会:本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之。

实验四 显示原理及译码显示电路设计

实验四  显示原理及译码显示电路设计

实验四 显示原理及译码显示电路设计一、实验目的1、 掌握发光二极管、数码显示管。

液晶显示器的工作原理、结构和使用方法。

2、 掌握各种集成译码器及译码显示电路的工作原理和使用方法。

二、实验仪器设备与主要器件1、 设备:实验箱一个;双踪示波器一台;稳压电源一台。

2、 操作用器件:74LS247、74LS47、74LS48、BS201数码管(共阳)、BS202数码管(共阴)。

3、 仿真器件:7446、7447;数码管三种:DCD HEX (内带译码功能)、SEVEN_SEG_COM_K (共阴)、SEVEN_SEG_DISPLAY (共阳) 三、实验原理数字系统中的测量或运算结果都需要用数字直观地显示出来,以便见识数字系统的工作状态。

数码显示电路通常由译码、驱动和显示等几部分组成。

数码静态显示原理框图如图所示。

当数字输入稳定后,就可以在数码管上显示,只要输入数字不变,则显示也不变。

实现此逻辑功能的电路包括7段译码器、数码管。

数码管一般采用共阳极或共阴极接法。

若7段译码器采用74LS247,则数码管采用共阳极接法。

1、 共阳型7段字符译码器74LS247有4位BCD 代码数据输入端D 、C 、B 、A ,7个译码代码a-g 输出端,低电平有效。

通过限流电阻R 与数码管对应相连,可直接驱动指示灯或共阳极LED 。

(7段译码器的逻辑符号)还有三个控制端,分别为LTRBI 和BI /RBORBI 位灭零输入。

设置灭零输入信号RBI 的目的是为了把不希望现实的零熄灭。

LT 为灯测试输入。

LT=0时,灯全亮。

正常工作时LT=1.BI/RBO 位灭灯输入/灭零输出信号。

做输入端使用时,成为灭灯输入控制端,BI=0时,无论D 、C 、B 、A 的状态是什么,数码管的各段同时熄灭。

BI/RBO 做输出端使用时,成为灭零输出端。

当D 、C 、B 、A 均为低电平,而且有灭零输入信号(RBI=0)时,RBO 才为低电平。

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

实验四 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进行分析和总结。

相关文档
最新文档