七段数码显示译码器设计

合集下载

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、硬件测试。

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

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

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

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

七段数码管显示译码器

七段数码管显示译码器

七段数码管显示译码器本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March可编程逻辑器件技术项目设计报告课题名称:七段数码管显示译码器班级:13电子(2)班姓名:许宋如指导老师:龚兰芳一、设计要求1)用VHDL语言设计一个可以实现以下功能的程序:输入时思位二进制数,输出时对应的十进制。

2)用四个开关代表四位二进制数,单个数码管显示对应的十进制数。

3)编完程序之后并在开发系统上进行硬件测试。

二、任务分析用来驱动各种显示器件,从而将用二进制代码表示的数字,文字,符号翻译成人们习惯的形式直观的显示出来的电路,称为显示译码器。

这种显示译码器用多种发光器件构成。

例如半导体发光二极管,液晶灯。

以发光二极管的七段数码管显示译码器为例进行说明。

七段字形译码器的真值表:设计原理图:四、硬件要求主芯片EPM240T100C5,4个开关,一个共阴七段数码管。

五、源程序library ieee;use ieee.std_logic_1164.all;entity yima isport(l:out std_logic_vector(5 downto 0);d0,d1,d2,d3:in std_logic;a,b,c,d,e,f,g:out std_logic);end yima;architecture behav of yima issignal m:std_logic_vector(3 downto 0); signal seg7:std_logic_vector(6 downto 0); beginl<=”011111”;m<=d3&d2&d1&d0;with m selectseg <=”011111”when ”0000”,“0000110”when “0001”,“1011011”when “0010”,“1001111”when “0011”,“1100110”when “0100”,“1101101”when “0101”,“1111101”when “0110”,“0000111”when “0111”,“1111111”when “1000”,“1100111”when “1001”,“1110111”when “1010”,“0111001”when “1011”,“0111001”when “1100”,“1011110”when “1101”,“1111001”when “1110”,“1110001”when “1111”,“0000000”when others;g<=seg7(6);f<=seg7(5);e<=seg7(4);d<=seg7(3);c<=seg7(2);b<=seg7(1);a<=seg7(0);end behav;六、接线图七、现象描述在硬件上测试,现象结果是,当被分配的引脚的四个拨码开关打到相应位置的二进制对应的七段显示器数码管上显示出相应的字形,例如:当拨码开关对应的二进制为1000的是字形8.八、总结通过这次课题实验,熟悉了各程序模块的编写特点,主要是进程语句模块,和结构体以及实体模块的程序编写。

实验二 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个在这个工程的这次编译中得到了使用。

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

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

实验四七段数码显示译码器设计(一)[实验目的]1、用QuartusII完成基本组合电路的设计;2、学习7段数码显示译码器设计;3、学习VHDL的CASE语句应用及多层次设计方法。

*[实验仪器]PC机、EDA实验箱一台Quartus II 6.0软件[实验内容](1) 实验内容1:说明例6-1中各语句的含义,以及该例的整体功能。

在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号仿真数据,仿真波形示如图3-1所示。

(2) 实验内容2:引脚锁定及硬件测试。

建议选GW48系统的实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。

(3) 实验内容3:按图3-3的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器;模块DECL7S即为例6-1实体元件,重复以上实验过程。

注意图6-3的tmp是4位总线,led是7位总线。

对于引脚锁定和实验,建议选电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接接时钟信号clock0。

要求:1.2个数码管进行显示,并且都采用不带译码器进行显示;2.1个数码管显示当前计数器的值;3..另外1个数码管当前1个数码管显示1,3,5的时候,分别显示L,三,A.,其它情况下显示0.[实验原理]7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

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

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

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.区分位和段:每个数码位由七个段组成,通过该段的点亮和熄灭来表示所需显示的数字。

(完整word版)7段数码显示译码器设计

(完整word版)7段数码显示译码器设计

广州大学学生实验报告实验室: 电子信息楼 317EDA 2017 年10 月 16 日一 实验目的a) 学习7段数码显示译码器设计;学习VHDL 的多层次设计方法二 实验原理a) 如图是共阴极数码管。

b) 七段数码管是纯组合电路,通常小规模专用IC ,如74或4000系列的器件只能做十进制BCD 译码。

然而.数字系统中的数据都是2vhdl 译码程序在FPGA 中来实现,4位码为A[3:0],输出控制77位数据为LED7S[6:0]。

