中衡7段数码显示译码器【设计明细】
- 格式:doc
- 大小:2.97 MB
- 文档页数: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显示器上显示。
在设计过程中,需要注意电路连接的正确性和稳定性,以及对电路的性能进行优化和改进。
七段数码显示译码器设计本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March七段数码显示译码器设计一、实验目的:学习7段数码显示译码器设计,学习VHDL的多层次设计方法。
二、实验原理:七段数码管由8个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。
七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。
三、实验内容:1)用VHDL设计7段数码管显示译码电路,并在VHDL描述的测试平台下对译码器进行功能仿真,给出仿真的波形。
---------------------------------------------------------------------程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SMG ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END;ARCHITECTURE ONE OF SMG IS BEGINPROCESS(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;仿真波形:2)数码管显示电路设计利用以上设计的译码器模块,设计一个8位的显示电路。
实验五7段数码显示译码器设计实验报告一、实验要求1、GW48实验箱2、写出7段数码显示译码器程序3、总结实验步骤和实验结果二、实验内容1、说明例中各语句的含义,以及该例的整体功能。
在max+plus2或quartus2上对以下该例进行编辑、编译、综合、适配仿真,给出其所有信号的时序仿真波形。
module zdw(in,out);output [6:0]out;input [3:0]in;reg[6:0]out;always@(in)begincase(in)4'd0: out=7'b1111110;4'd1: out=7'b0110000;4'd2: out=7'b1101101;4'd3: out=7'b1111001;4'd4: out=7'b0110011;4'd5: out=7'b1011011;4'd6: out=7'b1011111;4'd7: out=7'b1110000;4'd8: out=7'b1111111;4'd9: out=7'b1111011;4'd10: out=7'b1110111;4'd11: out=7'b0011111;4'd12: out=7'b1001110;4'd13: out=7'b0111101;4'd14: out=7'b1001111;4'd15: out=7'b1000111;default: out=7'bx;endcaseendendmodule2、引脚锁定以及硬件下载测试。
建议选实验电路模式6,用数码8显示译码输出(PIO46—PIO40)。
键8,键7,键6,键5四位控制输入,硬件验证译码器的工作性能。
基于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段数码显示译码器设计实验目的: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段数码显示译码器设计数码显示译码器是一种可以将二进制代码转换为数码形式输出的电子装置。
它是数字电路中常见且重要的组成部分,用于将二进制数据转换为人们可以直接阅读和理解的数码显示。
本文将介绍一个基于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.区分位和段:每个数码位由七个段组成,通过该段的点亮和熄灭来表示所需显示的数字。
广州大学学生实验报告实验室: 电子信息楼 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进制数字,从数码管读出译码值。
实验名称:十六进制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段数码显示译码器设计1、实验目的熟悉ISE系列软件的设计流程和基本工具使用,学习7段数码显示译码器设计,学习VHDL的CASE语句应用。
2、实验内容7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。
本实验中,7段译码器的数码管采用共阴数码管,而且不考虑小数点的发光管。
其输出信号LED7S的7位分别接数码管的7个段,高电平有效。
例如,当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
3、实验器材Spartan 3E开发板。
4、实验说明实验中所需要的源文件在本报告附录中。
5、实验步骤步骤1:创建ISE工程(1)启动桌面上的ISE9.1图标,在Project Navigator中选择File→New Project。
(2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。
图1 ISE工程属性对话框(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。
图2 ISE工程属性对话框(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。
图3 工程设计总表出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。
图4 ISE工程属性对话框步骤2:创建新的VHDL设计文件(1)在ISE用户界面中,选择Project→New Source。
(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。
图5 VHDL的New Source Wizard(3)点击Next,直到出现图6,直到Finish。
七段显示译码器电路设计七段显示译码器是一种重要的数字电路,用于将二进制码转换为七段显示器上的对应数字或字母。
它通常由四个输入引脚和七个输出引脚组成,其中四个输入引脚表示二进制数的四位码,而七个输出引脚控制七段显示器中的各个段是否点亮。
下面是一个简单的七段显示译码器电路设计,它能够将四位二进制码转换为七段显示器所需的控制信号。
首先,我们需要定义一个真值表来描述七段显示器的每个数字或字母的显示信号。
下面是一个常用的真值表示例:输入编号,a,b,c,d,e,f,g--------,-,-,-,-,-,-,-0,1,1,1,1,1,1,01,0,1,1,0,0,0,02,1,1,0,1,1,0,13,1,1,1,1,0,0,14,0,1,1,0,0,1,15,1,0,1,1,0,1,16,1,0,1,1,1,1,17,1,1,1,0,0,0,08,1,1,1,1,1,1,19,1,1,1,1,0,1,1A,1,1,1,0,1,1,1B,0,0,1,1,1,1,1C,1,0,0,1,1,1,0D,0,1,1,1,1,0,1E,1,0,0,1,1,1,1F,1,0,0,0,1,1,1接下来,我们可以根据这个真值表来设计七段显示译码器的逻辑电路。
一个常见的方法是使用四个二-四译码器和一些逻辑门。
每个二-四译码器都有两个输入引脚和四个输出引脚,它将两个二进制数的每一位作为输入,将输出引脚的一些组合置高来实现对应输出数的逻辑。
在我们的设计中,我们可以将四个输入引脚分别连接到四个二-四译码器的输入引脚上,然后将四个输出引脚通过逻辑门连接到七个段的输入引脚上。
最后,我们需要选择适当的逻辑门来实现所需的逻辑。
常见的选择是使用与门和反相器。
与门用于实现多个输入引脚同时为高时将输出引脚置高的逻辑。
反相器则用于将逻辑信号进行反相。
例如,我们可以使用四个与门来实现输入二进制数为0、1、2和3时,对应输出引脚的逻辑。
然后,我们可以使用反相器来实现其他输出引脚的逻辑。
附表1:
广州大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室2016年 4 月28 日
学院物电年级、专
业、班
姓名学号
实验课程名称技术实验成绩
实验项目名称7段数码显示译码器设计指导教师
一、实验目的:
学习7段数码显示译码器设计;学习的多层次设计方法。
二、实验内容:
1、实验原理:
7段数码是纯组合电路,通常的小规模专用,如74或4000系列的器件只能作十进制码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在中来实现。
2、实验步骤:
表4-1 7段译码器真值表图4-1 共阴数码管及其电路
(1)首先按7段译码器真值表,完成7段码译码器的设计。
作为7段码译码器,输出信号7S的7位分别接如图4-1数码管的7个段,高位在左,低位在右。
例如当7S输出为“”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
(2)设计该译码器,在上对其进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:用输入总线的方式给出输入信号仿真数据)。
引脚锁定及硬件测试。
建议选实验电路模式6,用数码8显示译码输出,键8/7/6/5四位控制输入,硬件验证译码器的工作性能。
图4-2 7段译码器仿真波形
(3)将设计加入4位二进制计数器,经上面设计的16进制7段译码器显示。
4'b0010 : 7S <= 7'B1011011;
4'b0011 : 7S <= 7'B1001111;
4'b0100 : 7S <= 7'B1100110;
4'b0101 : 7S <= 7'B1101101;
4'b0110 : 7S <= 7'B1111101;
4'b0111 : 7S <= 7'B0000111;
4'b1000 : 7S <= 7'B1111111;
4'b1001 : 7S <= 7'B1101111;
4'b1010 : 7S <= 7'B1110111;
4'b1011 : 7S <= 7'B1111100;
4'b1100 : 7S <= 7'B0111001;
4'b1110 : 7S <= 7'B1111001;
4'b1111 : 7S <= 7'B1110001;
: 7S <= 7'B0111111;
四、仿真结果:
7段数码显示译码器仿真测试结果A为输入的数,7S输出对应的译码结果(与7段译码器真值表一致)
计数器仿真测试结果
含异步清零和同步时钟使能的加法计数器,为上升沿时,计数(1);为低电平时保持当前数值(1);为高电平且为上升沿时触发计数(1)。
为低电平且为上升沿时,置为值(1)。
为低电平时,置为0,与是否为上升沿无关。
值计满15时置1,为其他值时为0。
组合电路(计数器+译码器)仿真测试结果
计数器和译码器连接的电路,的译码输出和真值表相符合。
为低电平且为上升沿时保持,为高电平且为上升沿时显示的数字加一。
为低电平且为上升沿时,显示的数值。
为低电平时,显示数字0,与上升沿时间无关。
显示到数字15时为1,显示其他数值时,为0。
五、引脚锁定:
六、硬件测试结果:
模式6:
(键8控制)为低电平,保持显示数字3 计数满15(显示为F)8()亮(键7控制)为低电平,清零
七、实验心得:
通过本次实验,对有了进一步的学习和认识,对也有了深入了解。
学会了7段数码显示译码器的硬件设计,学习了的语句应用及多层次设计方法。
实验中,要对每一个功能模块做时序仿真,检验是否符合设计需求,最后综合起来做仿真测试,确认无误后再下载到目标机上进行硬件测试。
做实验时要耐心、认真,遇到问题争取自己解决,这样才能锻炼自己,提升自己。
项目名称”栏以上部分统一。