7段数码显示译码器设计

合集下载

十六进制7段数码显示译码器设计

十六进制7段数码显示译码器设计

实验目的:学习7段数码显示译码器的Verilog硬件设计。

实验原理:7段数码是纯组合电路。

通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的。

为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中来实现。

首先要设计一段程序。

该程序可按照例3-2的case语句表述方法,再根据表4-2的真值表写出程序。

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

输出信号LED7S的7位分别接图4-47的共阴数码管的7个段,高位在左,低位在右。

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

这里没有考虑小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。

实验过程:1:新建Verilog工程2:编程3:保存(与模块名一致) 4:新建波形图5:保存6:导入波形7:设置输入波形8:设置fuction 仿真9:生成网表10:仿真程序代码: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程序代码正确波形仿真:。

7段数码显示译码器设计

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段数码显示译码器设计

实验五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四位控制输入,硬件验证译码器的工作性能。

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

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

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

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

实验一7段数码显示译码器设计

实验一7段数码显示译码器设计

实验一. 7段数码显示译码器设计一.实验目的1.学习7段数码显示译码器设计。

2.进一步熟悉VHDL设计技术,掌握CASE语句的使用。

3.掌握文本输入法的顶层设计方法。

二.实验原理7段数码显示器是纯组合电路。

为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。

例1作为7段译码器的VHDL的程序,A[3..0]是二进制码输入端,LED7S是7段输出信号。

输出信号LED7S的位分别接数码管的7个段,高位在左,低为在右。

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

例1: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 DECL7S;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 ONE;三.实验内容1.说明例1各语句的含义,以及该例的整体功能。

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进制数字,从数码管读出译码值。

EDA7段数码显示译码器设计(精)

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

附表1: 广州大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室 2016 年 4 月 28 日 学 院 物 电 年级、专
业、班 姓名 Jason.P 学号
实验课程名称 EDA 技术实验 成绩
实验项目名称
7段数码显示译码器设计 指 导 教 师
一、 实验目的: 学习7段数码显示译码器设计;学习VerilogHDL 的多层次设计方法。

二、 实验内容:
1、实验原理:
7段数码是纯组合电路,通常的小规模专用IC ,如74或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD 中来实现。

2、实验步骤:
表4-1 7段译码器真值表 图4-1 共阴数码管及其电路
(1)首先按7段译码器真值表,完成7段BCD码译码器的设计。

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

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

(2)设计该译码器,在QuartusII上对其进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:用输入总线的方式给出输入信号仿真数据)。

引脚锁定及硬件测试。

建议选实验电路模式6,用数码8显示译码输出,键8/7/6/5四位控制输入,硬件验证译码器的工作性能。

图4-2 7段译码器仿真波形
(3)将设计加入4位二进制计数器,经上面设计的16进制7段译码器显示。

图4-3计数器和译码器连接电路原理图
三、实验HDL描述:
计数器:module adder(CLK,RST,EN,LOAD,COUT,DOUT,DATA);
input CLK,EN,RST,LOAD;
input[3:0] DATA;
output[3:0] DOUT;
output COUT;
reg[3:0] Q1;
reg COUT;
assign DOUT = Q1;
always @(posedge CLK or negedge RST) //CLK上升沿、RST下降沿触发
begin
if(!RST) Q1 <= 0; //RST为低电平时,Q1为0
else if(EN) begin //EN为高电平时,执行下步
if(!LOAD) Q1 <= DATA; //LOAD为低电平时Q1=DATA
else if(Q1<15) Q1 <=Q1+1; //Q1<15,计数加1
else Q1 <=4'b0000; end //Q1为其他值,计数置0
end
always @(Q1)
if (Q1==4'hf) COUT = 1'b1; else COUT = 1'b0; //Q1为15,COUT=1,否则为0 endmodule
16进制7段译码器:
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'b1110 : LED7S <= 7'B1111001;
4'b1111 : LED7S <= 7'B1110001;
default : LED7S <= 7'B0111111;
endcase
endmodule
四、仿真结果:
7段数码显示译码器仿真测试结果
A为输入的数,LED7S输出对应的译码结果(与7段译码器真值表一致)
计数器仿真测试结果
含异步清零和同步时钟使能的加法计数器,CLK为上升沿时,DOUT计数(EN=LOAD=RST=1);EN为低电平时DOUT保持当前数值(LOAD=RST=1);EN为高电平且CLK为上升沿时触发DOUT计数(LOAD=RST=1)。

LOAD为低电平且CLK为上升沿时,DOUT置为DATA值(EN=RST=1)。

RST为低电平时,DOUT置为0,与CLK是否为上升沿无关。

DOUT值计满15时COUT置1,DOUT为其他值时COUT为0。

组合电路(计数器+译码器)仿真测试结果
计数器和译码器连接的电路,led的译码输出和真值表相符合。

en为低电平且clock为上升沿时led保持,en为高电平且clock为上升沿时led显示的数字加一。

load为低电平且clock为上升沿时,led显示data的数值。

rst为低电平时,led显示数字0,与clock上升沿时间无关。

Led显示到数字15时cout为1,led显示其他数值时,cout为0。

五、引脚锁定:
六、硬件测试结果:
模式6:
en(键8控制)为低电平,保持显示数字3 计数满15(显示为F)LED-D8(cout)亮 rst(键7控制)为低电平,清零
项目名称”栏以上部分统一。

相关文档
最新文档