实验二 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段数码显示译码器,主要功能是将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显示器上显示。
在设计过程中,需要注意电路连接的正确性和稳定性,以及对电路的性能进行优化和改进。
十六进制7段数码显示译码器设计

十六进制7段数码显示译码器设计一、实验目的1.学习7段数码显示译码器的Verilog的设计,并掌握其原理方法2.学习使用QuartusⅡ软件3.学习设计仿真软件的正确使用方法二、实验原理7段显示译码器是纯组合电路。
通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码器,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD 来实现。
所以首先要设计一段程序(参考以下的真值表1)。
设输入的4位码为A[3:0],输出控制7段共阴数码管的7位数码管的7位数据为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段译码器真值表输入码输出码代表数据0000 0111111 00001 0000110 10010 1011011 20011 1001111 30100 1100110 40101 1101101 50110 1111101 60111 0000111 71000 1111111 81001 1101111 91010 1110111 A1011 1111100 B1100 0111001 C1101 1011110 D1110 1111001 E1111 1110001 F三、实验任务将设计好的Verilog译码器程序在QuartusⅡ上进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
四、实验步骤1.新建一个文件夹DECL_DEMO,然后选择File,点击new,再打开Verilog HDL File文件类型。
基于fpga的七段数码显示译码器的设计

基于fpga的七段数码显示译码器的设计实验名称:七段数码显示译码器的设计1. 实验目的:了解七段数码显示译码器的原理学习VHDL的CASE语句应用及多层次设计方法。
熟悉Quartus II的使用,熟练掌握程序的编译,波形的仿真及下载的过程。
2实验内容:编写七段数码显示译码器的程序,并编译,下载到试验箱中查看结果。
3. 实验方案(程序设计说明)七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用译码程序在FPGA中来实现。
四个输入,七个输出。
4. 实验步骤或程序(经调试后正确的源程序)见附件A5(程序运行结果6(出现的问题及解决方法对于下载模式的选择掌握不牢固。
实验步骤或程序:程序:entity decl 7 isport(A:in bit_vector(3 downto 0); led7s:out bit_vector(6 DOWNTO 0) );end ;architecture one of decl 7 is begin process(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<="0000111"; 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"1111"=>Y<="1110001";when others=>null;end case;end process;end ;管脚设置:文案编辑词条B 添加义项 ?文案,原指放书的桌子,后来指在桌子上写字的人。
实验名称:十六进制7段数码显示译码器设计

十六进制7段数码显示译码器设计程序代码module LED(A,LED7S);input [3:0]A;output [6:0]LED7S;reg [6:0]LED7S;always @ (A) begin: LEDcase(A)4'b0000: LED7S<=7'b0111111;4'b0001: LED7S<=7'b0000110;4'b0010: LED7S<=7'b1011011;4'b0011: LED7S<=7'b1001111;4'b0100: LED7S<=7'b1100110;4'b0101: LED7S<=7'b1101101;4'b0110: LED7S<=7'b1111101;4'b0111: LED7S<=7'b0000111;4'b1000: LED7S<=7'b1111111;4'b1001: LED7S<=7'b1101111;4'b1010: LED7S<=7'b1110111;4'b1011: LED7S<=7'b1111100;4'b1100: LED7S<=7'b0111001;4'b1101: LED7S<=7'b1011110;4'b1110: LED7S<=7'b1111001;4'b1111: LED7S<=7'b1110001;default: LED7S<=7'b0111111;endcaseendendmodule波形图RTL图实验心得:了解了一些7段显示译码器的verilog硬件设计,编写源程序有很多需要注意的地方,虽然在原理上与数字钟大同小异,但是在很多细节上还是有很大的改动,一开始时出现了比较多的错误,但参阅了教材,经过努力终于将问题一一解除,还是成功的完成了实验设计。
实验二 7段数码显示译码器

实验二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输出为“1101111”时,数码管的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”endcaseend //主块结束endmodule【RLT电路】【仿真和测试结果】功能分析:在仿真结果中,输入IN采用十进制形式,输出led7采用二进制形式。
verilog7段数码显示译码器设计
K X康芯科技实验5-1. 7段数码显示译码器设计例5-18LIBRARY 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 ;K X康芯科技模式5的电路结构在模式5中,键1接PIO0,对应EP1C3的第1脚。
实验二 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个在这个工程的这次编译中得到了使用。
(完整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进制数字,从数码管读出译码值。
EDA7段数码显示译码器设计(精)
EDA技术实验报告实验项目名称:7段数码显示译码器设计实验日期:2012.06.04实验成绩:实验评定标准:1)实验程序是否正确2)实验仿真、结果及分析是否合理3)实验报告是否按照规定格式实验目的实验器材学习7段数码显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
Quartusll7.2 软件三、实验内容(实验过程)1、首先设计一个2选1的数据选择器(1)打开软件,选择菜单file —>new,在弹出的new对话框中选择Device Design Files 的VHDL File项,按OK键后进入VHDL文本编辑方式。
根据7段数码显示译码器的功能编辑相应的源程序。
如下: library ieee;use ieee.std」o gic_1164.all;en tity decl7s isport (a:i n std_logic_vector(3 dow nto 0; led7s:out std」o gic_vector(6 dow nto 0; end decl7s;architecture one of decl7s isbeg inprocess(abeg incase a iswhe n"0000"=>led7s<="0111111";whe n"0001"=>led7s<="0000110";whe n"0010"=>led7s<="1011011";whe n"0011"=>led7s<="1001111";whe n"0100"=>led7s<="1100110";whe n"0101"=>led7s<="1101101";whe n"0110"=>led7s<="1111101";whe n"0111"=>led7s<="0000111";whe n"1000"=>led7s<="1111111";whe n"1001"=>led7s<="1101111";whe n"1010"=>led7s<="1110111";whe n"1011"=>led7s<="1111100";whe n"1100"=>led7s<="0111001";whe n"1101"=>led7s<="1011110";whe n"1110"=>led7s<="1111001";whe n"1111"=>led7s<="1111001";whe n others =>nu II;end case;end process;end one;2、对该VHDL语言进行编辑后,无误后进行仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二7段数码显示译码器设计
一、实验目的
学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计。
二、实验内容
说明例3-1中各语句的含义,以及该例的整体功能。
在QuartusⅡ上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序波形。
硬件设置:选实验电路模式6,用数码8显示译码输出(PIO46~40, 引脚号为105、103、99~96、85),键8(PIO13, 引脚号为36)、键7(PIO12, 引脚号为35)、键6(PIO11, 引脚号为34)、键5(PIO10, 引脚号为33)四位控制输入。
最后进行编译、下载和硬件测试实验。
三、实验报告
根据实验内容,写出实验报告,包括编译仿真波形、分析结果以及硬件测试实验结果。
四、实验步骤
将实验一中的源程序输入部分改为7段数码显示译码器程序输入即可。
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY DECL7S IS
PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END ;
ARCHITECTURE one OF DECL7S 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 ;
END PROCESS ;
END ;。