设计数字显示电路
- 格式:doc
- 大小:198.50 KB
- 文档页数:18
数码显示电路的设计概要1.数字信号输入:2.解码器:解码器是数码显示电路中的核心部件。
它将输入的数字信号转换为七段数码管所需的控制信号。
解码器一般有常见的BCD(二进制编码十进制)解码器和十六进制解码器等。
解码器可以采用组合逻辑电路或者查找表的形式实现。
3.驱动器:驱动器用于对七段数码管进行驱动,使其显示所需的数字。
它一般由锁存器和驱动线路组成。
驱动器将解码器的输出信号转换为适合七段数码管的电平和电流。
驱动器需要考虑驱动线路的阻抗匹配和适当的驱动电流限制。
4.七段数码管:七段数码管是数码显示电路的输出部件,用于显示数字。
它由七个LED(发光二极管)和一个小数点组成。
每个LED表示一个数字的一个段。
通过对不同的LED进行组合,可以显示0-9的十个数字和一些字母以及特殊符号。
七段数码管的选型需根据设计的需求来选择合适的型号。
5.电源:6.其他辅助部件:根据具体设计需求,还可以添加一些辅助部件来实现特定功能,如锁存器、显示刷新电路、亮度控制电路、自动亮度调节电路等。
在数码显示电路的设计过程中,需要充分考虑信号的稳定性、电路的稳定性、功耗和成本等方面的因素。
同时,还需要正确配合各个模块的参数,调整各种电阻、电容和放大器增益等参数,以实现期望的性能和功能。
总结起来,数码显示电路是一种用于将数字信号转换为可见的数码显示的电子电路。
它主要由数字信号输入、解码器、驱动器、七段数码管和电源等部件组成。
在设计数码显示电路时,需要注意信号的稳定性、功耗、成本和相互配合等方面的因素。
设计过程中需要充分考虑各种参数和调整合适的电路元件,以实现所需的性能和功能。
计数器及其译码显示电路设计一、引言计数器及其译码显示电路是数字电路中常见的模块,广泛应用于计数、测量、定时等领域。
本文将介绍计数器及其译码显示电路的设计原理和实现方法。
二、计数器的基本原理计数器是一种能够在一定范围内按照规定的步长进行累加或累减操作的电路。
常见的计数器有二进制计数器和十进制计数器两种。
1.二进制计数器二进制计数器是指能够在二进制数字系统中进行累加或累减操作的电路。
其基本原理是通过触发器来实现数据存储和状态转移,以达到累加或累减的目的。
常见的二进制计数器有同步计数器和异步计数器两种。
同步计数器是指所有触发器都在同一个时钟脉冲下进行状态转移,因此具有较高的稳定性和精度。
异步计数器则是指每个触发器都有自己独立的时钟输入,因此具有较高的速度和灵活性。
2.十进制计数器十进制计数器是指能够在十进制数字系统中进行累加或累减操作的电路。
其基本原理是通过将二进制计数器的输出信号转换为十进制数字系统中的数字,以达到实现十进制计数的目的。
常见的十进制计数器有BCD计数器和二进制-BCD码转换器两种。
三、译码显示电路的基本原理译码显示电路是一种能够将数字信号转换为对应的字符或图形信号进行显示的电路。
常见的译码显示电路有BCD-7段译码器和BCD-10段译码器两种。
1.BCD-7段译码器BCD-7段译码器是指能够将4位二进制代码转换为对应的7段LED数字管显示信号的电路。
其基本原理是通过查表法将4位二进制代码映射到对应的7段LED数字管上,以实现数字信号到字符信号的转换。
2.BCD-10段译码器BCD-10段译码器是指能够将4位二进制代码转换为对应的10个LED 灯管显示信号的电路。
其基本原理与BCD-7段译码器相似,不同之处在于需要额外添加3个LED灯管用于表示“.”、“-”和“+”等符号。
四、计数器及其译码显示电路设计实例下面以一个4位同步二进制计数器及其对应的BCD-7段译码器为例,介绍其设计过程。
数电实验报告数码管显示控制电路设计实验目的:设计一个数码管显示控制电路,实现对数码管的显示控制。
实验器材:数码管、集成电路、电阻、开关、电源等。
实验原理:数码管是一种用它们来显示数字和字母的一种装置。
它由几个独立的发光二极管组成,每个数字由不同的发光二极管的组合表示。
对数码管的显示控制通常使用多路复用技术实现,即通过控制数码管的分段和共阴极或共阳极来实现不同数字的显示。
实验步骤:1.确定数码管的类型和接线方式。
本实验中使用共阳数码管,数码管共阳极通过电阻连接到正极电源。
2.选取适当的集成电路作为显示控制电路。
本实验中选择CD4511作为显示控制芯片,它可以实现对4位共阳数码管的显示控制。
3.连接电路。
将4位共阳数码管的阳极分别连接到CD4511芯片的A、B、C和D端口,共阴极连接到电源正极。
将CD4511芯片的输入端口IN1、IN2、IN3和IN4连接到微控制器的输出端口,控制微控制器输出的电平来选通不同的数码管。
4.设置微控制器的输出。
通过编程或手动设置微控制器的输出端口来控制数字的显示。
根据需要显示的数字,将相应的输出端口设置为高电平,其余端口设置为低电平。
通过适当的延时控制,便可以实现数字的连续显示。
实验结果与分析:经过上述步骤完成电路搭建后,我们可以通过改变微控制器的输出端口来控制数码管的显示。
当我们设置不同的输出端口为高电平时,相应的数码管会显示对应的数字。
通过适当的延时控制,我们可以实现数字的连续显示,从而实现对数码管的显示控制。
实验结论:通过本次实验,我们成功地设计并实现了一个数码管显示控制电路。
通过对微控制器输出端口的控制,我们可以实现对数码管的数字显示控制。
这对于数字显示系统的设计和开发具有重要意义。
实验心得:通过本次实验,我对数码管的显示控制有了更深入的了解。
数码管作为一种常见的数字显示装置,广泛应用于各种电子设备中。
掌握其显示控制原理和方法对于电子技术爱好者来说至关重要。
通过实际操作,我对数码管显示控制电路的设计和实现有了更深入的认识,同时也提高了我对数字显示系统的理解和设计能力。
数字显示电路课程设计6一、课程目标知识目标:1. 学生能理解数字显示电路的基本原理,掌握常见数字显示器件如LED、LCD 的工作原理和特点。
2. 学生能描述数字显示电路的设计步骤,包括电路搭建、编程控制等关键环节。
3. 学生能解释数字显示电路中涉及的数学概念,如二进制、BCD码等,并应用于实际电路设计中。
技能目标:1. 学生能运用所学知识,设计并搭建简单的数字显示电路,实现数字和简单字符的显示。
2. 学生能运用编程软件(如Arduino),编写程序控制数字显示电路,实现动态显示效果。
3. 学生能通过实际操作,掌握数字显示电路的调试和故障排查方法。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣,激发创新意识,提高实践能力。
2. 学生在小组合作中,学会沟通与协作,培养团队精神和责任心。
3. 学生通过数字显示电路的设计与制作,认识到科技在实际生活中的应用,增强学以致用的意识。
课程性质:本课程为电子技术实践课程,注重理论联系实际,培养学生的动手能力和创新能力。
学生特点:六年级学生具有一定的电子技术基础,对新鲜事物充满好奇,动手能力强,喜欢挑战。
教学要求:结合学生特点,课程设计需注重实践性、趣味性和挑战性,引导学生主动探究,培养解决问题的能力。
通过分解课程目标为具体学习成果,使学生在实践中掌握知识,提高技能,培养情感态度价值观。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容本课程教学内容紧密结合课程目标,以教材中数字显示电路相关章节为基础,进行以下安排:1. 数字显示器件原理:介绍LED、LCD等常见数字显示器件的工作原理、性能参数和应用场景。
2. 数字显示电路设计:讲解数字显示电路的设计步骤,包括电路原理图绘制、元器件选型、电路搭建等。
3. 编程控制:运用Arduino编程软件,编写程序实现对数字显示电路的控制,实现数字和简单字符的显示。
4. 电路调试与故障排查:教授学生如何对数字显示电路进行调试,查找并解决常见故障。
如何设计简单的数字显示电路数字显示电路是一种常见的电子电路,用于将数字信息以可视化形式展示出来。
设计一个简单的数字显示电路需要考虑到多个方面,包括数字信号输入、数码管显示、信号处理等。
本文将介绍如何设计一个简单且有效的数字显示电路。
首先,数字信号的输入。
在数字电路中,数字信号通常以二进制形式表示。
一般情况下,我们使用开关或按钮来输入数字信号。
可以将多个开关或按钮与逻辑门相连,通过逻辑门来将输入的信号转换为二进制码。
例如,可以使用4个开关分别表示二进制数的各位,然后将它们与AND、OR、NOT等逻辑门相连,以得到最终的二进制码。
接下来是数码管的显示。
数码管是一种常用的数字显示设备,能够将数字信息以可视化形式展示出来。
常见的数码管有共阳极和共阴极两种类型。
对于共阴极数码管,它们的负极(阴极)是共用的,而正极(阳极)分别与控制芯片相连。
而对于共阳极数码管,则正好相反。
我们可以通过控制数码管的阳极或阴极来显示不同的数字。
通常,数码管内部有七个或者更多的LED灯,用来显示不同的数字。
设计一个简单的数字显示电路时,需要确定数码管的类型、连接方式以及控制逻辑。
信号处理是数字显示电路中的关键环节。
在输入的数字信号经过逻辑门转换得到二进制码后,需要将二进制码转化为七段码或其他适合数码管显示的编码形式。
常见的七段码包括BCD码(十进制编码)、ASCII码等。
通过将二进制码转化为七段码,然后将七段码与数码管相连接,即可实现数字的显示。
在信号处理的过程中,可能涉及到编码转换器、译码器等电路。
此外,为了确保数字显示电路的正常工作,还需要考虑到电源供电、接地和电路的稳定性等因素。
通常情况下,我们使用直流电源供电,并确保电源电压稳定。
同时,还需要注意将数字显示电路正确地接地,以减少干扰,提高信号的稳定性和可靠性。
综上所述,设计一个简单的数字显示电路需要考虑到数字信号的输入、数码管的显示、信号处理以及电源供电等方面的问题。
通过合理地选择开关、逻辑门、数码管和相关电路元件,并设计适合的连接方式和信号处理方法,即可实现数字信息的简单显示。
实验名称一位数码管显示变化数字一、实验目的1.通过AT89C52单片机控制数码管显示数字0到9。
2.用Protues设计、仿真以AT89C52为核心的数码管变化数字显示电路。
3.理解led七位数码管的显示控制原理。
二、实验任务让一位数码管能够从0不断显示到9。
三、实验设备微机1台、Proteus软件1套、GL10型51单片机学习开发板1台。
四、实验电路绘制五、汇编语言程序设计1.设计原理该led数码管为8段显示,每一段对应一个发光二极管,根据查询发现GL10给力者单片机是共阴数码管,当某个发光二极管的阳极为高电平时,发光二极管点亮相应的段被显示。
2.程序框图3.汇编程序$NOMOD51$INCLUDE (8051.MCU)ORG 0000HAJMP MAINORG 0030HMAIN:MOV R4, #00H ;记录码表的值MOV DPTR, #TABLE ;把地址送DPTRSTRAT:MOV A, R4MOVC A, @A+DPTR ;取码MOV P2, A ;显示INC R4 ;自增,取下个值做准备CALL DELAY ;调用CJNE R4, #16, STRAT ;判断是否显示完16个数值AJMP MAINDELAY: MOV R6, #1DELAY4:MOV R1, #10DELAY3:MOV R2, #100DEALY1:MOV R3, #250DEALY2:NOPNOPDJNZ R3,DEALY2DJNZ R2, DEALY1DJNZ R1, DELAY3DJNZ R6, DELAY4RET;码表TABLE:DB<span style="white-space:pre"></span>0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6FEND六、Proteus软件模拟仿真七、GL10单片机仿真系统1.实验板连线2.实验操作步骤先用杜邦线连接一位数码管模块和89c51芯片的p2口,然后用usb连接线将整个单片机与电脑相连,打开烧录软件,选中数码管动态显示变化数字的hex 文件,点击下载,按下单片机的电源开关,程序将烧录到单片机中,数码管就会从0显示到9,并循环。
数电实验报告数码管显示控制电路设计一、实验目的1.学习数码管介绍和使用;2.熟悉数码管控制电路设计思路和方法;3.掌握数码管显示控制电路的实验过程和步骤。
二、实验原理数码管是数字显示器件,具有低功耗、体积小、寿命长等优点。
常见的数码管有共阳极和共阴极两种。
共阳极数码管的阳极端口是一个共用的端口,通过将不同的阴极端口接地来控制数码管的发光情况。
共阴极数码管的阴极端口是一个共用的端口,通过将不同的阳极端口接地来控制数码管的发光情况。
数码管的控制电路可以使用逻辑门电路或微控制器来实现。
本实验采用逻辑门电路来设计数码管显示控制电路。
三、实验器材和器件1.实验板一块;2.74LS47数码管译码器一颗;3.共阴极数码管四个;4.逻辑门IC:7404、7408、7432各一个;5.杜邦线若干。
四、实验步骤1.将74LS47数码管译码器插入实验板上的相应位置,并用杜邦线连接74LS47和逻辑门IC的引脚:1)将74LS47的A、B、C和D引脚依次连接到7408的输入端;2)将74LS47的LE引脚连接到VCC(高电平,表示使能有效);3)将74LS47的BI/RBO引脚连接到GND(低电平,表示译码输出);4)将7408的输出端依次连接到7432的输入端;5)将7432的输出端依次连接到数码管的阴极端口。
2.将四个数码管的阳极端口分别连接到4个控制开关上,并将开关接地。
3.将实验电路接入电源,调整电压和电流,观察数码管的显示情况。
五、实验结果和分析实验结果显示,控制开关的状态可以控制数码管的显示内容。
当其中一控制开关接地时,对应的数码管会显示相应的数字。
通过调整开关的状态,可以实现不同数字的显示。
六、实验总结通过这次实验,我学会了数码管的基本使用方法和控制电路的设计思路。
数码管作为一种数字显示元件,广泛应用于各种电子产品中,掌握其控制方法对于电子工程师来说非常重要。
在今后的学习和工作中,我将继续深入研究数码管的相关知识和应用,提高自己的技术水平。
实验八:数码管显示控制电路设计一、设计任务与要求:能自动循环显示数字0、1、2、3、4、0、3、0、3、4。
二、实验设备:1、数字电路实验箱;2、函数信号发生器;3、8421数码管;4、74LS00、74LS90。
三、实验原理图和实验结果:1、逻辑电路设计及实验原理推导:将0、1、2、3、4、0、3、0、3、4用8421码表示出来,如下表:表一用8421码表示设想用5421码来实现8421码表示的0、1、2、3、4、0、3、0、3、4,故将0、1、2、3、4、5、6、7、8、9用5421码表示出来以与上表做对比:表二 用5421码表示:观察表一,首先可得到最高位全为0,故译码器的“8”直接接低电平即可;对比表一和表二得,“4”位上的数字两表表示的数字是一样的,故“4”直接与5421码的“4”输出相连即可,即译码器的“4”连74LS90的“Q 3”端;数码管的“2”对应的无明显规律,列卡诺图如下:可得F2=1020Q Q Q Q ;最后一位与5421的“1”相同,故74LS90的Q1直接接数码管的“1”。
至此,实验原理图即可画出了.2、实验原理图:3、实验结果:编码器上依次显示0、1、2、3、4、0、3、0、3、4。
四、实验结果分析:实验结果为编码器上依次显示0、1、2、3、4、0、3、0、3、4,满足实验设计要求。
五、实验心得:在实验之前我用仿真软件,使用同样的实验器件仿真了序列0、1、2、3、4、1、3、0、2、4,已经把利用74LS90产生序列的原理掌握了,所以在实验时老师布置了本次的实验目的之后,我很快的设计出了如何连接电路,但是实验过程却没有想象的那么简单,实验电路板和仿真软件毕竟不同,实验中可能出现插线不紧或者松动的现象,函数发生器的相关参数的设置,偏移量的设置等等问题都会出现。
这就给实验的进行造成了很大的麻烦,查了几遍连线完全没有错误,但就是出不来想要的序列,最后重新安了一遍线,保证插线完好,并用了输出比较稳定的函数发生器产生序列,终于调出来了。
数字电子技术实验——数字显示电路一、设计任务与要求1.数字显示电路操作面板:左侧有16个按键,标号为0到15的数字,面板右侧有2个共阳极7段显示器;2.设计要求:按下小于10的按键后,右侧低位7段显示器显示数字,左侧高位7段显示器显示0;当按下大于9的按键后,右侧低位7段显示器显示个位数字,左侧7段显示十位数字1.若同时按下几个按键,优先级别的顺序是15到0。
二、总体电路设计1.原理框图2. 整体设计电路图3.电路整体分析本次电路大体可分为三部分:开关及编码部分、译码部分和数码管显示部分。
整体思想是由左侧的16个开关控制信号的输入。
信号输入后由编码器编码输出,再进入与非门和加法器进行逻辑运算。
之后进入译码器进行译码,译码输出后的信号输入数码管输出数字。
各部分电路具体的功能实现将在下面讲解。
4. 元件清单按键开关×168—3线优先编码器74LS148×24输入与非门×2四位二进制加法器×1显示译码器74LS47×2共阳极数码管×2导线等若干三、单元电路分析1. 开关及编码部分本部分负责电路的开关信号的输入和编码。
其中,16个按键开关分别对应的0至15的数字。
由于所选用的74LS148编码器是低电平输入,所以我们将开关的初始状态连接高电平,改变状态连接低电平,开关公共端输出到编码器的输入端。
由于我们要输入十六个数字,而一片74LS148只有8个输入端,故而选用两片级联的方式,即:将高位片的级联端EO 与低位片的EI相连。
这样开关信号的15至8依次进入高位片的D7至D0;开关信号的7至0依次进入低位片的D7至D0。
由此实现16个信号的输入并且优先级别顺序是15到0。
2.译码部分本部分的功能是通过与非门和加法器的逻辑运算,把编码器输出信号变成适合译码器的输入信号。
所需完成的变换主要有三:编码器输出的信号是低电平有效,故需要把输出信号变成其反码。
大连理工大学城市学院数字电路与系统课程设计设计题目:设计数字显示电路学院:电子与自动化学专业:学生:同组人:指导教师:完成日期: 2012年3目录第一章设计任务1.1项目名称1.2项目设计说明1.2.1设计任务和要求1.2.2进度安排1.3项目总体功能模块图第二章需求分析2.1问题基本描述2.2系统模块分解2.3系统各模块功能的基本要求第三章设计原理3.1 设计原理3.2 MAXPLUSII介绍第四章系统功能模块设计4.1计数模块4.1.1计数模块流程图4.1.2输入输出引脚及其功能说明4.1.3程序代码实现4.2数据选择模块4.2.1数据选择模块流程图4.2.2输入输出引脚及其功能说明4.2.3程序代码实现4.3七段译码显示模块4.3.1七段译码显示模块流程图4.3.2输入输出引脚及其功能说明4.3.3程序代码实现第五章调试并分析结果5.1输入说明5.2预计输出5.3测试结果记录5.4测试结果分析第六章结论6.1心得体会6.2参考文献第一章设计任务1.1 项目名称:设计数字显示电路本项目的主要内容是设计并实现8位数码管轮流显示8个数字。
该电路将所学的数字电路与系统大部分知识和VHDL语言结合。
1.2项目设计说明1.2.1设计任务和要求A、用CPLD设计一个八位数码管显示电路;B、8位数码管轮流显示8个数字,选择合适的时钟脉冲频率实现8个数码管同时被点亮的视觉效果。
1.2.2进度安排第一周至第二周每周二2课时,共10课时。
具体安排为:第一周至第三周 6课时自行设计、第四周实验结果验收、第五周交报告并进行答辩。
1.3项目总体功能模块图第二章需求分析2.1问题基本描述基本系统流程图如下2.2系统模块分解动态扫描显示电路的主要组成为:计数器、显示译码器、32选4数据选择器、扫描电路组成。
2.3系统各模块功能的基本要求1、计数器:CN8模块输入信号是时钟脉clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。
要显示8位数字,所以用3位2进制数作为输出。
输出信号为cout[0..2]。
2、八选一数据选择模块:模块输入信号一个是数据选择器的地址码SEL[2..0],另一部分是数据信息A[3..0]~F[3..0].地址码是SEL[2..0]来自时钟脉冲计数器CN6,由地址码SEL[2..0]决定输出哪个输入数据。
输出信号是q[3..0];3、扫描显示译码器:完成对7字段数码管显示的控制。
第三章设计原理3.1 设计原理采用动态扫描的方式实现设计要求。
动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。
各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。
因此在同一时刻如果各位数码管的位选线都处于选通状态的话,6位数码管将显示相同的字符。
若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。
同时,段线上输出相应位要显示字符的字型码。
这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。
虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。
总之,多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环一次点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率较大,将看不到闪烁现象。
将会看到6个数码管持续稳定点亮的现象。
3.2 MAXPLUSII介绍MAX+PLUS II 是一个完全集成化的可编程逻辑环境,能满足用户各种各样的设计需要。
它支持Altera公司不同结构的器件,可在多平台上运行。
MAX+PLUS II 具有突出的灵活性和高效性,为设计者提供了多种可自由选择的设计方法和工具。
丰富的图形界面,可随时访问的在线帮助文档,使用户能够快速轻松地掌握和使用MAX+PLUSII软件。
MAX+PLUSII 具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。
用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。
MAX+PLUS II 开发系统众多突出的特点,使它深受广大用户的青睐。
MAX+PLUSII支持 Altera公司的 Classic、ACEX 1K、 MAX 3000、 MAX 5000、MAX 7000、 MAX 9000、 FLEX 6000和 FLEX 10K等系列的可编程逻辑器件,门数为600~250000门,提供了工业界真正与结构无关的可编程逻辑设计环境。
MAX+PLUSII 的编辑器还提供了强大的逻辑综合与优化功能以减轻用户的设计负担。
MAX+PLUSII软件的设计输入、处理、校验功能完全集成于可编程逻辑开发工具内,从而可以更快的进行调试,缩短开发周期。
设计者可以从各种设计输入、编辑、校验及器件编程工具中作出选择,形成用户风格的开发环境,必要时还可以在保留原始功能的基础上添加新的功能。
由于MAX+PLUSII支持多种器件系列,设计者无须学习新的开发工具即可对新结构的器件进行开发。
MAX+PLUSII软件支持多种HDL的设计输入,包括标准的VHDL、 Verilog HDL 及Altera公司自己开发的硬件描述语言AHDL。
MAX+PLUS II 由设计输入、项目处理、项目检验和器件编程等4部分组成,所有这些部分都集成在一个可视化的操作环境下。
MAX+PLUS II 管理窗口包括项目路径、工作文件标题条、MAX+PLUS II菜单条、快捷工具条和工作区等几个部分。
设置好授权码后,启动MAX+PLUS II即进入MAX+PLUS II 管理窗口,如图6.4所示。
MAX+PLUS II 还为用户提供了功能强大的在线帮助功能。
通过使用在线帮助,用户可以获得设计中所需的全部信息。
第四章系统功能模块设计4.1计数(数码管位选控制)模块4.1.1数码管位选控制模块流程图4.1.2输入输出引脚及其功能说明CN8模块输入信号是时钟脉冲clk,每遇到一个时钟脉冲clk上升沿时,内部累加器便加一,再把累加器所得结果与2进制数的形式输出。
要显示八位数字,所以用3位2进制数作为输出。
输出信号为cout[0..2]。
总之是通过输入输出信号来对数码管进行位选控制。
4.1.3程序代码实现library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cn8 isport(clr,start,clk: in bit;cout: out std_logic_vector(2 downto 0));end cn8;architecture a of cn8 issignal temp:std_logic_vector(2 downto 0);beginprocess(clk,clr)beginif clr='0' thentemp<="000";cout<='0';elsif (clk'event and clk='1') then if start='0' thenif temp>="111" thentemp<="000";cout<='1';elsetemp<=temp+1;cout<='0';end if;end if;end if;end process;cout<=temp;end a;4.2数据选择模块4.2.1.数据选择模(八选一模块)块流程图4.2.2输入输出引脚及其功能说明SEL81模块输入信号一个是数据选择器SEL81的地址码SEL[2..0],另一部分是数据信息A[3..0]~H[3..0].地址码是SEL[2..0]来自时钟脉冲计数器CN8,由地址码SEL[2..0]决定输出哪个输入数据。
输出信号是q[3..0]。
4.2.3程序代码实现Library ieee;Use ieee.std_logic_1164.all;Entity sel81 isPort(sel:in std_logic_vector(2 downto 0);A,b,c,d,e,f,g,h:in std_logic_vector(3 downto 0);Q:out std_logic_vector(3 downto 0));End sel81;Architecture rtl of sel81 isbeginProcess(a,b,c,d,e,f,g,h,sel)Variable cout:std_logic_vector(3 downto 0);BeginCase(sel)isWhen"000"=>cout:=a;When"001"=>cout:=b;When"010"=>cout:=c;When"011"=>cout:=d;When"100"=>cout:=e;When"101"=>cout:=f;When"110"=>cout:=g;When others =>cout:=h;End case;Q<=cout;End process;End rtl;4.3七段译码器模块4.3.1七段译码器模块模块流程图4.3.2输入输出引脚及其功能说明DISP模块是七段译码器,将输入的4位二进制数转换为数码显示管对应的数字。
例如输入为4进制数0000的时候,使数码显示管显示0,则要七段译码器输出为011111。
即g段为0,g段发光二极管不亮,其它发光二极管被点亮,显示效果为0。
DISP模块输入信号D[3..0],输出信号是Q[6..0]。
4.3.3程序代码实现Library ieee;Use ieee.std_logic_1164.all;Entity disp isport(d:in std_logic_vector(3 downto 0);q:out std_logic_vector(6 downto 0));end disp;Architecture rtl of disp isBeginProcess(d)BeginCase d isWhen"0000"=>q<="0111111";When"0001"=>q<="0000110";When"0010"=>q<="1011011";When"0011"=>q<="1001111";When"0100"=>q<="1100110";When"0101"=>q<="1101101";When"0110"=>q<="1111101";When"0111"=>q<="0100111";When"1000"=>q<="1111111";When others=>q<="1101111";End case;End process;End rtl;第五章调试并分析结果5.1输入说明clk 时钟输入Clr 计数器清零(低电平有效)Start 打开计数器(低电平有效)A[3..0]..H[3..0] 输入要显示的数字5.2预计输出Cout[2..0] 数码管位选控制Q[6..0] 数码管段选控制5.3测试结果记录同时显示0,1,2,3,4,5,6,7这八个不同的数字图形到八个数码管上。