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

L
L
L
H
H H L H H L
3
14
消 隐 脉冲消隐 灯测试
H
H
×
L
L
H H
H
H
H H H H L
L
H
× H H H L
L L L H H H H
× × × × × ×
H L L L L L L
L
L H
L L L
L L L
L
L
L
L
L
L
L
L
× × × × ×
H H H H H H H
逻辑功能
输 入
功能
3个控制端
逻辑图
4个输入端
7个输出端
C B
a b
A
7448
LT RBI BI/RBO
. . . g
7448功能框图
逻辑功能
十进制 或功能 输 入
LT
RBI
D
C
B
BI/ A RBO a b
输出
c
d
e
f
g
字 形
L
L
H
H H H H H H
L
1
2
H
H
×
×
L
L
L
L
L H
H L
H
H
L H H L
b c d e f g
f e
g d
b c
共阳极显示器 共阴极显示器 显示器分段布局图
计数器 脉冲信号
译码器
驱动器 显示器
KHz
a b c d e f g 1 1 1 1 1 1 0 0 1 1 0 0 0 0
十六进制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文件类型。
十六进制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段数码显示译码器电路。
当输入端口接收到一个十六进制信号时,通过电路的处理和转换,将其转化为了相应的七段信号,用于控制数码管的每个段的亮灭情况。
通过实验观察,我们发现电路的输出结果与预期一致,且工作稳定。
五、实验总结通过这个实验,我们对于数字电路的工作原理和数码管的控制方式有了更深的了解。
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.区分位和段:每个数码位由七个段组成,通过该段的点亮和熄灭来表示所需显示的数字。
十六进制7段数码显示译码器设计实验报告

实验目的与要求实验名称:十六进制7段数码显示译码器设计实验目的:学习7段数码显示译码器的V erilog硬件设计。
实验原理7段数码是纯组合电路。
设输入的4位码为A[3:0],输出控制7段共阴数码管的7位数据为LEDS[6:0]。
输出信号LEDS的7位分别接共阴数码管的7个段,高位在左,低位在右实验内容1、编辑和输入设计文件新建文件夹——输入源程序——文件存盘源程序: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;endcaseendendmodule2、创建工程打开并建立新工程管理窗口——将设计文件加入工程中——选择目标芯片——工具设置——结束设置3、全程编译前约束项目设置选择FPGA目标芯片——选择配置器件的工作方式——选择配置器件和编程方式——选择目标器件引脚端口状态——选择V erilog语言版本4、全程综合与编译Processing——Start Compilation启动全程编译5、仿真测试RTL图观察器应用总结与体会通过本次实验,对quartus有了进一步的学习和认识,对V erilog也有了深入了解。
EDA实验报告31_十六进制7段数码管显示译码设计

