基于逻辑门的七段数码管字形发生器的设计.
七段数码管显示译码器

七段数码管显示译码器本页仅作为文档页封面,使用时可以删除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显示器上显示。
在设计过程中,需要注意电路连接的正确性和稳定性,以及对电路的性能进行优化和改进。
实验3 七段字形显示译码器实验

实验三七段字形显示译码器实验一、 实验目的1.了解LED数码管的显示原理及其使用;2.熟悉七段字形显示译码器(74LS48)的外特性及使用;3.学会查集成电路手册。
二、 实验器件1.七段字形显示译码器74LS48 (图1)abcdefgDCBA — BCD码输入端( D —最高位,A —最低位)a ~ g —输出端。
高电平输出。
LT —灯测试输入端。
LT=0时,不论RBI及D ~ A状态如何。
a ~ f 输出“1”。
用它可检查LED数码管各段是否完好。
若是完好,显示“8 ”。
RBO —灭灯输入端。
作用与LT相反。
当RBO=0时,不论LT、RBI及D ~ A状态如何,LED各段熄灭。
使用时,RBO为输出,输出为“1”,表示有显示。
RBI —灭零输入端。
可按需要将显示的零熄灭,而在显示1 ~ 9时无影响。
RBI=0,LT=1,D ~ A=0000 时,不显示。
2.LED七段数码管(图2)——共阴74LS48功能表LT RBI D C B A RBO a b c d e f g1 1 0 0 0 0 1 1 1 1 1 1 1 01 X 0 0 0 1 1 0 1 1 0 0 0 01 X 0 0 1 0 1 1 1 0 1 1 0 11 X 0 0 1 1 1 1 1 1 1 0 0 11 X 0 1 0 0 1 0 1 1 0 0 1 11 X 0 1 0 1 1 1 0 1 1 0 1 11 X 0 1 1 0 1 0 0 1 1 1 1 11 X 0 1 1 1 1 1 1 1 0 0 0 01 X 1 0 0 0 1 1 1 1 1 1 1 11 X 1 0 0 1 1 1 1 1 0 0 1 11 X 1 0 1 0 1 0 0 0 1 1 0 11 X 1 0 1 1 1 0 0 1 1 0 0 11 X 1 1 0 0 1 0 1 0 0 0 1 11 X 1 1 0 1 1 1 0 0 1 0 1 11 X 1 1 1 0 1 0 0 0 1 1 1 11 X 1 1 1 1 1 0 0 0 0 0 0 0X X X X X X 0* 0 0 0 0 0 0 01 0* 0 0 0 00 0 0 0 0 0 0 00 X X X X X 1 1 1 1 1 1 1 1三、 实验内容1.设计实验电路。
七段数码管显示

七段数码管显示设计报告目录一、设计任务二、题目分析与整体构思三、硬件电路设计四、程序设计五、心得体会一.设计任务数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。
目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。
它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。
数码管动态扫描显示,是将所用数码管的相同段(a~g 和p)并联在一起,通过选位通信号分时控制各个数码管的公共端,循环依次点亮各个数码管。
当切换速度足够快时,由于人眼的“视觉暂留”现象,视觉效果将是数码管同时显示。
根据七段数码管的显示原理,设计一个带复位的七段数码管循环扫描程序,本程序需要着重实现两部分:1. 显示数据的设置:程序设定4 位数码管从左至右分别显示1、2、3、4;2. 动态扫描:实现动态扫描时序。
利用EXCD-1 开发板实现七段数码管的显示设计,使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA相应引脚。
四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接。
二.题目分析与整体构思使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7个发光LED 组成,呈“”字状,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA 相应引脚。
SEG_SEL1、SEG_SEL2、SEG_SEL3 和SEG_SEL4 为四位7 段数码管的位选择端。
当其值为“1”时,相应的7 段数码管被选通。
当输入到7 段数码管SEG_A~ SEG_G 和SEG_DP 管脚的数据为高电平时,该管脚对应的段变亮,当输入到7 段数码管SEG_A~SEG_G 和SEG_DP 管脚的数据为低电平时,该管脚对应的段变灭。
实验四-八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计一、实验目的1、了解数码管的工作原理。
2、学习七段数码管显示译码器的设计。
3、学习VHDL的CASE语句及多层次设计方法。
二、实验原理七段数码管是电子开发过程中常用的输出显示设备。
在实验系统中使用的是两个四位一体、共阴极型七段数码管。
其单个静态数码管如下图4-4-1所示。
图4-1 静态七段数码管由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。
反之则不亮。
共阳极性的数码管与之相么。
四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。
八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。
三、实验内容本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。
在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。
四、实验步骤1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。
方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,根据用户自己的要求进行管脚分配。
分配完成后,再进行全编译一次,以使管脚分配生效。
7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
如果是调用的本书提供的VHDL代码,则实验连线如下:CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。
KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。
七段数码显示译码器设计

七段数码显示译码器设计本页仅作为文档页封面,使用时可以删除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位的显示电路。
基于FPGA的七段数码管显示设计