输出信号LED7S 的7位7个端,高位在左,低位在右。

例如当LED7S ”时,数码管的7个段g,f,e,d,c,b,a 分别接1,5,如果要考虑小dp ,这里不考虑小数点。

三实验设备a)FPGA实验箱,Cyclone III EP3C40Q24C08四实验内容和结果a)10进制译码器VHDL代码设计根据实验原理,输入7段数码管译码程序,如图所示:b)波形仿真显然,仿真结果和共阴数码管真值表结果相同,说明设计是正确的,能实现正常10进制译码c)引脚锁定和硬件验证如图所示:实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8/7/6/5四位控制输入硬件验证的结果也和仿真的结果一致,通过按键控制4位输入控制10进制数字,从数码管读出译码值。

发现电路是可行的,说明设计没有错误。

d)16进制译码器VHDL设计i.根据实验原理,输入7段数码管译码程序,如图所示,红色方框为添加了的程序代码,将10进制延伸到16进制,新增加了6个数据点。

ii.波形仿真,可以看到,输出可以对16个数据进行译码输出,遂可以知道该VHDL程序能实现16进制的译码,译码输出可以接数码管。

iii.引脚锁定和硬件仿真实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8/7/6/5四位控制输入硬件验证的结果也和仿真的结果一致,通过按键控制4位输入控制16进制数字,从数码管读出译码值。

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

七段数码显示译码器设计
实验目的:
学习7段数码显示译码器设计,学习VHD啲多层次设计方法。

二、实验原理:
七段数码管由8个(a,b,c,d,e,f,g,dp )按照一定位置排列的发光二极管构成,
通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。

七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数
码管显示出该字符的编码。

三、实验内容:
1)用VHDL设计7段数码管显示译码电路,并在VHDL苗述的测试平台下对译码器进行功能仿真,给出仿真的波形。

CNT46 DECL7S
A[.iu . 0] LED?«[4B . ay
rstG
ObiitCl
程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SMG IS
PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE ONE OF SMG IS
BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN"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;
仿真波形:
2)数码管显示电路设计
利用以上设计的译码器模块,设计一个8位的显示电路。

利用时分复用的方式快速轮流点亮8个数码管,在视觉上形成8个数码管同时显示的效果(尽管实际上同一时间只有一个数码管被点亮)。

要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字
符的编码;同时控制数码管的公共电极电平,轮流点亮数码管。

备注:在新试验箱中可酌情减少位数实现,新试验箱中管脚查阅教材中附录。

K6 K7 K8 USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY VHDL42 IS
PORT(CLK:IN STD_LOGIC;
S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
A:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END VHDL42;
ARCHITECTURE ONE OF VHDL42 IS
SIGNAL C:STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
P1:PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1'THEN
IF C<"111"THEN C<=C+1;ELSE C<="000";
END IF;
END IF;
S<=C;
END PROCESS P1;
P2:PROCESS(D)
BEGIN
CASE D IS
WHEN "0000"=> A<="0111111";WHEN "0001"=> A<="0000110"; WHEN "0010"=> A<="1011011";WHEN "0011"=> A<="1001111"; WHEN "0100"=> A<="1100110";WHEN "0101"=> A<="1101101"; WHEN "0110"=> A<="1111101";WHEN "0111"=> A<="0000111"; WHEN "1000"=> A<="1111111";WHEN "1001"=> A<="1101111"; WHEN "1010"=> A<="1110111";WHEN "1011"=> A<="1111100"; WHEN "1100"=> A<="0111001";WHEN "1101"=> A<="1011110"; WHEN "1110"=> A<="1111001";WHEN "1111"=> A<="1110001"; WHEN OTHERS=> NULL;
END CASE;
END PROCESS P2;
END;
仿真波形:
管脚锁定: 信号
旧试验箱 新试验箱No.2 管脚号 连接的器件 管脚号 连接的器件 elk 43 Clk1 153 CLK2 rst 35 开关2 234 键2 ena 30 开关1 233 键1 A ⑹ 11 SEG g 167 SEG g A(5) 10 SEG f 166 SEG f A ⑷ 9 SEG e 165 SEG e A(3) 8 SEG d 164 SEG d A(2) 7 SEG c 163 SEG c A(1) 6 SEG b 162 SEG b : A(0) 5 SEG a 161 SEG a S(2) 80 三-八译码器 的控制输入端 S(1) 79 S(0) 78。

相关文档
最新文档