实验结果及分析
1.十六进制计数器计数到“1111”时cout产生进位信号
2.每一次计数对应数码管不同的显示译码输出,由顶层文件nt_7seg_top.vhdl的时序仿真波形图可见,当数码管显示到“71”即对应的十六进制“F”时,计数值清零(rst0 <= ‘0’),数码管重新从“3F”即‘1’递增至‘F’循环显示。
2.输出信号LED_7seg的7位分别接数码管的7个段a-b-c-d-e-f-g(-h),高位在左,低位在右(如果有小数点,增加h段)。由于使用的是共阴极数码管,各个段接高电平时发光,低电平不亮。
实验内容
实验一:十六进制7段数码显示译码设计
1.用VHDL文本输入方法,完成十六进制计数器和7段数码显示译码电路设计
EDA技术与应用实验报告
姓名
学号
专业年级
电子信息工程
实验题目
十六进制7段数码显示译码设计
实验目的
1.学习7段数码显示译码设计和硬件验证
2.通过VHDL语言设计7段数码显示译码电路,进一步掌握层次化设计方法
实验原理
1.数字系统中的数据处理和运算都是二进制的,输出表达为十六进制数。为了满足十六进制数的译码显示,可利用译码程序在FPGA/CPLD中来实现
3.将clk0接到78脚的时钟输出端,可以获得0-1MHz的时钟调节范围,这解决了数码管循环显示过快,看不清译码输出的问题
附录
(原理图或VHDL代码)
实验过程中所遇到的问题及相应的解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
十六进制七段数码显示译码器
十六进制七段数码显示译码器
一、实验目的:学习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段译码器真值表
输入码输入码代表
数据输入码输入
码
代表
数据
0000 0111111 0 1000 1111111 8 0001 0000110 1 1001 1101111 9 0010 1011011 2 1010 1110111 A 0011 1001111 3 1011 1111100 B 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(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。
(1)新建文件夹:我的习惯在D盘建立并保存工程,我将文件夹取名Test,(2)输入源程序:打开Quartus II,选择菜单File-->New-->Design Files-->VerilogHDL File-->OK(如图1所示)
代码如下:
module DECL7S(A,LED7S);
input[3:0] A;
output[6:0] LED7S;
reg[6:0] LED7S;
always@(A )
case(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;
endcase
endmodule
(3)保存文件:完成一步就保存一步是一个好习惯,这样即使出现意外情
况,也不至于以前的努力付诸东流。
选择File-->Save as,选择保存路径,即刚才新建的文件夹Test,文件名应与实体名保持一致,即DECL7S,点击保存后会跳出“Do you want to create a new project with this file?”选择“是”,则进入如下界面
点击Next,进入“工程设置”对话框,如图所示
持一致,也可以另取别的名字,第三行为当前工程顶层文件的实体名。
点击next,进入ADD FILE对话框,如图所示,单击Add All 按钮,将工程相关的所有VHDL文件加进工程,也可以单击“Add...”选择性加入,按此步骤建立工程,工程已经自动将所有文件加进去了,可以直接点击next,当先直接建立工程时,需要自己添加
(4)选择目标芯片:我们选用的是CycloneIII系列的EP3C55F484C8,在Family栏选择芯片系列——CycloneIII,在窗口右边的三个下拉列表框选择过滤条件,分别选择Package为FBGA、Pin count为484和Speed grade为8,点击Next,如图所示
(5)工具设置:进入EDA工具设置窗口,有三个选项,分别是选择输入的HDL 类型和综合工具、选择仿真工具、选择时序分析工具,这是除Quartus II自含的所有设计工具以外的外加的工具,如果不作选择的,表示仅选择Quartus II 自含的所有设计工具,本次不需要其他的设计工具,可以直接点击Next
(6)结束设置:进入“工程设置统计”窗口,列出了与此工程相关的设置情况,
设置完成,点击Finish
(二)、编译
配置好后就可以进行编译了,点击Processing Start Compilation命令启动全程编译
编译成功后的界面如图所示
(三)时序仿真
(1)打开波形编辑器:File-->New-->Verification/Debugging Files-->Vector Waveform-->OK,即出现空白的波形编辑器,如图所示
(2)设置仿真时间区域:Edit-->End Time在Time栏中输入50,单位选择“us”,点击确定并保存波形文件
(3)将工程DECL7S的端口信号名选入波形编辑器中:View-->Utility windows-->Node Finder,在Filter框中选Pins:all(通常是默认选项),然后点击List,则显示出了所有引脚,如图所示
将重要的端口名拖进波形编辑器后关闭窗口
(4)编辑输入波形:
首先进行总线数据格式设置和参数设置:点击输入数据信号A的左边的+号,能展开此总线中的所有信号;如果双击此+号左边的信号标记,将弹出对该信号数据格式设置的Node Properties对话框,在该对话框的Radix下拉列表中有四种选择,这里可选择十六进制Hxadecimal表达方式。
其次输入波形数据:由于A是4位待加载的输入数据,需要设置输入数据。
用鼠标在图所示信号名A的某一数据区拖拉出来一块蓝色区域,然后单击左侧工具栏的问号(?)按钮,在弹出窗口输入数据,如0.继而在不同区域设置不同数据。
这里为方便观察,输入的数据依次是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E。
如图所示
(5)仿真
仿真器参数仿真:选择Assignment→Settings命令,在Settings窗口下选择Category→ Simulator Settings。
在右侧的Simulation mode下拉列表中选择Timing,即选择时序仿真,并选择仿真激励文件名DECL7S.vwf。
选择Simulation Period栏,确认选中了“Run simulation until all vector stimuli are used”。
启动仿真器:Processing-->Start Simulation ,直至出现Simulation was successful,仿真结束,然后会自动弹出“Simulation Report”,点击输出信号“LED7S”旁边的“+”,展开总线中的所有信号,可以更利于我们观察和分析波形,如图所示
(四)应用RTL电路图观察器
Tools-->Netlist Viewers-->RTL Viewer,结果如图所示
五、实验总结
经过几周的学习,我觉得FPGA的学习应该做好预习工作,最好提前安装一下Quartus II,提
前练习程序编写应该有很大帮助。