数字电路红绿灯课程设计实验报告改.docx
《数字电路红绿灯课程设计实验报告改.docx》由会员分享,可在线阅读,更多相关《数字电路红绿灯课程设计实验报告改.docx(12页珍藏版)》请在冰豆网上搜索。
![数字电路红绿灯课程设计实验报告改.docx](https://file1.bdocx.com/fileroot1/2023-8/15/df46ea09-f591-4790-ba1c-0148c84c069c/df46ea09-f591-4790-ba1c-0148c84c069c1.gif)
数字电路红绿灯课程设计实验报告改
《数字逻辑电路设计》课程设计报告
题目:
红绿灯控制器
指导教师:
***
设计人员:
李璧江
学号:
**********
班级:
电信132
日期:
2015.5.7
第I条学习目的
节I.01设计起源
数字电路发展到今天,其设计思想,方法,手段的变化。
节I.02设计目的
1、掌握数字系统的分析和设计方法;
2、能够熟练地、合理地选用集成电路器件;提高电路布局、布线及检查和排除故障的能力;
3、培养书写综合实验报告的能力。
第II条设计任务书及基本要求
节II.01基本要求
1、根据设计任务要求,从选择设计方案开始,首先按单元电路进行设计,选择合适的元器件,最后画出总原理图。
2、通过仿真、电路调试,能实现相应的计时功能、逻辑功能,直至实现任务要求的全部功能。
对电路要求布局合理、走线清楚、工作可靠。
3、写出完整的课程设计报告,其中包括调试中出现异常现象的分析和讨论。
节II.02设计任务书
任务:
红绿灯控制器
基本设计要求:
仿真实现,设计一个红绿灯控制器控制器设计应具有以下功能
(1)东西方向绿灯亮,南北方向红灯亮。
.
(2)东西方向黄灯亮,南北方向红灯亮。
(3)东西方向红灯亮,南北方向绿灯亮。
(4)东西方向红灯亮,南北方向黄灯亮。
要求有时间显示(顺数、逆数皆可),一个方向的两个数码管分别显示红绿黄灯的时间。
时间自定(按学号:
红灯时间(学号)=绿灯时间+黄灯时间(≥5)。
给定条件:
只能采用实验室提供的中小规模电路进行设计。
节II.03设计的一般方法及提示
1. 数字电路系统一般包括输入电路、控制电路、输出电路、时钟电路、脉冲产生电路和电源。
2. 对于复杂的数字电路系统,由整体到局部进行组合,由局部到整体进行设计。
3. 步骤如下:
A充分了解设计要求,明确系统的要求,功能与指标。
B确定总体设计方案,画出系统原理图,分解系统,确定不同功能方框间的信号的逻辑与时序关系。
C画出单元电路图并进行电路仿真。
选择合适的数字器件,利用EWB电路仿真软件进行仿真测试。
D深入分析,测试单元电路,进行电路修改,以获取最佳设计方案。
E连接各单元电路,完成整体设计。
F进行系统整体仿真。
第III条设计框图及整机概述
第IV条各单元电路的设计方案及原理说明
节IV.01计数器的连接和置数
首先需要连接三个倒数计数的计数器,分别表示红绿灯的显示时间.在学过的计数器中,可以倒数计数比较常用的为74ls190计数器.,由于我的学号的尾号是05,所以我令红灯为55秒,绿灯为50秒,黄灯为5秒,大概结构图为:
循环以下操作步骤,让两方向路口的红绿灯交替亮灭:
红灯55秒绿灯50秒黄灯5秒
纵向道路:
绿灯亮灭灭
红灯灭灭亮
黄灯灭亮灭
横向道路:
绿灯灭灭亮
红灯亮亮灭
黄灯灭灭灭
那么,有了以上的基本思路,便可以开始连接计数器了。
使用2片74ls190芯片并行连接成一个100进制的倒数计数器,可是我们需要的是55进制和50进制的计数器,那么就应该使用置数端来对190芯片进行置数处理。
根据开始计数时,计数器为99,我们需要的是从54开始,那么我就可以在计数计数到99的时候使用置数端置数成54,经过分析,可以从两片190的Qd端引出两条线接与非门后再分别接到两个计数器的置数端,那么计数器就会一开始从54计数,倒数至0后跳到99又被置成54,形成了一个55进制,也就显示时间为55秒的计数器,同理再用2片190接成一个50进制的计数器,用一片190接成一个5进制的计数器。
这样所有计数器的连接就连接好了。
如下图所示:
节IV.02计数器的选通和转换处理
现在我们已经有了连接好数码管的三个计数器了。
可以从上图看到,我把所有的计数器的脉冲输入都用同一个脉冲接上了,那么意味着仿真的时候所有计数器都将同时计数,数码管必然会显示乱码,那么如何让计数器有条理的一个接着一个工作呢?
想让计数器从红灯开始,读完55秒后绿灯开始计数,50秒后黄灯开始计数,显然,我们需要对计数器进行选通处理。
于是我又使用了一个74ls160芯片,这个芯片的作用就是对计数器进行选通处理,该工作的时候工作,不该工作的时候停止计数,否则会使数码管显示乱码。
我们只要三个状态,即为红灯,绿灯,和黄灯,那么我先将160接成一个3进制的计数器,就是在计数器Qd至Qa输出为0011时对160进行置零处理,这样计数器的Qd至Qa就只有0000,0001,0010这三个状态。
有了三个不同的状态,控制选通3个状态是很容易的。
只要让0000的时候55进制计数器工作,0001时50进制计数器工作,0010时5进制的计数器工作即可。
通过简单的与门和非门的控制,讲000110这三个状态和脉冲输入相与后分别接到相应控制得计数器上完成对应的控制。
那么问题来了,如何实现三个状态之间的转换呢?
计数器之所以能够计数,是因为脉冲的作用,来一个脉冲计数器就计一个数,那么我们只需要控制计数器的脉冲端时计数器计数即可。
要使每个灯相应计数器计数完毕后160计数器转换到下一个状态使下一个灯相应的计数器开始计数,显然我们需要用到190芯片的进位输出端。
2片并行连接的190的计数器,在0到99的时候,RCO有输出,且RCO为取反输出,就是在正常计数的时候RCO为1,有进位的时候RCO为0。
红灯的进位端我记为Q1,绿灯进位端为Q2,黄灯为Q3。
现在假设红灯的计数器正在进行计数,那么Q1Q2Q2的状态为100,当红灯读完54秒到0时,下一个脉冲到达时,Q1Q2Q3的状态为000,也就是在此时我们需要让160记一个数,转移到下一个状态。
那么100的状态转移到000的状态需要形成一个上升的脉冲显然我们可以使用或非门,Q1Q2Q3为100时也就是正常计数的时候或非门的输出为0,Q1Q2Q3为000的时候或非门输出为1,显然形成了一个脉冲使得160记了一个数形成了状态的装换。
电路图如下:
节IV.03交通灯的连接
万事俱备,只欠东风。
我们只要将每个灯连接上就完成了交通灯的设计了。
把东西南北所需要用到的红丶绿丶黄灯先调出来围成十字路口的样子。
在160QbQa为00状态红灯亮,01绿灯亮,10黄灯亮,前面已经对QbQa做了简单的与门和非门处理调出了这三个状态,只需把这三个状态的与门输出端分别接到相应的灯上即可,这样就完成的十字路口交通灯的设计。
第V条调试过程及结果分析
节V.01计数器调试
计数器在连接的过程中,由于计时器在上学期的仿真中使用次数频繁,所以在进行计数器的连接和置数时并没有发现问题,接了小灯和数码管来观察计数器的显示情况正常。
节V.02数码管显示调试
在连接数码管的时候,由于比较简单,所以除了出现了上一节所出现的没有使用或门出现乱码的问题,没有发现其他问题,各个技术器单独作用时,数码管均能正常计数。
节V.03数码管的连接
现在我们已经有了分别为55进制,50进制,5进制的计数器。
我们之所以用单独的计数器来分别表示红绿黄灯的状态,这样方便了我们连接数码管。
根据要求,东西和南北电路各使用一个2位的数码管,但数码管可以分别显示红灯,绿灯,黄灯的时间,我们只需要把计数器的输出端口QaQbQcQd分别连接在数码管的QaQbQcQd接口就可以了。
一开始在连接数码管的时候出现了一点小问题,就是有多条线同时连接在数码管的一个接口时,需要加一个或门,如果不加或门直接连接,会形成线与结构,仿真时计数器将会显示乱码。
连接好的数码管如下图所示:
节V.04计数器的选通和转换调试
在这一部分的设计过程中,花费的较多的时间,也尝试了很多不同的方法。
首先要实现交通灯的选通,我最开始想到的是用他们进位端来进行控制。
已知190在00到99的时候RCO有从1到0的跳变,在RCO接一个非门后和脉冲相与接到下一对190的脉冲输入端,来完成转换。
一开始看到RCO为取反输出,没有考虑到在不计数的时候RCO的输出端为0,而不是1,这样一开始三个计数器都不能计数了,这个方案已失败告终。
后来第二个方案是想接一个锁存器,把进位输出的这个跳变保存下来传给锁存器。
这样的话就可以将每一对190的高位输出端接或门然后接非门后连接到触发器的的脉冲端,这样每当RCO从00跳到99的时候原本是1到0跳变现在变为0到1跳变,形成脉冲,使触发器完成状态的转换。
于是我就连接了一个4个状态的触发器如图:
图中有4个状态00,10,01,11,而我令11的时候接与非门连接到置零端,奇怪的是并不能置零,电路中依然有4个状态存在,使得没有办法正常的运行,于是这个方法又暂时放了一放。
有了上面触发器的基础,很快使我联想到了用计数器来进行控制转换,我们就是需要一个能够在3个状态之间转换的装置,显然74ls160满足这个要求,连接3进制的74ls160电路后调试成功,便有了最终的电路。
后来完成后仔细一想,其实触发器也可以不用置零也可以接成3进制的触发器,同样可以完成状态的转换,可是置零端为什么不能起作用还并未得到解决。
第VI条设计丶安装及调试中的体会
这个设计的完成我用了三天的时间,主要费时间的不是理论设计方面,而是仿真软件的使用,因为交通灯的交替亮暗变化规律已经给出,只需使用芯片及门电路完成设计即可。
有些理论设计好的门电路却在仿真软件中找不到,这时就不得不重新改变部分逻辑表达,将其化为能使用仿真软件中的门电路仿真的逻辑。
主要困难还是在仿真软件元器件的选取,有时候电路连对了,却不一定得到正确的结果,这与门电路类型及门电路时间的延迟等有关。
比如HC和LS电路以及CMOS电路具体有什么不同我并不了解,74ls190芯片就有4种,一开始选错芯片导致我仿真遇到较大的困难,这学期我们学习了模拟电子线路,这门课使我对电路的内部部分有一了解,当然只是一些皮毛,希望在日后的学习中能够更加熟悉仿真软件元器件的选取操作。
我是一个粗心的人,在设计过程中我的粗心表现的更加突出,首先是列状态转换表的时候将一个“0”错写为“1”,导致结果全错。
第二,就是自以为已经设计好了,但是仿真的时候发现只有第一次符合规律,而其它时间却不在准确,后来才发现原来计数器多了一个状态,看到这个结果,我又一次前功尽弃了,复杂的电路图又要重新连接了。
这是由于我对细节的操控不是很到位所造成的,在数字电路中,操控好每一个细节才是关键。
第VII条对本次课程设计的意见及建议
课程设计完成的时间有限,由于这学期课业也比较繁重,课余时间需要花掉时间完成作业或者消化一下这学期新学习的知识,课程设计的占用了比较多的课余时间,由于时间紧迫,就没有时间去把细节部分再想一想,或者再完善电路图使它更美观更简洁,留下的一些问题也没有得到解决。
对课程设计的一些建议就是安排的时间可以安排在暑假或者寒假上,这样我们有足够的时间去分析和操作,当然布置的题目也可以稍加难度或着加大设计量,然后返校后能够组织同学们开一次研讨会,把自己设计过程中遇到的问题与大家分享,互相借鉴才会有进步,因为完成同一个任务有很多种不同的方法,如果只局限于自己那一套的话,日后在更加复杂的电路中有可能就会感到黔驴技穷了,所以互相学习是必要的。
这样本来的问题能够得到解决还能学到别人设计的好的方面,取长补短,更有益于我们对电路设计的提升。
第VIII条附录
节VIII.01元器件清单
74ls190十块丶74ls160两块丶脉冲输入一块丶电源(5V)一个
74ls04两块丶交通灯四组丶74ls00一块丶74ls08两块丶74ls32十块。
节VIII.02整机逻辑电路图
见下页。