实验二---7段数码显示译码器

合集下载

LED显示程序设计实验

LED显示程序设计实验

实验二LED数码管驱动显示程序实验一、实验目的1、初步学习和了解VHDL语言编程方式2、学习和掌握七段数码显示译码器的设计方法3、学习和掌握VHDL的多层设计方法二、实验要求1、根据硬件设计的思维方式,编制LED七段码的显示程序2、要求是一位LED以定位方式显示3、完成LED七段码波形分析的显示功能4、在EDA实验箱上按要求显示三、实验设备1、计算机一台2、EDA——Ⅳ实验箱一台四、实验原理1、七段码是用一种纯组合的逻辑电路,通常是用小型专用的IC门电路组成,数字输入与输出表达均未16进制,处理一般较复杂,而用FPGA/CPLD来实现较为简单。

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

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

(b)输出:七段码输出为七个输出信号,分别用“A、B、C、D、E、F、G”七个符号来表示。

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

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

图2.1 共阴极数码管及其电路(c)输入与输关系为四位二进制代码组成十六进制代码,将其代码显示,其对应关系如表2.1所示。

(d)显示方式是通过选位的方式进行,是将FPGA/CPLD的三位二进制的信号输出,通过外部三——八译码器硬件电路,选中一路LED信号为输出,故选择一位LED数码管显示,本实验是采取选相应的一个指定位置进行LED显示。

3、输入是通过外部的四个按键操作而组成一位十六进制。

其连接到FPGA/CPLD的对应的引脚上,需进行引脚分配。

4、编写译码程序,生成底层组件,组合成底层文件。

表2-1 七段字符显示真值表五、实验步骤1、 在D 盘建立自己的文件目录,D: \ EX \ Z04** \ you*\ex*;2、 在Max+Pluse Ⅱ的界面下,自己的文件目录下,建立项目文件 File \ Project \ 文件名A ;3、 在自己的文件目录下,建立文本文件 File \ New \ 文件名B.vhd ;4、 保存此文件并划归到项目文件内, File \ Project \ Set Project current File ,其中文本文件名B 必须和实体名一致;5、 输入程序,保存文件“文件名B.vhd ”,File \ Save As “文件名B.vhd ”(注意后缀,如保存默认文件名时,其后缀通常为“*.tdf ”文件,必须删除后缀为“*.tdf ”文件名;6、 单击编译器快捷方式按钮,对文本文件进行编译,观察是否有原则错误;7、 如有修改则修改程序中错误,若无错误则可做以下工作; 8、 建立底层器件的封装,File \ Create Default Symbol ;9、 建立图形文件,File \ New \ 文件名C.gdf 并化归到项目内。

七段数码管显示实验报告

七段数码管显示实验报告

七段数码管显示实验报告实验目的:本实验的目的是通过控制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段数码管和译码器常常被用于数字显示、计数器、时钟、温度计等电子设备中,具有广泛的应用前景。

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段数码显示译码器设计实验目的: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、硬件测试。

EDA七段码显示译码器4511BD的逻辑功能仿真实验

EDA七段码显示译码器4511BD的逻辑功能仿真实验
74LS279是一种由基本RS触发器构成的四RS锁存器集成电路,其内部共 集成了4个独立的基本RS触发器。
4.4.2 JK触发器逻辑功能仿真实验 JK触发器属边沿触发器的一种,是比较常用的一种触发器。
在Multisim中分为两种:虚拟元件和实际元件
实际元件:
4.4.3 D触发器逻辑功能仿真实验 D触发器也是一种常用的边沿触发器,在Multisim中包含虚拟和实际两类 元件。
实际元件:74LS74
4
U1A
~1PR
2 1D
1Q 5
3 1CLK ~1Q 6
~1CLR 1
74LS74D
通过仿真实验,从波形图中可明显看到: ①时钟脉冲上升沿与Q和Q’反转的对应关系; ②D触发器的特性方程为: Qn1 D ③ Q端输出信号与时钟脉冲信号之间的2分频关系。
4.4 触发器仿真实验
触发器:具有记忆功能,能够存储一位二进制数字信号的基本逻辑单元电 路,是时序逻辑电路的基本单元。
触发器有两种稳定的工作状态,0状态或1状态。当外加不同的触发信号时, 可以把它置成1或0状态。
根据是否有时钟脉冲信号输入,可以把触发器分为时钟触发器和基本触发 器两类。 常用触发器有RS触发器、JK触发器、D触发器和T触发器。
4.4.1 RS触发器逻辑功能仿真实验 1. 基本RS触发器单元仿真实验
基本RS触发器由两个与非门交叉连接组成,它有两个输入端:复位 端R,低电平有效;置位端S,低电平有效。还有两个输出端。
与非门组成的基本RS触发器的状态表Fra bibliotek输入信号
S’
R’
1
1
1
0
0
1
0
0
输出信号
Q
Q’

十六进制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段数码显示译码器电路。

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

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

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

显示译码电路实验报告

显示译码电路实验报告

显示译码电路实验报告显示译码电路实验报告引言:在现代电子技术领域,显示译码电路扮演着重要的角色。

它们可以将数字信号转换为人们可以理解的可视化信息,广泛应用于计算机、电视、手机等设备中。

本实验旨在通过搭建一个显示译码电路,探索其原理和应用。

一、实验目的本实验的目的是了解显示译码电路的工作原理,掌握其基本应用。

通过实践操作,学生们可以更好地理解数字电路的运行机制,提高实际动手能力。

二、实验材料和器件1. 74LS47芯片:这是一种BCD-7段译码器,用于将4位二进制输入转换为7段数码管的输出。

2. 7段数码管:用于显示数字和字母等字符。

3. 连接线、电源等辅助器件。

三、实验步骤1. 连接电路:将74LS47芯片与7段数码管通过连接线连接起来,确保电路连接正确无误。

2. 施加电源:将电路连接到适当的电源上,确保电压和电流符合芯片的工作要求。

3. 输入信号:通过开关或其他输入设备提供4位二进制输入信号。

4. 观察结果:观察7段数码管上显示的字符是否与输入信号对应,验证译码电路的正确性。

四、实验结果与分析经过实验操作,我们成功搭建了显示译码电路,并进行了测试。

在输入4位二进制数的情况下,数码管正确显示了对应的字符。

这表明译码电路能够准确地将二进制信号转换为可视化的字符信息。

通过进一步的观察和分析,我们发现译码电路的工作原理是将输入的二进制数映射到对应的数码管段上。

每个数码管段代表一个二进制位,通过控制该段的通断状态,可以显示不同的字符。

而74LS47芯片则起到了译码的作用,将二进制输入转换为对应的数码管段控制信号。

这种显示译码电路广泛应用于各种计算机和电子设备中。

它使得数字信息可以以更加直观和易读的方式展示给用户,提高了人机交互的效率和便利性。

例如,在计算机屏幕上显示的字符、数字时钟、电子秤等设备都使用了类似的译码电路。

五、实验总结通过本次实验,我们深入了解了显示译码电路的工作原理和应用。

通过实际操作,我们掌握了搭建和测试译码电路的方法,提高了动手实践能力。

实验二 7 段数码管静态显示译码器

实验二 7 段数码管静态显示译码器

实验二7 段数码管静态显示译码器1.实验目的学习quartusii 和modelsim的使用方法;学习原理图和veriloghdl混合输入设计方法;掌握7 段数码管静态显示译码器的设计及仿真方法。

2.实验原理根据下面电路图,设计7 段数码管静态显示译码器电路,在kx3c10F+开发板上实现该电路,并作仿真。

3.实验设备kx3c10F+开发板,电脑。

4.实验步骤4.1编译4.1.1七段数码管代码module segled(out1,a); //定义模块名和输入输出端口input [3:0]a; //输入一个3位矢量output [6:0]out1; //输出一个6位矢量reg [6:0]out1; //reg型变量用于always语句always@(a) //敏感信号啊begincase(a) //case语句用于选择输出4'b0000:out1<=7'b1000000;4'b0001:out1<=7'b1001111;4'b0010:out1<=7'b0100100;4'b0011:out1<=7'b0110000;4'b0100:out1<=7'b0011001;4'b0101:out1<=7'b0010010;4'b0110:out1<=7'b0000011;4'b0111:out1<=7'b1111000;4'b1000:out1<=7'b0000000;4'b1001:out1<=7'b0011000;4'b1010:out1<=7'b0001000;4'b1011:out1<=7'b0011100;4'b1100:out1<=7'b1000111;4'b1101:out1<=7'b0100011;4'b1110:out1<=7'b0000110;4'b1111:out1<=7'b0001110;endcaseendendmodule //模块结束效果图:4.1.2综合模块代码// Copyright (C) 1991-2013 Altera Corporation// Your use of Altera Corporation's design tools, logic functions // and other software and tools, and its AMPP partner logic// functions, and any output files from any of the foregoing// (including device programming or simulation files), and any// associated documentation or information are expressly subject // to the terms and conditions of the Altera Program License// Subscription Agreement, Altera MegaCore Function License// Agreement, or other applicable license agreement, including,// without limitation, that your use is for the sole purpose of// programming logic devices manufactured by Altera and sold by// Altera or its authorized distributors. Please refer to the// applicable agreement for further details.// PROGRAM "Quartus II 64-Bit"// VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition" // CREATED "Mon Mar 27 15:23:18 2017"module Blok(a,out1);input wire [3:0] a;output wire [6:0] out1;segled b2v_inst(.a(a),.out1(out1));endmodule效果图:4.1.3编辑结果截图编译解释:在这个报告中,我们可以看到如下信息:Total logic elements 7/5136(<1%): 该芯片中共有5136个LE资源,其中的7个在这个工程的这次编译中得到了使用。

显示译码电路实验报告

显示译码电路实验报告

一、实验目的1. 理解并掌握显示译码电路的基本原理和工作方式。

2. 学习使用常用的显示译码器芯片,如BCD-7段译码器。

3. 通过实验验证译码器与数码管连接的正确性,并实现数字信号的显示。

4. 提高动手实践能力,加深对数字电路知识的理解和应用。

二、实验原理显示译码电路是数字电路中一种重要的组合逻辑电路,其作用是将输入的二进制或BCD码信号转换为对应的七段LED显示信号。

常见的七段显示器有共阴极和共阳极两种,本实验采用共阴极显示器。

译码器的主要功能是将输入的二进制或BCD码转换为对应的七段显示码。

以BCD-7段译码器为例,其输入为4位BCD码,输出为7个控制信号,分别对应七段LED显示器的7个段。

当输入为0000~1001时,译码器输出相应的段码,使得数码管显示0~9的数字。

三、实验器材1. 数字逻辑实验箱2. 74LS47 BCD-7段译码器3. 共阴极七段数码管4. 连接线5. 电源6. 示波器(可选)四、实验步骤1. 搭建电路根据实验电路图,将74LS47 BCD-7段译码器与共阴极七段数码管连接。

将译码器的输入端A、B、C、D分别连接到实验箱上的数字信号源,输出端a、b、c、d、e、f、g连接到数码管的相应段。

2. 测试电路将实验箱上的数字信号源设置为BCD码输入,依次输入0000~1001,观察数码管显示的数字。

若显示不正确,检查电路连接是否正确,包括译码器、数码管、信号源等。

3. 调试电路若显示不正确,根据译码器的工作原理,分析可能的原因,如译码器芯片损坏、电路连接错误等。

通过排除法,逐步调试电路,直至数码管显示正确。

4. 实验数据记录记录实验过程中数码管的显示结果,并与理论计算结果进行对比。

五、实验结果与分析1. 实验结果通过实验,数码管成功显示了0~9的数字,验证了显示译码电路的正确性。

2. 实验分析实验过程中,通过观察数码管显示结果,发现译码器芯片、电路连接等均正常。

实验结果表明,显示译码电路能够将输入的BCD码转换为对应的七段显示信号,实现数字信号的显示。

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

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

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

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

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

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

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

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

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

反之则不亮。

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

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

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

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

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

实验箱中的拨动开关与FPGA的接口电路,以及开关FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。

数码管显示模块的电路原理如图4-2所示,表4-1是其数码管的输入与FPGA的管脚连接表。

图4-2 数字时钟信号模块电路原理信号名称对应FPGA管脚名说明7SEG-A G6 七段码管A段输入信号7SEG-B G7 七段码管B段输入信号7SEG-C H3 七段码管C段输入信号7SEG-D H4 七段码管D段输入信号7SEG-E H5 七段码管E段输入信号7SEG-F H6 七段码管F段输入信号7SEG-G J4 七段码管G段输入信号7SEG-DP L8 七段码管dp段输入信号7SEG-SEL0 G5 七段码管位选输入信号7SEG-SEL1 G3 七段码管位选输入信号7SEG-SEL2 F4 七段码管位选输入信号表4-1 数码管与FPGA的管脚连接表四、实验步骤1、打开QUARTUSII软件,新建一个工程。

EDA实验二_VHDL七段数码管显示译码

EDA实验二_VHDL七段数码管显示译码

EDA实验二七段数码管显示译码的设计一、实验目的1、掌握七段数码管译码器的工作原理;2、学会运用波形仿真测试检验程序的正确性;3、学会运用波形仿真测试检验程序的正确性。

二、实验设备ZYE1502C型实验箱三、内容要求1、用拨位开关输入8421BCD码,七段数码管显示“0-F”16个16进制的数字。

2、观察字符亮度和显示刷新的效果:(1)在8个七段数码管上同时显示某一数字;(2)在8个七段数码管上动态显示某一数字。

3、扩展内容:(1)动态显示时,能即时改变显示的顺序;(2)动态显示时,实现显示数字从0~F的循环显示。

四、实验步骤1、输入:设计部分采用VHDL语言完成;2、编译;3、仿真;4、下载;5、连线。

(1)四个拨位开关(在P1、P2处选择)连接D3、D2、D1、D0信号所对应的管脚。

时钟CLK所对应的管脚同实验箱上的时钟源相连。

(2)扫描片选信号DIG(0 TO 3)的管脚同七段数码管(共阴)相连;(3)七段数码管驱动信号A,B,C,D,E,F,G的管脚分别同扫描数码管的段输入PCLK处的连接线孔A,B,C,D,E,F,G相连。

五、实验报告1、论述实验过程和步骤;2、填写正确的实验结果。

(1)通过两种显示效果分析:字符显示亮度同扫描频率的关系,且让人眼感觉不出光闪烁现象的最低扫描频率是多少?答:扫描频率越高,显示亮度越低。

人眼看是否闪烁与所用的时钟和分频方式有关,在频率稳定和分频均匀的情况下,最低扫描频率为256Hz,若分频不均匀或频率不稳定,则需更高频率。

(2)字形编码的种类,即一个7段数码管可产生多少种字符,产生所有字符需要多少根被译码信号线?答:一个7段数码管可产生2^7=128种字符,产生所有字符至少需要7根被译码信号线。

但假如只编译0-F,16个字符,则至少只需要4根被译码信号线。

六、实验小结。

答:1、不同控制端需要预先分配控制优先级,否则编写的时候会出现很多问题。

优先级分为普通和特殊,一般错误情况可以跨越权限显示出来。

基于DE2十六进制7段数码显示译码器verilog设计

基于DE2十六进制7段数码显示译码器verilog设计

实验一十六进制7段数码显示译码器设计一、实验目的1.熟悉硬件逻辑电路的一般设计和测试流程;2.嵌入式逻辑分析仪使用方法;实验内容了解硬件的层次化设计,通过半加器完成一个四位无符号数的全加器设计二、实验内容及步骤:1.用Verilog HDL设计1位7段数码管的显示译码电路,能够显示0~f。

显示数字由SW3~SW0设定;2.使用嵌入式逻辑分析仪进行仿真;3.将实验程序下载到DE2运行。

实验结果仿真波形三、实验程序:module lm7448(IN,OUT);input [3:0]IN;output [6:0]OUT;reg [6:0]OUT;always@(IN)case(IN)4'b0000:OUT<=7'b0000001;4'b0001:OUT<=7'b1001111;4'b0010:OUT<=7'b0010010;4'b0011:OUT<=7'b0000110;4'b0100:OUT<=7'b1001100;4'b0101:OUT<=7'b0100100;4'b0110:OUT<=7'b1100000;4'b0111:OUT<=7'b0001111;4'b1000:OUT<=7'b0000000;4'b1001:OUT<=7'b0001100;4'b1010:OUT<=7'b0001000;4'b1011:OUT<=7'b0000000;4'b1100:OUT<=7'b0110001;4'b1101:OUT<=7'b0000001;4'b1110:OUT<=7'b0110000;4'b1111:OUT<=7'b0111000;default : OUT=7'b0000001;endcaseendmodule四、实验结果。

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

七段译码器实验报告

七段译码器实验报告

综合实验一七段译码器班级——姓名——学号————一、实验目的用VHDL语言设计七段译码器二、实验内容观察七段数码管的真值表,用VHDL语言设计七段译码器三、实验方法采用基于FPGA进行数字逻辑电路设计的方法。

采用的软件工具是MaxplusⅡ软件仿真平台,采用的硬件平台是AlteraEPF10K20TI144_4的FPGA实验箱。

四、实验步骤1. 输入源代码。

打开Maxplus ,点击File -> Project -> Name ,新建工程名为“se7_decoder”,完成点击OK。

然后点击File -> New ,选择Text Editor file ,完成点击OK。

最后输入七段译码器的VHDL 源代码并保存为当前工程名。

2.调试编译。

选择芯片类型:点击Assign -> Device ,选择芯片类型为EPF10K20TI144-4 ,完成点击OK。

再点击MAX+plusII下的Compiler ,直到调试成功如图:3.波形仿真。

点击MAX+plusII-> waveform editor-> Node -> Enter nodes from SNF-> List-> =>-> OK,右击各引脚,设置输入信号值、周期和结束时间,点击存盘,点击MAX+plusII -> Simulator完成波形仿真。

4.时序分析。

点击MAX+plusII下的Timing Analyzer ,完成时序分析如图所示:5. 引脚锁定。

点击Assign -> Pin/Location/Chip,添加各引脚信息,再对文件重新编译一次。

6. 编程下载。

连接好计算机和实验箱,打开电源。

点击MAX+plusII -> Programer →Configure完成下载,验证。

实验小结:总体来说,这次实验完成的还算顺利,初步了解了一点VHDL代码的编写,好像这个代码和真值表密切相关,把他们之间的对应关系找出来就行了,其他不在范围的要用强制规定一下,应该是起排除干扰的作用吧,或者像C++抛出异常也应该可以。

实验二编码器和译码器的应用

实验二编码器和译码器的应用

实验二编码器和译码器的应用一.实验目的:1.学会正确使用中规模集成组合逻辑电路。

掌握编码器、译码器、BCD七段译码器、数码显示器的工作原理和使用方法。

2.掌握译码器及其应用, 学会测试其逻辑功能。

二.实验仪器及器件:1. TPE—D6Ⅲ型数字电路实验箱 1台2.数字万用表 1块3.器件:74LS20 二4输入与非门 1片74LS04 六反相器 1片74LS147 10线—4线优先编码器 1片74LS138 3线—8线译码器 1片74LS139 双2线—4线译码器 1片74LS47 七段显示译码器 1片三.实验预习:1.复习编码器、译码器、BCD七段译码器、数码显示器的工作原理。

2.熟悉编码器74LS147及译码器74LS138、74LS139各引脚功能和使用方法,列出74LS138、74LS139的真值表,画出所要求的具体实验线路图。

四.实验原理:在数字系统中,常常需要将某一信息变换为特定的代码,有时又需要在一定的条件下将代码翻译出来作为控制信号,这分别由编码器和译码器来实现。

1.编码:用一定位数的二进制数来表示十进制数码、字母、符号等信息的过程。

编码器:实现编码功能的电路。

编码器功能:从m个输入中选中一个,编成一组n位二进制代码并行输出。

编码器特点:(1)多输入、多输出组合逻辑电路。

(2)在任何时候m个输入中只有一个输入端有效(高电平或低电平)对应有一组二进制代码输出。

编码器分类:二进制、二─十进制、优先编码器。

2.译码:是编码的反过程,是将给定的二进制代码翻译成编码时赋予的原意。

译码器:实现译码功能的电路。

译码器特点:(1)多输入、多输出组合逻辑电路。

(2)输入是以n位二进制代码形式出现,输出是与之对应的电位信息。

译码器分类:通用译码器:二进制、二─十进制译码器。

显示译码器:TTL共阴显示译码器(用高电平点燃共阴显示器)、TTL共阳显示译码器(用低电平点燃共阳显示器)、CMOS显示译码器。

译码器应用:用于代码的转换、终端的数字显示、数据分配、存贮器寻址组合信号控制等。

译码器实验报告

译码器实验报告

译码器实验报告
实验目的:掌握和理解译码器的工作原理和使用方法。

实验器材:
1. 译码器(例如74LS138)
2. 逻辑开关
3. 电源
4. 七段数码显示器
5. 连接线
实验原理:
译码器是一种数字电路,用于将输入的二进制信号转换为对应的输出信号。

译码器常用于将计算机的控制信号转换为具体的操作信号,例如将二进制数码转换为七段数码显示器的控制信号。

实验步骤:
1. 将译码器连接到电源上,确保接线正确。

2. 用逻辑开关设置输入信号。

3. 通过连接线将译码器的输出信号连接到七段数码显示器上。

4. 打开电源,观察七段数码显示器上显示的数字是否与输入信号对应。

5. 可以通过改变逻辑开关的状态来改变输入信号,观察七段数码显示器上显示的数字是否随之改变。

实验结果:
通过逻辑开关设置不同的输入信号,观察到七段数码显示器上
显示的数字与输入信号的对应关系,并且随着输入信号的改变而实时改变。

实验结论:
通过译码器的译码作用,可以将输入的二进制信号转换为对应的输出信号,实现数字信号的转换和显示。

译码器的使用大大简化了数字电路的设计和控制。

实验注意事项:
1. 在连接实验电路的过程中,注意正确接线,避免短路和接反等问题。

2. 实验中应当仔细观察七段数码显示器上的数字是否与输入信号对应,以验证译码器的正常工作。

3. 在实验结束后,应及时关闭电源,避免浪费电力和设备损坏的风险。

实验二译码器及其应用

实验二译码器及其应用

实验二译码器及其应用一、实验目的1.掌握中规模集成译码器的逻辑功能和使用方法。

2. 熟悉七段数码管的使用。

二、实验原理译码器是一个多输入、多输出的组合逻辑电路。

它的作用是将具有特定含义的输入代码进行"翻译",转换成对应的输出信号。

译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据的分配、存储器寻址和组合控制信号等。

不同的功能可选用不同种类的译码器。

译码器可分为通用译码器和专用译码器两大类。

通用译码器包括二进制译码器(又称变量译码器)、二十进制译码器和代码转换器等,专用译码器有显示译码器等。

1.二进制译码器二进制译码器又称变量译码器,用于表示输入变量的状态,如2-4 线、3-8 线和4-16 线译码器。

若有n个输入变量,则有2n个输出端供其使用。

而每一个输出所代表的函数对应于n个输入变量的最小项。

图2.1 所示为3-8 线译码器74LS138 的逻辑符号及引脚功能。

其中A2、Al、A 0为地址输人端,YO-Y7为译码输出端, El、E2、E3为使能端。

表2.1 为74LS138功能表。

当El = 1,E2+ E3=0 时,器件使能,地址码所指定的输出端有信号输出(为0) ,其他所有输出端均无信号输出(全为1)。

当E2 + E3=X时(0或1),或El=X,E2+ E3=1时,译码器被禁止,所有输出同时为1。

表2.1 74LS138 逻辑功能表利用使能端能方便地将两个3-8线译码器组合成一个4-16线译码器,如图2.3所示。

图2.3 用两片74LS138 组合成4-16 线译码器原理图2. 数码显示译码器(1)七段发光二极管(LED) 数码管。

LED数码管是目前常用的数字显示器,图2.4(a)、( b) 为共阴数码管和共阳数码管的电路,图2.5为这两种数码管的符号及各段布置图。

一个LED 数码管可用来显示一位0-9 十进制和一个小数点。

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

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

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

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

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

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

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

3、设计计数时钟设计一分频器, 对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输入完成后, 将该文件设为顶层文件, 并分析该设计文件, 用于检查设计错误。

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

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

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

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

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

【实验原理】
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的。

为了满足16进制数的译码显示,利用Verilog译码程序在FPGA/CPLD中来实现。

首先要设计一段程序,该程序可用case语句表述方法,根据真值表写出程序。

设输入的4位码为IN[3:0],输出控制7段共阴数码管的七位数据为led7[6:0]。

首先完成7段BCD码译码器的设计。

本实验中的7段译码管输出信号led7的7位分别接数码管的7个段,高位在左,低位在右。

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

【共阴数码管】
【程序源代码】(加注释)
module LED7(IN,led7);
input [3:0] IN; //定义LED7的4位数据输入端口
output [6:0] led7;// 定义LED7的7位数据输出端口
reg[6:0] led7; //定义一个模块内部的暂存变量led7[6:0]
always @(IN) begin //主块开始
case(IN)
4'b0000: led7<=7'b0111111;//输入为“0”时,数码管显示“0”
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<=0; //输入不在“0—9”时,数码管显示“0”
endcase
end //主块结束
endmodule
【RLT电路】
【仿真和测试结果】
功能分析:在仿真结果中,输入IN采用十进制形式,输出led7采用二进制形式。

如图当输入为“1”时,相应的输出为“”。

输入与输出的关系与表4-12 BCD
七段译码器真值表相对应。

【管脚分配】
分析:图中输入为“0011”,其中,“1”对应的灯亮,“0”对应的灯不亮。

LED7相应
的输出为“”时,数码管的7个段:a,b,c,d,e,f,g分别接1、1、1、1、0、0、
1;接有高电平的段发亮,于是数码管显示“3”。

【实验心得和体会】
通过实验,我能将从书本上学到的知识应用于实践,学会了如何使用Verilog HDL文本文件进行逻辑设计输入源程序及仿真工具的使用方法,但在实验中也遇到了不少问题,多愧老师的指导。

同时,我明白了:在我们遇到不明白的问题时首先应独立思索,若自己实在无法解决,要及时请教于老师和同学,并能充分利用图书馆的资料,搜索查找所需信息。

俗话说:熟能生巧,我相信只要我练习,多思索,就会有进步。

相关文档
最新文档