基于FPGA的七段数码管显示设计FPGA是一种灵活可编程的集成电路芯片,可以根据需要重新配置其内部电路的功能和连接。
七段数码管是一种常见的数字显示器,可以显示0-9和一些字母如A、B、C等。
在本文中,我们将介绍如何使用FPGA设计一个基于七段数码管的显示系统。
首先,我们需要一个FPGA开发板,如Xilinx的Spartan-6系列开发板。
开发板上通常配有多个七段数码管和其他外设,以供我们进行测试和验证设计的正确性。
接下来,我们需要使用HDL(硬件描述语言)来描述我们的设计。
VHDL和Verilog是最常用的HDL。
在此我们以VHDL为例进行介绍。
首先,我们需要定义输入输出接口,以及需要的信号。
对于七段数码管显示系统,我们需要定义输入信号来控制要显示的数字或字母,以及一些控制信号如使能信号等。
同时,我们还需要定义输出信号来控制七段数码管的显示。
我们可以借助于状态机的设计方法来实现七段数码管的控制。
状态机是一种用于控制电子系统行为的有限状态自动机。
在状态机设计中,我们首先需要定义系统的各种状态。
对于七段数码管显示系统,我们可以定义六种状态:显示0、显示1、显示2、显示3、显示4和显示5、每个状态表示在对应的数字或字母上显示亮。
接下来,我们需要定义状态转换和输出逻辑。
对于状态转换,我们可以根据输入信号和当前状态来确定下一个状态。
对于输出逻辑,我们可以使用真值表或使用逻辑门等元件的连接来确定每个段显示器的输出信号。
最后,我们需要定义时钟周期和时序逻辑。
时钟周期是指任何一个操作从开始到完成所经过的时间,而时序逻辑是指操作发生的顺序和时间。
在设计完成后,我们需要将设计编译成二进制文件。
编译器将把我们的设计转换为可由FPGA芯片执行的二进制代码。
然后,我们将编译生成的二进制文件烧录到FPGA芯片中,并进行测试验证。
我们可以输入不同的数字或字母,观察七段数码管的显示情况,以确保设计满足我们的需求。
通过以上步骤,我们可以设计一个基于FPGA的七段数码管显示系统。
实验三七段数码显示译码器设计

实验三七段数码显示译码器设计一、实验目的1、了解显示译码器的结构和理解其工作原理。
2、学习7段数码显示译码器设计。
3、学习VHDL的多层次设计方法。
二、实验仪器PC机,操作系统为Windows2000/XP,本课程所用系统均为WindowsXP(下同),Quartus II 5.1设计平台。
GW48系列SOPC/EDA实验开发系统。
三、实验原理1、七段字符显示器为了能以十进制数码直观地显示数字系统的运行数据,符显示器有七段可发光的线段拼合而成。
常见的七段字符显示器有半导体数码管和液晶显示器两种。
图3-1是半导体数码管BS201A外形图,这种数码管的每个线段都是一个发光二极管(Light Emitting Diode,简称LED),因而把它叫做LED数码管或LED七段显示器。
图3-1 发光二极管使用的材料与普通的硅二极管和锗二极管不同,有磷砷化镓,磷化镓,砷化镓等几种,而且半导体中的杂质浓度高。
当外加正电压时,大量的电子和空穴在扩散过程中复合,其中一部分电子从导带跃迁到价带,把多余的能量以光的形式释放出来,便发出一定波长的可见光。
磷砷化镓发光二极管发出光线的波长与磷和砷的比例有关,含磷的比例越高波长越短,同时效率也随之降低。
目前生产的磷砷化镓发光二极管发出的光线波长在6500ā左右,呈橙红色。
另外一种常用的七段字符显示器是液晶显示器(Liquid Crystal Display,简称LCD)。
液晶是一种即具有液体的流动性有具有光学特性的有机化合物。
它的透明度和呈现的颜色手外加电场的影响,利用这一特点边可作成字符显示器。
在没有外加电场的情况下,液晶分子按一定取向整齐地排列着,这时液晶为透明状态,射入的光线大部分由反射电极反射回来,显示器呈白色。
在电极上加上电压后,液晶分子因电离而产生正离子,这些正离子在电场的作用下运动并碰撞其他液晶分子,破坏了液晶分子的整齐排列,使液晶呈现混浊状态。
这时射入的光线散射后仅有善良反射回来,故显示器呈暗灰色。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于逻辑门的七段数码管字形发生器的设计
一、“8421码--七段数码管字形”真值表
二、卡诺图化简
d卡诺图
e 卡诺图
f卡诺图
三、I/O设定,电路图,编译纠错
四、功能仿真
五、与非门实现方案
用摩根定理把与或式化简为与非式。
a = A C BD B D
b = A B C D C D A
c = B D C
d = A B C C D BD BD C
e = D B C D
f = C D A B D B C
g = A B C B C C D
六、用无关项化简逻辑函数的优缺点
优点:卡诺图上,无关项对应的位置可根据需要取1或0,进而达到利用无关项化简逻辑函数的目的。
利用无关项,便于将逻辑函数化为最简与或式,对电路图的设计有较大帮助。
缺点:过多使用无关项会使电路的与项部分不稳定。
七、小结
通过此次作业,使我对verilog语言有了更进一步的认识和了解,更加扎实的掌握了有关真值表、卡诺图化简、逻辑门等方面的知识,在设计过程中虽然遇到了一些问题,但经过一遍又一遍的检查终于找出了原因所在。
在以后的学习过程中,我会更加注重实践操作,巩固已学的知识。