




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 146 - 基于复杂可编程逻辑器件的交通灯控制电路设计方案 数字系统设计的过程 数字电路与系统由于其所实现的功能不同、应用目的不同,从而使得它们内部的电路结构存在着很大的差异。数字电路与系统虽然千差万别,但是它们之间也存在着许许多多的相同之处。 各种数字电路与系统之间的最大相同点是它们的设计过程。对于一个应用电子系统,这个设计过程包括:设计目的和技术指标的理解、设计方案的确定、系统的分解、单元电路设计、系统连调、测量数据的分析以及设计总结。通常还需要向用户提供使用手册或者设计报告。使用手册和设计报告之间 的区别为前者的撰写重点为如何使用和维护系统;后者的重点是向用户介绍系统的技术特点。 在大学里,学生需要参加一系列的实践教学活动,例如各种实验、课程设计以及毕业设计等。这些实践教学结束以后,学生需要提交相应的报告。需要注意的是设计报告与实验报告的格式不同,其中的原因是实验是验证性的,通常会向学生提供实验电路、实验步骤和测量要求;后者只向学生提供设计要求,完成的具体过程由学生自己制定。 课程设计和毕业设计报告的格式与数字系统的设计报告格式相似。这种报告的格式之一就是按照设计过程来撰写。通过撰写设 计报告加深对设计过程的理解和掌握,这点对一个学生来说更为重要。按照上述想法,设计报告应包括以下部分:引言、方案论证、系统设计、单元电路设计、系统连调和数据分析、设计总结、附录、参考文献。 引言部分描述设计目的。本章设计的交通灯控制电路虽然也具有一定使用价值,但是这里的主要目的是通过设计过程学习如何把课本知识用于具体设计,即完成理论和实际的结合。鉴于这里已经明确地说明设计目的,本章的后面内容将不涉及这部分。 实现某一种系统功能或者技术指标具有多种可行的设计方案,每一种设计方案都具有它自己的优点 和缺点。不存在一种最好的设计方案,只有最佳的设计方案。方案论证的过程是一个折中的过程,设计者需要在所能实现的系统功能、技术指标的精度、成本和所需要的技术条件的支持等方面进行权衡。方案论证体现了设计者知识面的宽度。 系统设计的目的是使复杂问题简单化。通过系统设计这个过程,设计者可以把数字系统划分成一系列电路模块。每个电路模块实现一种独立的功能,这样不仅可以简化系统的设计,而且方便多个设计者合作完成设计工作。对于一个刚开始学习设计数字系统的学生,数字系统应该分解成在教材中学习过的基本电路,这样也可以进一 步理解理论知识。 单元电路设计是在系统设计的基础上,把具体要求变为实际的电路,并实现所要求的功能和技术指标。如果单元电路对应教材中学习过的基本电路,这时所进行的步骤将与当时进行分析的步骤相反,即利用课本知识支持实际需要,又加深对以前知识的理解。 系统连调是在单元电路设计完成的基础上,把分离的单元电路连接成完整的系统,并对其进行测量。经常出现的情况是单元电路工作正常,但是它们连接在一起却不能正常工作。这时的调试重点应放在电路之间的接口上,从信号的传输速率和带载能力两个方面来检查。 - 147 - 像交通灯控制电路这样的低速系统 ,主要问题是带载能力,例如当一个芯片驱动多个负载将使得输出信号电压下降,当输出高电平低于器件的最低高电平,后级电路工作将受影响。 交通灯控制电路的设计为功能设计,没有涉及具体的性能技术指标。实际设计中将涉及许多具体的性能技术指标,需要测量这些技术指标,并对测量数据进行分析,评估是否达到系统的设计要求, 在下一章中将涉及这部分内容。 设计总结包括设计特点,改进潜力等内容。如前所述,实现某一种系统功能或者技术指标具有多种可行的设计方案,每一种设计方案都具有它自己的优点和缺点。结合本次设计过程,再次对设计方案进行考 虑,不仅便于产品性能升级,而且有助于提高设计者的能力。这也符合从理论到实践,再从实践到理论的认识问题的循环过程。 附录用于给出在正文中不便列出的技术资料,例如原理电路图、源程序清单等内容。 方案论证 设计要求 设计一个交通灯控制电路,设计要求如下: * 系统需要控制东西和南北方向的两个路口,每个方向的路口都有红、黄和绿 3 个指示灯 * 每个方向的路口都有通行 /等待时间显示 * 东西方向路口通行时间为 8s,南北方向路口通行时间为 18s,每个路口从通行到禁止都具有 2s 的时间间隔 * 系统自己产生所需要的时钟信号 设计要求的真值表描述 在数字电路逻辑设计课程中介绍的数字电路描述方法包括真值表、布尔表达式、逻辑电路图、时序图等。进行电路设计时,通常首先根据设计要求写出真值表,再由真值表写出布尔表达式。 如果使用与门、或门和非门这样的基本逻辑门实现系统的逻辑功能,则由布尔表达式就可以直接画出对应的电路图。由此可以看出,真值表是设计要求与电路实现之间的桥梁。 满足上面设计要求的交通灯控制电路真值表如表 6 表 6的功能,因此该电路可以完全由数字器件来实现。表中的 30 个工作状态可以由时序电路产生,时序电路可以由系统时钟来控制。工作状态信号到交通灯控制信号的生成以及到时间显示电路控制信号的生成可以由组合电路实现。 所要设计的交通灯控制电路如果由标准逻辑器件来实现,工作状态的产生可以使用计数器芯片,例如 74161; 组合电路部分可以由基本的门电路实现,也可以使用中规模逻辑器件,例如时间显示部分可以采用 段共阳极数码管显示代码的译码芯片 7447。 如前所述, 由于用户无法修改标准逻辑器件的功能,所制作的电路不具有通用 性。如果用户提出不同的要求,例如不同的道路通行时间,修改系统设计必须通过对电路重新设计和组装来实现。 - 148 - 一般希望设计的交通灯控制电路在满足不同要求时,不需要重新设计电路板,因此这里不考虑使用标准逻辑器件。 表 6交通灯控制电路真值表 工作 状态 东西方向 南北方向 绿 黄 红 时间显示 绿 黄 红 时间显示 0 1 0 0 08 0 0 1 10 1 1 0 0 07 0 0 1 09 2 1 0 0 06 0 0 1 08 3 1 0 0 05 0 0 1 07 4 1 0 0 04 0 0 1 06 5 1 0 0 03 0 0 1 05 6 1 0 0 02 0 0 1 04 7 1 0 0 01 0 0 1 03 8 0 1 0 02 0 0 1 02 9 0 1 0 01 0 0 1 01 10 0 0 1 20 1 0 0 18 11 0 0 1 19 1 0 0 17 12 0 0 1 18 1 0 0 16 13 0 0 1 17 1 0 0 15 14 0 0 1 16 1 0 0 14 15 0 0 1 15 1 0 0 13 16 0 0 1 14 1 0 0 12 17 0 0 1 13 1 0 0 11 18 0 0 1 12 1 0 0 10 19 0 0 1 11 1 0 0 09 20 0 0 1 10 1 0 0 08 21 0 0 1 09 1 0 0 07 22 0 0 1 08 1 0 0 06 23 0 0 1 07 1 0 0 05 24 0 0 1 06 1 0 0 04 25 0 0 1 05 1 0 0 03 26 0 0 1 04 1 0 0 02 27 0 0 1 03 1 0 0 01 28 0 0 1 02 0 1 0 02 29 0 0 1 01 0 1 0 01 - 149 - 虽然这里不使用标准逻辑器件实现电路功能,但是数字电路逻辑设计课程中介绍的方法仍然可以使用,例如按照电路当前状态是否与以前状态相关,电路可以被划分为时序电路和组合电路。 基于微控制器的交通灯控制电路设计 交通灯控制电路的每个状态的持续时间达 1s,因此系统对所用器件在工作速度方面几乎没有要求。使用 微控制器 芯片,例如 现这个系统将是非常容易的。 0115)0)14)1)13)R)12)D)11)10)9)8)21+ 5 V+C 41 0 u 0 . 1 u 1 0 u F+R 11 0 C 33 0 p F 3 0 p M H 片机最小应用系统电路 在 图 6容 体 来产生系统工作所需要的稳定时钟信号。电容 1构成复位电路。 管脚 脚 31)接高电平用来选择 片的内部程序存储器。电容 5组成电源滤波电路。 个 8位并行输入 /输出口 3,共可提供 32 个输入 /输出管脚,同时还有许多方法对输入 /输出管脚进行扩展,这些输入 /输出管脚可以用来控制交通信号灯或者时间显示器件。 微控制器 芯片的工作是在时钟信号的控制下,按照所编写程序的逻辑关系从程序存储器中逐条读出指令,并执行。在时钟信号的控制下,逐条执行指令这个过程提供了产生时序电路功能的另一种方法。 执行下面程序语句: 1, #可以把真值表中指定状态对应的输出控制信号送出。如果 的 8个管脚与 8 段数码管的 8个管脚连接, #数据显示。 执行上面语句需要 2个机器时钟周期。 ,对于图 6于系统时钟频率为 12器时钟频率为 1行上面语句仅需 22通灯控制电路这样的数字系统显得太快了,这个问题可以通过在每个状态之间插入实现延时的语句来克服。 - 150 - k 字节的片内程序存储空间,它足够 交通灯控制电路的需要,不需要扩展程序存储器。再有,这款芯片的市场价格仅为 5元人民币左右, 使得基于微控制器的交通灯控制电路设计方案具有价格优 势。 基于可编程逻辑器件的交通灯控制电路设计 可编程逻辑器件,包括复杂可编程逻辑器件( 现场可编程门阵列器件( 内部的与或门阵列或者查找表提供了实现如表 6部的触发器提供了在系统时钟的控制下产生状态信号的逻辑资源。 本设计需要输出 6 个交通灯控制信号, 4个 8段数码管在不考虑使用小数点的情况下需要 28个控制信号,因此共计需要 34个输入 /输出管脚。 辑器件 现场可编程门阵列器件 4 个和 59个输入 /输出管脚,完全满足设计要求。在输入 /输出管脚方面,这两种可编程逻辑器件优于 使用时不需要扩展 输入 /输出管脚 这部分资源。 使用上述两种可编程逻辑器件实现交通灯控制电路所需要的时钟信号需要独立的电路。在这个方面,使用 复杂可编程逻辑器件 用 储器存储设计文件,即使断电也不 会丢失设计信息。 现场可编程门阵列器件 储器存储设计文件,如果断电,芯片将丢失设计信息,因此在系统中必须包含一种非易失存储器件以保存设计信息。每次系统加电时,由这种非易失存储器件向 现场可编程门阵列器件加载设计信息。从系统的简单性方面,复杂可编程逻辑器件优于现场可编程门阵列器件。 复杂可编程逻辑器件 现场可编程门阵列器件 500和 10000个等效逻辑门, 并且后者还具有 6144 位 的 因此在可以 提供的逻辑资源方面现场可编程门阵列器件 工作速度方面, 速度等级为 15此也是后者具有优势。 考虑到交通灯控制电路所需要的逻辑资源不多,而且又是一个低速工作系统,因此本设计采用复杂可编程逻辑器件 系统设计 基于 复杂可编程逻辑器件 计的交通灯控制电路 硬件组成框图, 如图6包括时钟信号产生电路、状态信号产生电路、交通灯和时间信号产生电路、显示电路以及系统电源 。 - 151 - 图 6交通灯控制电路 组成框图 在 图 6状态信号产生电路和交通灯控制信号产生电路由复杂可编程逻辑器件现。显示电路包括交通灯电路和时间显示电路,前者采用发光二极管;后者采用 8段数码管。时钟信号产生电路将独立设计。本设计中不包括系统电源的设计,直接使用实验室提供的直流稳压电源。 单元电路设计 显示电路 显示电路包括交通灯电路和时间 显示电路。在本设计中,前者采用发光二极管;后者采用 8段数码管。 发光二极管和数码管具有类似的工作原理。 8段数码管 原理图如图 6a)和( b)所示。数码管有共阴极和共阳极两种类型。共阴极数码管内部 8个二极管的阴极被连接在一起和管脚 使用时管脚 数码管其余的某个管脚接高电平,则与该管脚相接的发光二极管被点亮,也就是数码管对应的发光段被点亮。共阳极数码管内部 8 个二极管的阳极被连接在一起和管脚使用时管脚 数码管其余的某个管脚接低电平,则与该管脚相连 的发光二极管被点亮,也就是数码管对应的发光段被点亮。用做显示交通控制信号的 发光二极管也可以使用这样的连接方法。在设计中, 8段数码管采用 共阴极类型, 发光二极管也采用这样的连接,即把 6个发光二极管的阴极连接在一起。 数码管外形图如图 6c)所示。数码管有 2个 脚,它们在数码管内部被连接在一起,在使用时,应用电路中只需要连接一个 脚即可。数码管的电路符号图如图6d)所示。 - 152 - a b c d e f g d pa b c d e f g d pc o mc o m( a )( b )( c )( d )o d o o 数码管的原理图、外形图和电路符号图 每组发光 二极管的公共连接点与接地线之间需要连接一个电阻,该电阻被称为限流电阻。限流电阻用来防止电流过大损坏电路器件。由于不同型号的发光二极管的技术参数不同,应根据具体情况来确定限流电阻的阻值,限流电阻的通常取值范围是 100 1为保证电路的安全,限流电阻开始可以选取大一些,如果发光二极管的亮度不够,再逐渐减小限流电阻的值,直到发光二极管的亮度满足要求。 限流电阻还有另一种接入方法。该方法是每个发光二极管与控制电路之间分别接一个电阻。限流电阻的前一种接入方法的优点是接线简单,后一种接入方法的优点是在点亮不同个数 的发光二极管时它们的亮度一致。前一种连接方法对用做交通控制信号的发光二极管组无影响,因为任何时刻都有,也只有两个发光二极管被点亮。 使用共阴极数码管,当其中的发光段被点亮时,对应的可编程逻辑器件管脚输出高电平,电流从可编程逻辑器件流向数码管;使用共阳极数码管,当其中的发光段被点亮时,对应的可编程逻辑器件管脚输出低电平,电流从数码管流向可编程逻辑器件。数字器件的高电平输出电流与低电平灌入电流的最大值通常是不同的,而电流大小将影响发光器件的亮度。 本设计采用共阴极数码管。 在进行数据显示之前,需要完成待显示的数据 到显示代码之间的译码。如果数码管除小数点之外的 7个管脚按照 g、 f、 e、 d、 c、 b、 阴极数码管显示数据和显示代码之间的关系 如表 6示。表 6 表 6显示数据和显示代码之间的关系 表 显示数据 共阴极数码管显示代码 共阳极数码管显示代码 0 0111111 1000000 1 0000110 1111001 2 1011011 0100100 3 1001111 0110000 4 1100110 0011001 - 153 - 5 1101101 0010010 6 1111101 0000010 7 0000111 1111000 8 1111111 0000000 9 1101111 0010000 A 1110111 0001000 B 1111100 0000011 C 0111001 1000110 D 1011101 0100010 E 1111001 0000110 F 1110001 0001110 “全亮” 1111111 0000000 “全灭” 0000000 1111111 数码管的显示模式分静态 显示和动态显示 2种。当需要多个数码管实现数据显示时,前者每个显示段需要 1个可编程逻辑器件的 I/者可以将多个数码管的同样显示段的输入管脚并联在一起,然后再与 1个可编程逻辑器件的 I/是这时每个数码管的公共端需要与 1 个可编程逻辑器件的 I/现位选。 时钟产生电路 设计的交通灯控制电路的状态转换时间间隔为 1s,因此需要一个频率为 1生这样频率的时钟信号,采用基于 55定时器是一个较好的选择,因为电路连接简单。 555定时 器用作时钟产生电路的电路原理图以及工作周期的计算公式分别 如图 6式( 6示 。 + 5 V+ 5 567823 . 3 K 1 5 0 R 2C 10 . 0 1 u 4 . 7 u 5图 6基于 555 定时器的时钟产生电路图 T = 2 ( 6 图 6 基于 555定时器 的 时钟产生电路测量数据 如表 6 表 6基于 555 定时器的时钟产生电路测量数据 表 测量电路 输出周期计算值( s) 输出周期测量值( s) 绝对误差( s) 相对误差( %) - 154 - 1 6 个独立电路的测量获得。电路输出信号的周期测量使用 司的 012示波器完成。 表 中 所示的误差来源为所使用的电阻、电容以及 555芯片本身的精度不高。引起的误差,包括设计值与实际测量值、同一批元器件组装的电路之间的数据离散,对于交通灯控制电路这样的数字系统,这样的误差对实际使用影响不大,是可以认可的,但是对于其 它应用领域需要给予考虑。 时钟产生电路的主要技术指标包括输出频率稳定度。 012 示波器不能显示小于 10过重新选择 图 6路的电阻或者电容值,使电路输出信号频率满足示波器测量要求。观察显示的测量频率值,将会发现电路输出频率的稳定数据只有 4位有效数字, 012示波器显示的信号频率具有 6位有效数字。 555电路输出信号频率稳定度较低,这是由于它是基于 荡器的工作原理所限制。各种信号产生器的工作原理以及特点可以参考高频电子线路课程。 如果 希望时钟输出信号的频率具有较高的稳定度,可以采用晶体振荡器。 图 6体振荡器电路。 7 4 L S 0 4 7 4 L S 0 47 4 L S 0 4U 1 A U 1 B U 1 3 4 5 6R 1 R 21 k 1 0 . 0 1 u Y S T A H K O U 晶体振荡器电路 图 图 6 晶体振荡器电路 测量数据 如表 6示。 表中测量数据同样由 3个独立电路的测量获得。电路输出信号的频率测量使用 012示波器完成。 表 6晶体振荡器电路测量数据 表 测量电路 晶体标注值 ( 输出频率测量值( 绝对误差 ( 相对误差 ( %) 1 较表 6 6对基于 55 定时器时钟产生电路, 晶体振荡器不仅具有较高的设计精度,而且输出信号频率的稳定度也高。虽 - 155 - 然交通灯控制电路这样的应用系统对时间精度要求不是很高,但是高的时钟频率稳定度对许多其它应用系统是必须的。 电子市场出售的晶体的工作频率通常在 1设计采用 4体振荡器输出信号频率比要求的状态转换频率高,要获取所需频率的信号可用分频电路来实现。这样的分频电路如果使用标准逻辑器件实现将需要多级电路,使得电路规模加大。使用可编程逻辑器件,采用 例 6计一个能把 4体振荡器输出信号转换成占空比为 50%,频率为 1 S 义 4钟输入端口 义 1钟输 出 端口 F S 000000; 数进程 ND 1) 3999999) = 1; = 0; F; F; 钟 产生进程 ND 1) 1999999) = 0; = 1; F; F; 可编程逻辑器件选用 用 6用资源如 表 6 - 156 - 表 6资源占用数据 表 优化技术 宏单元占用情况 用户输入 /输出管脚占用情况 时钟 高频率( 速度优先 55 / 128( 43%) 6 / 68( 9%) 衡性能 55 / 128( 43%) 6 / 68( 9%) 源优先 26 / 128( 20%) 6 / 68( 9%) 用同样型号的芯片,使用不同的优化技术对设计文件进行综合获得的性能指标是不同的。采用速度优先的优化技术,占用芯片资 源较多,但是系统可能达到的工作速度较快;采用资源优先优化技术,占用芯片资源较少,但是系统可能达到的工作速度较慢。对于这里进行的交通灯控制系统设计是一个低速工作系统,采用资源优先优化技术是合适的选择,这样即节约了芯片资源,也满足所选用的时钟频率。 例 6个输入 /输出管脚,接收晶体振荡器输出信号的输入管脚 6输出管脚占用情况显示占用了 6个输入 /输出管脚,这是因为占用情况中包括了 系统编程 所需要的 4个 管脚 : 优化设置可以利用菜单 “ 在“ 选栏目中进行。 例 6个进程实现在 4一个进程,计数进程,每来 4000000个时钟信号完成一个循环;第二个进程, 1生进程 ,产生50%占空比 的 1变 1生进程中的比较常数可以改变所产生时钟信号的占空比。考虑到分布电容的存在,时钟信号的占空比不能太小,也不能太大,尤其是在高频率情况下。 采用一个进程也可以产生 1系统时钟。 下面仅列出 1 例 6知输入的时钟信号频率为 4计一个产生 1 ND 1) 3999999) = 1; = 0; = 0; = 1; F; F; 例 6系统时钟,但是时钟的 占空比不能调整,而且很小,在上面例子中为 1/4000000。由于芯片内部存在的分布电容存在充放电过程, 时钟的 占空比太大或者太小都不合适,占空 比太大或者太小都有可能引起系统工作不稳定。 - 157 - 涉及到时钟问题的还有 图 6 晶体振荡器电路中芯片的选择。如果采用 74于 际应用显示,这也 有可能引起系统工作不稳定。 状态产生电路 由系统设计中描述的交通灯控制电路硬件组成框图可知,状态产生电路的输入信号是频率为 1出为交通灯和时间信号产生电路所需要的 30个状态信号。利用 际代码如 例 6 例 6计交通灯状态产生电路。 S 义 1统 时钟输入端口 9); 义 状态 输 出 端口 F S 9; 态暂存信号 态产生进程 ND 1) 29) = 1; = 0; F; F; = 例 6态暂存信号 出 端口 是在产生当前状态时需要知道上一个状态,即上 一个状态加 1产生当前状态,因此定义了状态暂存信号 图 6态产生电路的模拟波形图。 仅使设计者避免了烦琐的电路接线,而且还可以在电路完成组装之前就能验证逻辑功能。 在图 630 个状态并没有全部显示,因为如果全部显示将使得波形以及状态数据太小以致阅读困难。同样是这个原因, 例 6000000 以致无法阅读。对于像 例 6样的应用情况,通常采用降低分频比,例如降低到 40,进行逻辑功能验证。 - 158 - 系统时钟 周期是 1s,注意在 图 6它的周期是 然也可以选取1是 这会导致仿真时间非常长,有时还会出现一些意想不到的事情。对于像交通灯控制电路这样的长周期数字系统通常采用降低仿真周期的方法加快仿真过程。在数字电路中,在高频情况下某种功能可以被实现,则低频情况下这种功能肯定可以被实现,反之则不一定。 图 6状态产生电路的 功能仿真波形 在数字系统的周期和所用芯片的延迟时间接近的情况下,例如 迟时间为 15时应该采用真实的系统时钟 周期以检查时间关系是否满足。在 图 6果把时钟周期降低到 50者更低,输出状态信号与时钟信号之间的时间延迟就会非常明显。输出信号与输入信号之间存在时间延迟是一个不可避免的客观事实,在 图 6大可视栅格尺寸掩盖了较小的信号延迟。同样,小的信号延迟对长周期的数字系统的影响也可以忽略。 控制信号产生电路 这部分电路是在状态信号的作用下产生东西和南北两个方向各 3个交通灯的控制信号,每个方向 2个数码管 的控制信号。换句话说, 这部分电路就是实现如表 6所设计的代码如 例 6 例 6计交通灯控制信号产生电路。 S 9; 义 状态 输 入 端口 ); 义 两个方向各 3 个交通灯 输 出 端口 ); 义 东西方向 2 个数码管 输 出 端口 ); 义 南北方向 2 个数码管 输 出 端口 F S - 159 - 3 ); 义 一个合成输出信号 表 6示真值表产生控制信号 = “100 0111111 1111111 001 0000110 0111111” , “100 0111111 0000111 001 0111111 1101111” , “100 0111111 1111101 001 0111111 1111111” , “100 0111111 1101101 001 0111111 0000111” , “100 0111111 1100110 001 0111111 1111101” , “100 0111111 1001111 001 0111111 1101101” , “100 0111111 1011011 001 0111111 1100110” , “100 0111111 0000110 001 0111111 1001111” , “ 010 0111111 1011011 001 0111111 1011011” , “ 010 0111111 0000110 001 0111111 0000110” , “ 001 1011011 0111111 100 0000110 1111111” 0, “ 001 0000110 1101111 100 0000110 0000111” N 11, “ 001 0000110 1111111 100 0000110 1111101” 2, “ 001 0000110 0000111 100 0000110 1101101” 3, “ 001 0000110 1111101 100 0000110 1100110” 4, “ 001 0000110 1101111 100 0000110 1001111” 5, “ 001 0000110 1100110 100 0000110 1011011” 6, “ 001 0000110 1001111 100 0000110 0000110” 7, “ 001 0000110 1011011 100 0000110 0111111” 8, “ 001 0000110 0000110 100 0111111 1101111” 9, “ 001 0000110 0111111 100 0111111 1111111” 0, “ 001 0111111 1101111 100 0111111 0000111” 1, “ 001 0111111 1111111 100 0111111 1111101” 2, “ 001 0111111 0000111 100 0111111 1101101” 3, “ 001 0111111 1111101 100 0111111 1100110” 4, “ 001 0111111 1101101 100 0111111 1001111” 5, “ 001 0111111 1100110 100 0111111 1011011” 6, “ 001 0111111 1001111 100 0111111 0000110” 7, “ 001 0111111 1011011 010 0111111 1011011” 8, “ 001 0111111 0000110 010 0111111 0000110” 9; = 3 1); 解出交通灯东西方向的 3 个信号 = 0 4); 解出东西方向十位数码管的信号 = 3 7); 解出东西方向个位数码管的信号 = 6 4); 解出交通灯南北方向的 3 个信号 = 3 ); 解出南北方向十位数码管的信号 = ); 解出南北方向个位数码管的信号 - 160 - 代码中的信号 4位,即包括 需要输出 6个交通灯控制信号, 4个 8段数码管在不考虑使用小数点的情况下需要 28 个控制信号。 设置这个信号的目的是希望使用一个并行选择语句完成 实现如表 6 由于在选择语句中,一次产生了所有的控制信号,因此在后面使用了 6条并行赋值语句,把合成输出信号拆分成各个控制信号。由代码里的 6条并行赋值语句可以看出在合成输出信号中不同的控制信号的排列顺序:首先 3位是东西方向绿、黄和红控制灯的控制信号、接着的 7位是东西方向时间显示电路的十位数码管从 g到 个控制信号、再 接着的 7位是东西方向时间显示电路的个位数码管从 g到 个控制信号、后面的 17 位是南北方向按上述顺序排列的控制信号。 当然也可以不使用合成输出信号 用 6条并行选择语句分别完成 6类信号的产生,这样也就不需要例 6条并行赋值语句。也可以直接把输 出定义为包含34位的合成输出信号,但是这在定义输出管脚时将不太方便。代码编写具有各种各样的方式,这主要看设计者的习惯,但是必须便于阅读。在代码中加入注释是提高可阅读性的一个好方法。 需要提出的是,例 6如: “ 001 0000110 1011011 100 0000110 0111111” 在使用 里添加空格也只是未了便于阅读。 采用资源 优化技术,例 6片 128个宏单元的 37 个,占用比 例为 29%。 控制信号产生电路的部分仿真波形如图 6 由控制信号产生电路的仿真波形图可以看出,例 6表 6在输出信号转换期间存在不能同时达到要求的现象,例如东西方向时间显示电路的个位数码管从 g到 个控制信号 种现象是由于电路对不同的信号具有不同的延迟所致,这由控制信号 含的 7个单独的控制信号波形图观察到。 加到目标器件上的信号,例如加到数码管各个管脚上的信号不能同时改变,在最先变化到最后变化期间数码管将显 示不希望的符号。由于这个不希望出现的时间间隔非常小,对于数码管显示应用来说,也观察不出来,但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法治思想面试题及答案
- 护士交班考试题及答案
- 乡镇副职面试题及答案
- 预防感冒面试题及答案
- 恐惧死亡测试题及答案
- 家电公司法律事务管理办法
- 家电公司声誉风险管理规定
- 2.4圆周角(第1课时圆周角定理)(教学课件)数学苏科版九年级上册
- 保安执勤装备使用课件
- 保安岗位知识培训课件
- GB/T 15166.4-2021高压交流熔断器第4部分:并联电容器外保护用熔断器
- GB/T 13477.17-2017建筑密封材料试验方法第17部分:弹性恢复率的测定
- 送达地址确认书(完整版)
- 四川滑雪场商业综合体设计方案文本含个方案 知名设计院
- 日立电梯常用零配件价格清单
- 单位人事证明(共7篇)
- 水泵设备单机试运转记录
- 保密管理-公司涉密人员保密自查表
- 日常安全检查记录
- 压型钢板组合楼板设计计算表格
- Q∕SY 1535-2012 海底管道混凝土配重层技术规范
评论
0/150
提交评论