BCD-7段数码管显示译码器电路设计
七段数码管显示数字电路
七段数码管显示数字电路学习 2008—11—02 15:15:18 阅读2837 评论0 字号:大中小CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流.可直接驱动LED显示器.CD4511 是一片 CMOS BCD-锁存/7 段译码/驱动器,引脚排列如图 2 所示。
其中a b c d 为 BCD 码输入,a为最低位。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。
BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平.另外 CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。
LE是锁存控制端,高电平时锁存,低电平时传输数据。
a~g是 7 段输出,可驱动共阴LED数码管。
另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观图3是 CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 CD4511 和 LED 数码管即可。
所谓共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。
限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。
用CD4511实现LED与单片机的并行接口方法如下图: (略)CD4511 引脚图其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字.LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8"。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出. LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
CD4511(BCD码七段码译码器)
表 3-2 CD 4511 的真值表
8421 BCD 码对应的显示见下图
:
选用共阴极数码管,对于 CD4511 ,它与数码管的基本连接方式如下图 :
J=
=(C+B)D+BI
如不考虑消隐 BI 项,便得 J=(B+C)D 据上式,当输入 BCD 代码从 1010---1111 时,J 端都为“1”电平,从而使显示器中
的字形消隐。
输出 输入 LE BI LI D C B A a b c d e f g 显示 X X 0 XXXX1111111 8 X 0 1 X X XX 0 0 0 0 0 0 0 消隐 0 1 1 0 0 0 0 1111110 0 0 1 1 0 0 0 1 0110000 1 0 1 1 0 0 1 0 1101101 2 0 1 1 0 0 1 1 1111001 3 0 1 1 0 1 0 0 0110011 4 0 1 1 0 1 0 1 1011011 5 0 1 1 0 1 1 0 0011111 6 0 1 1 0 1 1 1 1110000 7 0 1 1 1 0 0 0 1111111 8 0 1 1 1 0 0 1 1110011 9 0 1 1 1 0 1 0 0 0 0 0 0 0 0 消隐 0 1 1 1 0 1 1 0 0 0 0 0 0 0 消隐 0 1 1 1 1 0 0 0 0 0 0 0 0 0 消隐 0 1 1 1 1 0 1 0 0 0 0 0 0 0 消隐 0 1 1 1 1 1 0 0 0 0 0 0 0 0 消隐 0 1 1 1 1 1 1 0 0 0 0 0 0 消隐 1 1 1 X X XX 锁 存 锁存
a、b、c、d、e、f、g:为译码输出端,输出为高电平 1 有效。 CD4511 的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可
7段显示译码器 eda
实验名称7段数码显示译码器设计●实验目的学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。
●实验原理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”。
实验原理图●实验内容及步骤一、实验内容1在Quartus II上对下面的程序进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
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;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;2、仿真波形二、实验内容2引脚锁定及硬件测试。
BCD7段译码器
1 引 言
20世纪末,数字电子技术得到了飞速发展,有力地推动和促进了社会生产力的发展和社会信息化的提高,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。
原理图描述的7段显示译码器的工作波形七段显示译码器的原理图描述显示的字形沈阳工程学院课程设计通过对bcd码显示译码器的设计我进一步了解到eda工具在我们现实生活中的作用是不可能被替代的而且在数字逻辑系统中74系列或4000系列芯片构成电路只适合简单的应用它们已不能满足人们对高科技技术的要求因此我们要更好的学习eda工具以便提高自身的实践能力与专业知识的应用能力争取更快的与社会实际和社会需要接轨
备注
1
12.30-12.31
选题,搜集资料,熟悉设计环境
2
01.02-01.06
调试程序
3
01.07-01.08
仿真程序
4
01.09-01.10
完成课程设计说明书(论文)、进行答辩
沈 阳 工 程 学 院
EDA课程设计成绩评定表
系(部):自动化学院班级:学生姓名:
指 导 教 师 评 审 意 见
评价
内容
MAX+PLUSII 具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。 MAX+PLUS II 开发系统众多突出的特点,使它深受广大用户的青睐。
半导体数码管(或称LED数码管)是常用的显示器件,其基本单元是发光PN结,目前较多采用磷砷化镓做成的PN结,封装成为发光二极管,如图1(a)所示。当外加正向电压时,就能发出清晰的光线。发光二极管的工作电压为1.5~3V,由于工作电流为几毫安到十几毫安比较小,故实际电路应串接适当的限流电阻。
试验四 7段数码显示译码器的设计
实验四七段数码显示译码器设计(一)[实验目的]1、用QuartusII完成基本组合电路的设计;2、学习7段数码显示译码器设计;3、学习VHDL的CASE语句应用及多层次设计方法。
*[实验仪器]PC机、EDA实验箱一台Quartus II 6.0软件[实验内容](1) 实验内容1:说明例6-1中各语句的含义,以及该例的整体功能。
在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
提示:用输入总线的方式给出输入信号仿真数据,仿真波形示如图3-1所示。
(2) 实验内容2:引脚锁定及硬件测试。
建议选GW48系统的实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。
(3) 实验内容3:按图3-3的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器;模块DECL7S即为例6-1实体元件,重复以上实验过程。
注意图6-3的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议选电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接接时钟信号clock0。
要求:1.2个数码管进行显示,并且都采用不带译码器进行显示;2.1个数码管显示当前计数器的值;3..另外1个数码管当前1个数码管显示1,3,5的时候,分别显示L,三,A.,其它情况下显示0.[实验原理]7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
例6-18作为7段译码器,输出信号LED7S的7位分别接如图6-2数码管的7个段,高位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
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段数码显示译码器设计
广州大学学生实验报告实验室: 电子信息楼 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进制数字,从数码管读出译码值。
(整理)七段显示译码器电路设计.
题目:七段显示译码器电路设计专业:生产过程自动化专业班级:生产过程0901 姓名:学号:指导老师:杨旭目录第一节绪论……………………………………………………………………………..1.1本设计的任务和主要内容………………………………………………………………..1.2基本工作原理及原理框图………………………………………………………………...第二节硬件电路的设计…………………………………………………………………2.1BCD译码器选择与设计…………………………………………………………………….2.2LED显示器的设计……………………………………………………………………………2.3总的设计……………………………………………………………………………………第四节设计总结…………………………………………………………………………第一节绪论本课程设计的七段译码器主要以BCD译码器或LED显示器为主要部件,应用集成门电路组成的一个具有译码和显示的装置。
其中BCD 译码器采用8421BCD译码器,即----七段显示译码器(74LS48)型。
LED显示器是由发光二极管组成的,LED显示器分共阴极和共阳极两种型号,共阴极LED显示器的发光二级管阴极接地,共阳极LED显示器的发光二极管阳极并联。
最后把BCD译码器或LED显示器组成了的装置就具有了显示和译码的功能。
此七段译码器也就成功了。
1.1设计的任务和本主要内容1)运用LED显示器或BCD译码器实现一定的功能2)写出详细的实验报告1.2基本工作原理及原理框图基本工作原理及原理框图如下:第二节硬件的设计BCD译码器选择与设计发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。
译码器应用设计实验报告
译码器应用设计实验报告引言译码器(Decoder)是数字电路中常用的逻辑电路之一,它实现了将输入数字码转换成输出端口的控制信号。
译码器被广泛应用于数字系统中,如计算机、通信、测控等领域。
通常情况下,译码器基于真值表或卡诺图设计,可以根据输入的不同编码方式,输出相应的解码结果。
本实验主要介绍译码器的应用设计。
通过实验,我们将学会如何使用译码器来实现数字系统的控制和数据处理任务。
本实验所涉及的译码器有BCD-7段译码器、数值译码器、时序译码器以及存储器译码器等。
实验器材1. 逻辑计算器2. 示波器3. 数字电路实验箱4. 5V直流电源5. 译码器(BCD-7段译码器、数值译码器、时序译码器和存储器译码器)6. LED数码管实验原理1. BCD-7段译码器BCD-7段译码器是将4位BCD码转换成7段数码管显示的译码器。
8个BCD码,分别对应着数字0~9和字母A~F,输出接到控制7个LED数码管的段选端口和1个公共阴极的位选端口。
2. 数值译码器数值译码器是将4位二进制数转换成BCD码的译码器。
通过数值译码器,可以将数字的二进制编码转换成BCD编码,从而实现数字的BCD码显示。
译码器输出接LED数码管的输入端口。
时序译码器是根据不同状态的时序信号,将输入的二进制数码转换成对应的控制信号的译码器。
将时序信号和数码信号分别输入至译码器的两个输入端口,译码器将输出对应的动作信号。
常用于时序控制电路的设计中。
4. 存储器译码器存储器译码器是将存储芯片中的地址码转换成控制芯片的输入信号的译码器。
存储芯片中的地址码分别对应着芯片的不同存储单元,译码器将地址码转换成控制信号,使控制芯片可以正确访问存储芯片中的数据。
实验设计实验步骤:(1)将BCD码8个输入引脚分别接到译码器的8个输入端口上。
(4)将5V直流电源连接到译码器和LED数码管上。
实验结果:输入BCD码0000~1111时,LED数码管正确显示相应的数字0~9和字母A~F。
EDA技术_项目5_BCD-7段显示译码器
仿真波形如下图所示
学习子领域2:数字电路的EDA设计
项目(学习情境)5
BCD-7段数码管显示译码器电路设计
任务要求
• 请根据要求在EDA实验箱上设计BCD-7 段数码管显示译码器电路,要求: • ⑴使用EDA实验箱上开关设置模块的K4、 K3、K2、K1开关作为BCD码输入; • ⑵使用EDA实验箱上键盘显示模块中最 右边一位的数码管显示输入的BCD码编 码数值; • ⑶进行功能仿真。
共阴极BCD-7段数码管显示译码器的真值表
输入端 输出端 说明
D3
0
D2
0
D1
0
D0
0
LED6 (a)
1
LED5 (b)
1
LED4 (c)
1
LED3 (d)
1
LED2 (e)
1
LED1 (f)
1
LED0 (g)
0
数码
0
0
0 0 0 0 0 0 1 1 1
0
0 0 1 1 1 1 0 0 0
0
1 1 0 0 1 1 0 0 1
1
1 1 1 1
0
1 1 1 1
1
0 0 1 1
1
0 1 0 1
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0
0
0 0 0 0 无效
BCD-7段数码管显示译码器电路的 引脚功能图
任务2:编写BCD-7段数码管显示 译码器电路的VHDL程序
1.已学的when-else语句、withselect两种语句能否完成BCD-7段数 码管显示译码器电路的设计?
7段显示译码器设计实验报告
数字钟实验报告学生专业:电子信息工程学生班级:151143C学生学号:*********学生姓名:***7段显示译码器设计151143324 ***一、实验目的:学习七段数码显示译码器设计,多层次设计方法和总线数据输入方式的仿真。
二、实验原理:7段BCD码译码器的设计,输出信号Segmentout的7位分别接数码管的7个段,高位在左,低位在右。
例如当Segmentout输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1,接有高电平的段发亮,于是数码管显示数字“5”。
如果是共阳极的数码显示器,则8段输出应取反,段显码为“10010010”,使用时要注意数码管的接法。
实际产品设计中,一般会用到多个数码管,显示几位数字。
4位数的7段数码管,4位数字共用同样的段输出。
若只想让第一个位显示,其他的位不显示,那么可以只给第一位数字供电,其他的断电,用4LED来控制的,4LED输出0001即可,若只让第二位显示则4LED输出0010即可。
这里的4LED选择控制要显示的位,称为位选。
三、实验内容:module BCD_Segment7(BCDin,Segmentout,Select);input[3:0]BCDin;output Select;output [6:0]Segmentout;reg[6:0]Segmentout;always@(BCDin)begincase(BCDin)4'h0:Segmentout=7'b1000000;4'h1:Segmentout=7'b1111001;4'h2:Segmentout=7'b0100100;4'h3:Segmentout=7'b0110000;4'h4:Segmentout=7'b0011001;4'h5:Segmentout=7'b0010010;4'h6:Segmentout=7'b0000010;4'h7:Segmentout=7'b1111000;4'h8:Segmentout=7'b0000000;4'h9:Segmentout=7'b0010000;4'hA:Segmentout=7'b0001000;4'hB:Segmentout=7'b0000011;4'hC:Segmentout=7'b1000110;4'hD:Segmentout=7'b0100001;4'hE:Segmentout=7'b0000110;4'hF:Segmentout=7'b0001110;default:Segmentout=7'bxxxxxxx;endcaseendassign Select=1'b0;endmodule四、时序仿真波形:引脚设定时序仿真波形参考设置:1、设置仿真时间。
7448译码与数码管显示电路[整理版]
7448译码与数码管显示电路1. 7448显示译码器7448 BCD-七段显示译码器具有16引脚。
a,b,c,d,e,f,g接数码显示管a,b,c,d,e,f,g:引脚16引脚接5v电源,8引脚接地,LT,RBI,BI/RBO引脚接5v电源,这里5v电源代表逻辑1。
7,1,2,6引脚(对应BCD码的1,2,4,8位)叫BCD码的输入端7448译码器的引脚图7段显示译码器7448是输出高电平有效的译码器,其真值表如下图。
7448译码器的真值表7448除了有实现7段显示译码器基本功能的输入(DCBA)和输出端外,7448还引入了灯测试输入端(LT)和动态灭零输入端(RBI),以及既有输入功能又有输出功能的消隐输入/动态灭零输出(BI/RBO)端。
由7448真值表可获知7448所具有的逻辑功能:(1)7段译码功能(LT=1,RBI=1)在灯测试输入端(LT)和动态灭零输入端(RBI)都接无效电平时,输入DCBA 经7448译码,输出高电平有效的7段字符显示器的驱动信号,显示相应字符。
除DCBA = 0000外,RBI也可以接低电平,见表1中1~16行。
(2)消隐功能(BI=0)此时BI/RBO端作为输入端,该端输入低电平信号时,表1倒数第3行,无论LT 和RBI输入什么电平信号,不管输入DCBA为什么状态,输出全为“0”,7段显示器熄灭。
该功能主要用于多显示器的动态显示。
(3)灯测试功能(LT = 0)此时BI/RBO端作为输出端,端输入低电平信号时,表1最后一行,与及DCBA 输入无关,输出全为“1”,显示器7个字段都点亮。
该功能用于7段显示器测试,判别是否有损坏的字段。
(4)动态灭零功能(LT=1,RBI=1)此时BI/RBO端也作为输出端,LT 端输入高电平信号,RBI 端输入低电平信号,若此时DCBA = 0000,表1倒数第2行,输出全为“0”,显示器熄灭,不显示这个零。
DCBA≠0,则对显示无影响。
实验一七段数码管显示译码器
实验⼀七段数码管显⽰译码器实验⼀七段数码显⽰译码器⼀.实验⽬的: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码译码,然⽽数字系统中的数据处理和运算都是⼆进制的,所以输出表达都是⼗六进制的,为了满⾜⼗六进制数的译码显⽰,最⽅便的⽅法就是利⽤译码程序在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,然后将LED7S改为8位输出。
四.实验步骤1.编辑和输⼊设计⽂件新建⽂件夹——输⼊源程序——⽂件存盘2.创建⼯程打开并建⽴新⼯程管理窗⼝——将设计⽂件加⼊⼯程中——选择⽬标芯⽚——⼯具设置——结束设置3.全程编译前约束项⽬设置选择FPGA⽬标芯⽚——选择配置器件的⼯作⽅式——选择配置器件和编程⽅式——选择⽬标器件引脚端⼝状态——选择Verilog语⾔版本4.仿真测试五.实验参考程序module LED(A,LED7S);input [3:0]A;output [6:0]LED7S;reg [6:0]LED7S;always @ (A)begin: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; endcaseendendmodule六.编译仿真结果1.时序仿真:2.延时分析及结果:3.⽣成RTL原理图:4.该实验的配置模式:5.适配板布局图及实验仪IO脚与芯⽚的管脚对应关系和其详细放⼤图⽚:6.⼗六进制逻辑分析:7.计数器和译码器连接电路的顶层⽂件原理图:七.体会思考:通过本次实验对EDA和QUARTER2有了初步的了解,第⼀次上机感觉挺难的,这次对Verilog也有了深⼊了解。
七段译码器设计(含程序)
七段译码器设计一、实验目的1、掌握7段数码管的使用方法,学习数字编码的规则;2、进一步熟悉VerilogHDL语言设计方法。
二、硬件、软件要求计算机、DE2-70开发板、Quartus II软件、电源适配器、下载电缆。
三、实验内容及实验原理(一)实验原理:7段数码管的实物图和笔段名称如图1-2.27所示:图1-2.27段数码管实物及笔段名称图七段译码器的作用就是实现8421BCD码到七段码的转换。
对应于共阴(阳)数码管,其真值表如表1-2.2所示:表1-2.2七段译码器真值表输入BCD码对应显示数字dp g f e d c b a(括号内为共阳编码)0000000111111(11000000)0001100000110(11111001)0010201011011(10100100)0011301001111(10110000)0100401100110(10011001)0101501101101(10010010)0110601111101(10000010)0111700000111(11111000)1000801111111(10000000)1001901100111(10011000)(二)实验内容:1、根据真值表,采用Verilog HDL语言自行设计七段译码器。
2、设计完成后,下载至开发板上实现。
(三)实验要求:1、采用Verilog HDL语言设计方法完成七段译码器设计,写出Verilog程序;2、对程序进行功能仿真,仿真无误后进行管脚分配(输入8421BCD码:SW0-SW3,输出七段码:HEX0_D[0]-HEX0_D[6]),编译后将编程文件下载到DE2-70开发板,进行功能验证,并观察实验结果。
程序设计如下:module decoder7(data_in,data_out);input[3:0]data_in;output[7:0]data_out;reg[7:0]data_out;always@(data_in)begincase(data_in)4'b0000:data_out=8'b01000000;4'b0001:data_out=8'b01111001;4'b0010:data_out=8'b00100100;4'b0011:data_out=8'b00110000;4'b0100:data_out=8'b00011001;4'b0101:data_out=8'b00010010;4'b0110:data_out=8'b00000011;4'b0111:data_out=8'b01111000;4'b1000:data_out=8'b00000000;4'b1001:data_out=8'b00011000;default:data_out=8'b01111111;endcaseend endmodule。
BCD七段译码器
H 开开开开开开开 4
注:1、当需要 0 到 15 的输出功能时,灭灯输入( )必须为开路或保持在高逻辑电平,
若不要灭掉十进制零,则动态灭灯输入( )必须开路或处于高逻辑电平。
2、当低逻辑电平直接加到灭灯输入( )时,不管其它任何输入端的电平如何,所
有段的输出端都关死。
3、当动态灭灯输入( )和输入端 A、B、C、D 都处于低电平而试灯输入( )为
动器。低电平有效、高的灌入电流的输出可直接驱动显示器。7 个与非门和一个
驱动器成对连接,以产生可用的 BCD 数据及其补码至 7 个与或非译码门。剩下的
与非门和 3 个输入缓冲器作为试灯输入( )端、灭灯输入/动态灭灯输出(
)
端及动态灭灯输入( )端。
该电路接受 4 位二进制编码—十进制数(BCD)输入并借助于辅助输入端状
高时,则所有段的输出端进入关闭且动态灭灯输出( )处于低电平(响应条件)。
4、当灭灯输入/动态灭灯输出(
)开路或保持在高电平,且将低电平加到试
灯输入( )时,所有段的输出端都得打开。
* BI/RBO 是用作灭灯输入( )与/或动态灭灯输出( )的线与逻辑。
天水天光半导体有限责任公司(八七一厂) 2005.1 版
天水天光半导体有限责任公司(八七一厂) 2005.1 版
分段标志ห้องสมุดไป่ตู้
54LS247/74LS247 LSTTL 型 BCD—七段译码器/驱动器(OC,15V) 数码管显示图示
功能表:
十进制 或功能
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 BI RBI LT
输
HH H× H× H× H× H× H× H× H× H× H× H× H× H× H× H× ××
七段数码显示译码器设计
实验一七段数码显示译码器设计一、实验目的:1.完成七段数码显示译码器的设计,学习组合电路设计;2.学习多层次设计方法。
3.锻炼使用Verilog HDL 语言编程的能力。
二、实验原理:1.七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。
2.七段码输入与输出的原理与真值表关系。
a)输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的“0”到“F”。
b)输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。
一般规定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。
本实验使用的七段数码为共阴极,其电路图如图1所示。
图1 共阴数码管及其电路c)输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,表2-1 七段字符显示真值表数码A3 A2 A1 A0 A B C D E F G 对应码(h)0 0 0 0 0 1 1 1 1 1 1 0 7E1 0 0 0 1 0 1 1 0 0 0 0 302 0 0 1 0 1 1 0 1 1 0 1 6D3 0 0 1 1 1 1 1 1 0 0 1 794 0 1 0 0 0 1 1 0 0 1 1 335 0 1 0 1 1 0 1 1 0 1 1 5B6 0 1 1 0 1 0 1 1 1 1 1 5F7 0 1 1 1 1 1 1 0 0 0 0 708 1 0 0 0 1 1 1 1 1 1 1 7F9 1 0 0 1 1 1 1 1 0 1 1 7BA 1 0 1 0 1 1 1 0 1 1 1 77上,需要进行引脚分配。
一、实验步骤:(1) 创建工程文件(2) 创建原理图设计文档(3) 利用ESC绘制电路图进行功能设计(4) 执行综合(5) 设计测试平台文件(6) 执行功能仿真(7) 执行实现、添加约束文件(8) 执行时序仿真(9) 生产位流文件,配置目标芯片Verilog HDL程序:`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company:// Engineer://// Create Date: 18:47:07 03/10/2013// Design Name:// Module Name: ssss// Project Name:// Target Devices:// Tool versions:// Description://// Dependencies://// Revision:// Revision 0.01 - File Created// Additional Comments:////////////////////////////////////////////////////////////////////////////////////module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg );input a, b, c, d, en;output reg sega, segb, segc, segd,sege,segf,segg;reg [1:7] segs;always @(a or b or c or d or en) beginif (en)case ({d, c, b, a})0:segs = 7'b1111110; //01:segs = 7'b0110000;2:segs = 7'b1101101;3:segs = 7'b1111001;4:segs = 7'b0110011;5:segs = 7'b1011011;6:segs = 7'b0011111;7:segs = 7'b1110000;8:segs = 7'b1111111;9:segs = 7'b1110011; //910:segs = 7'b1110111;//1011:segs = 7'b0011111;12:segs = 7'b1001110;13:segs = 7'b0111101;4:segs = 7'b10011111;15:segs = 7'b1000111;15default segs = 7'bx;endcaseelsesegs = 7'b0;{sega, segb, segc, segd,sege,segf,segg} = segs; endEndmodule实验过程中得到的图片:实验体会:本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之。
BCD七段数码管显示译码器电路
BCD七段数码管显示译码器电路7段数码管又分共阴和共阳两种显示方式。
如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg 这7个发光二极管的负极连接在一起并接地;它们的 7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是 abcdefg )!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。
如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。
共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。
无论共阴共阳 7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。
发光二极管的工作电压一般在 1.8V--2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了, 7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数!发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。
只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。
图4 - 17( a) 是共阴式LED数码管的原理图,图4-17( b)是其表示符号。
使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17( c)所示。
S4-P数字显示译码器BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以F a~F g表示),也称4 — 7译码器。
74ls47n工作原理
74ls47n工作原理
74LS47N是一种BCD(Binary Coded Decimal)-7段数码管译码器/驱动器。
它的工作原理是将输入的BCD码(二进制编码的十进制)转换成对应的7段数码管显示的数字。
具体来说,74LS47N通过译码操作,将BCD码转换成数码管中显示的数字。
这个过程是编码的逆过程,也称为译码。
译码器是一种逻辑电路,其输出与输入代码有唯一的对应关系。
在
74LS47N中,输出是低电平有效的,意味着当某个输入信号被激活时,对应的输出信号将为低电平。
这种设计使得它能够与数码管配合使用。
另外,这里还提供了一个真值表,列出了74LS47N与数码管之间的关系。
通过这个真值表,可以清楚地看到每个输入信号对应的输出信号是什么,以及这些信号如何控制数码管的显示。
以上内容仅供参考,如需了解更多信息,建议查阅相关书籍或咨询专业技术人员。
BCD七段显示译码器的设计报告
实验二、BCD七段显示译码器的设计一、实验目的学习利用VHDL语言设计BCD七段显示译码器的方法,掌握BCD七段显示译码器的设计思路:掌握软件工具的使用方法。
二、实验原理三、实验内容1.用VHDL语言设计BCD七段显示译码器,进行编译、波形仿真及器件编程。
(代码一详见附录)产生仿真波形如下:BCD七段显示译码器仿真1分析:问:给定的代码驱动的是共阴极还是共阳极的七段数码管显示器?由BCD七段显示译码器真值表可知是共阴极七段数码管显示器。
2.用VHDL语言设计3-8译码器,进行编译、波形仿真及器件编程。
(代码二详见附录)产生仿真波形如下:3-8译码器仿真1四、实验心得在实验中,通过BCD七段显示译码器真值表真值表得到BCD七段显示译码器case 代码。
同理通过8-3译码器真值表修改BCD七段显示译码器case代码得到8-3译码器case代码。
附录代码一(BCD七段显示译码器代码):library ieee;use ieee.std_logic_1164.all;entity bcdym isport (a:in std_logic_vector(3 downto 0);y:out std_logic_vector(6 downto 0));end bcdym;architecture zhang of bcdym isbeginprocess(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<="0100111"; 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 others=>y<="1110001";end case;end process;end zhang;代码二(8-3译码器代码):library ieee; use ieee.std_logic_1164.all;entity bm3_8 isport(a:in std_logic_vector(0 to 2);b:out std_logic_vector(0 to 7)); end bm3_8;architecture zhang of bm3_8 isbeginprocess(a)begincase a iswhen"000"=>b<="00000001";when"001"=>b<="00000010";when"010"=>b<="00000100";when"011"=>b<="00001000";when"100"=>b<="00010000";when"101"=>b<="00100000";when"110"=>b<="01000000";when others =>b<="10000000"; end case;end process;end zhang;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
┇
when 分支条件 => 顺序处理语句; end case;
以上语句等效为: process(indicator, sig)
variable temp : std_logic ; begin
temp := ‘0’ ; temp :=temp xor (sig(0) and indicator(0)); temp :=temp xor (sig(1) and indicator(1)); temp :=temp xor (sig(2) and indicator(2)); temp :=temp xor (sig(3) and indicator(3)); output <= temp ; end process ;
a <= b ; b <= a ; end process ; end rtl ; -- 结果是 a 和 b 的值互换
变量赋值: architecture rtl of var is begin process vபைடு நூலகம்riable a,b:std_logic; -- 定义变量 begin a := b ; b := a ; end process ; end rtl; -- 结果是a和b的值都等于b的初值
例:变量赋值实现循环语句功能
process(indicator, sig) variable temp : std_logic;
begin temp := ‘0’ ; for i in 0 to 3 loop
temp:=temp xor (sig(i) and indicator(i));
end loop ; output <= temp; end process;
Combinational Process
component
ports
硬件执行:并行执行(VHDL本质) 仿真执行:顺序执行、并行执行 分为两大类:顺序(Sequential)描述语句
并行(Concurrent)描述语句
顺序描述语句: 执行顺序与书写顺序一致,与传统软件设计
语言的特点相似。顺序语句只能用在进程与子程 序中。
process(…) begin
a <= c; ...
end process;
end ex;
例:信号赋值与变量赋值的比较
信号赋值: architecture rtl of sig is signal a,b : std_logic; -- 定义信号 begin
process(a, b) begin
┇
label2: PROCESS {VARIABLE Declarations}
4)赋值行为的不同: 信号赋值延迟更新数值、时序电路; 变量赋值立即更新数值、组合电路。
5)信号的多次赋值 a. 一个进程:最后一次赋值有效 b. 多个进程:多源驱动 线与、线或、三态
例:信号的多次赋值
architecture rtl of ex is signal a : std_logic;
begin process(…) begin a <= b; … a <= c; end process;
end rtl;
architecture rtl of ex is signal a : std_logic;
begin process(…) begin a <= b; … end process;
❖ ⑵能在EDA实验系统上进行硬件验证测试。
本项目涉及的VHDL语法
❖ VHDL顺序语句(CASE) ❖ 变量与信号的区别 ❖ VHDL并行语句(PROCESS)
VHDL顺序语句(Sequential)
ports
ENTITY
ARCHITECTURE
Process
Process
Sequential Process
一、项目资讯
1、BCD-7段数码管显示译码器电路的工作原 理。
2、基于FPGA与VHDL的数字电路与数字系 统设计方法与工作流程。
3、WITH-SELECT 语句与WHEN-ELSE语句 及其应用。
4、进程语句、CASE语句、IF语句及其应用。
二、项目计划
❖ ⑴能在Max+PlusII软件平台上调试BCD-7段 显示译码电路VHDL程序,并进行功能仿真;
可描述组合逻辑、时序逻辑。
常用的顺序描述语句:
赋值语句; if语句;case语句;loop语句; next语句;exit语句;子程序;return语句; wait语句;null语句。
1、变量赋值与信号赋值
变量与信号的差异:
1)赋值方式的不同: 变量:= 表达式; 信号 < = 表达式;
2)硬件实现的功能不同: 信号代表电路单元、功能模块间的互联,
代表实际的硬件连线; 变量代表电路单元内部的操作,代表暂
存的临时数据。
3)有效范围的不同: 信号:程序包、实体、结构体;全局量。 变量:进程、子程序;局部量。
ARCHITECTURE
{SIGNAL Declarations} label1: PROCESS {VARIABLE Declarations}
如改为信号,则无法实现原功能:
…… signal temp : std_logic;
…… process(indicator, sig, temp) begin
temp<= ‘0’ ; temp<=temp xor (sig(0) and indicator(0)); temp<=temp xor (sig(1) and indicator(1)); temp<=temp xor (sig(2) and indicator(2)); temp<=temp xor (sig(3) and indicator(3)); output <= temp ; end process ;
转向控制语句
转向控制语句通过条件控制开关决定是否执 行一条或几条语句,或重得执行一条或几条语句, 或跳过一条或几条语句。
分为五种: if 语句、case 语句、 loop 语句、next 语句、 exit 语句
case 语句
case 语句常用来描述总线或编码、译码行为。 可读性比if 语句强。
格式如下: