交通灯课程设计.docx
《交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
交通灯课程设计
数字电子技术基础课程设计
题目:
交通灯控制器
学生姓名:
学号:
院(系):
专业:
信息与计算科学
指导教师:
2010年6月30日
交通灯控制器
1.设计目的
(1)熟悉集成电路的引脚安排。
(2)掌握各芯片的逻辑功能及使用方法。
(3)了解面包板结构及其接线方法。
(4)了解数字抢答器的组成及工作原理。
(5)熟悉数字抢答器的设计与制作。
一.任务和要求:
设计一个十字路口交通信号灯控制器,其要求如下:
1.在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一个方向是绿灯、黄灯、红灯;另一个方向是红灯、绿灯、黄灯。
2.设置一组数码管,以计时的方式显示允许通行或禁止通行的时间。
其中,绿灯亮的时间是10s,黄灯亮的时间是2s。
二.设计思路:
在实际情况下,一个十字路有一个主干道和一个支干道。
主干道的车流量较大,即要求主干道绿灯亮的时间长,支干道正好相反。
因此,把主干道绿灯亮的时间设置为40s,黄灯亮的时间设为4s,红灯亮的时间设为10s;支干道绿灯亮的时间设置为20s,黄灯亮的时间设为4s,红灯亮的时间设为10s。
设A代表主干道,B代表支干道;R代表红灯亮,Y代表黄灯亮,G代表绿灯亮。
且设主、支干道红、黄、绿灯亮的四种状态分别由Q1、Q0的四种数值组合表示,如下:
1.Q1Q0为00时,主干道绿灯与支干道红灯亮,即:
AG、BR,时间持续40s;
2.Q1Q0为01时,主干道黄灯与支干道红灯亮,即:
AY、BR,时间持续4s;
3.Q1Q0为10时,主干道红灯与支干道绿灯亮,即:
AR、BG,时间持续20s;
4.Q1Q0为11时,主干道红灯与支干道黄灯亮,即:
AR、BY,时间持续4s;
四个状态以00-01-10-11的顺序循环出现。
其工作流程图如图2:
三.总体方案:
在一个有主、支干道的十字路口,主、支干道各设置一组红、黄、绿三色的交通灯。
红灯亮表示禁止通行,绿灯亮表示可以通行。
在绿灯变为红灯之前,黄灯先亮4秒,以提示未通行的车辆准备停车。
由于主干道车辆较多,所以要求主干道处于通行状态的时间长一些,设为40秒;而支干道通行时间为20秒。
主要功能为:
1.实现红绿灯的交通管制功能;
2.在红绿灯交换的前4秒,由黄灯提示司机注意,准备停车,且此时绿灯熄灭;
3.可适应主次干道不同的车流量的需要,拟设计主干道的车辆通行时间为40秒,次干道的车辆通行时间为20秒;
4.采用倒计时的方式,提示司机剩余时间。
简单原理如下:
由555时钟信号发生电路产生稳定的“秒”脉冲信号,确保整个电路装置计时工作稳定进行。
用一片74LS161作为计数器,将其输出端通过非门与74LS48相连后,把74LS48输出端连到数码管上,实现倒计时。
用另外一片74LS161作为状态控制器,控制状态变量Q2Q1的变化,即实现变化:
00-01-10-11,从而使计数器实现模10、模2、模5的转化。
六个灯与由状态控制器控制的74LS74的输出端通过门电路直接相连。
总体方案原理图如图3:
在此电路中,555时钟信号发生器产生一个以秒为单位的CP脉冲,计数器74LS161接受CP脉冲,实现同步计时。
通过非门连接计数器输出端与译码驱动电路,在数码管上显示倒计时。
将计数器的进位输出RCO取反用以控制其自身循环置数,且此进位输出RCO同时是红绿灯控制器74LS74与状态控制器74LS161的脉冲信号,由此,状态从00变至01,历时40s;从01至10,历时4s;从10至11,历时20s;再从11变至00,历时4s,依次循环。
状态不同,计数器置数和红绿灯如何显示不同;计数器置数不同,则模值不同,状态改变时间也不同。
当用于计数的74LS161芯片输入为0110时实现模10的计数器;当输入为1110时实现模2的计数器;当输入为1011时实现模5的计数器。
通过这种模式,实现计数器与状态控制器相互控制。
然后状态控制电路74LS161控制计时电路74LS161的输入端。
当状态控制电路的输出Q1、Q0为00时实现模10的计数器,此时主干道的绿灯和支干道的红灯亮;为01时实现模2计数器,此时主干道的黄灯和支干道的红灯亮;为10时实现模5的计数器,此时主干道的红灯和支干道的绿灯亮;为11时实现模2的计数器,此时主干道的红灯和次干道的黄灯亮;然后Q1、Q0再回到00状态,这样就实现了交通灯的循环且实现了主支干道通车时间不同的功能。
四.单元电路设计
4.1秒脉冲产生电路
将555芯片按一定的线路接上不同的电阻和电容就可产生周期不同的脉冲信号,即不同的频率的脉冲。
本次课程设计需要以秒为单位的脉冲信号,因此利用参数为4.7u和0.1u的2个电容,与参数为4.7k和150k的2个电阻按图4构成电路。
脉冲周期T=0.7×(4.7k+2×150k)×4.7u,约等于1s。
使用主要器件:
555芯片一片、参数为4.7u和0.1u的电容、参数为4.7k和150k的电阻。
4.2计时电路
4.2.1计数器电路
利用系统的状态量Q1,Q0控制计数74LS161的置数端D0,D1,D2,D3。
当系统状态处在AGBR时,进制是十(模10),有效状态为0110,0111,1000,……1111,因此,置D3,D2,D1,D0为0110;当系统处在ARBG时,进制是五(模5),有效状态为1011,1100,1101,1110,1111,置D3,D2,D1,D0为1011;当系统处在AYBR或ARBY时,进制是二(模2),有效状态为1110,1111,置D3,D2,D1,D0为1110,由此有:
表1
状态控制器输出
计时电路置数
Q1
Q0
D3
D2
D1
D0
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
所以:
D3=Q1+Q0
D2=Q0+Q1’
D1=1
D0=Q1*Q0’
注:
符号“’”代表逻辑非。
按照上述函数表达式将代表状态的信号连接至计数器置数端D3、D2、D1、D0上,通过状态变量控制置数。
并将计数器高位进位RCO通过非门连至其同步置数端LOAD上,即:
当此次计数至1111时,再接受一个脉冲信号,RCO由0变为1,同时,LOAD由1变为0,在脉冲到来时开始下一次置数。
另外,由于刚接通电路时,RCO没有进位信号,导致LOAD的值不确定,如若不加处理,将会存在数个乱码信号,此时,可以在LOAD上加一根接地的导线作为计数开关。
这样,当CLK端接受脉冲信号时,计数器置0110,数码管上显示9,拔掉导线后,计数开始,电路正常工作。
使用主要器件:
74LS161、74LS04。
4.2.2倒计时电路
当每一状态发生变化时,置入的数据将同时改变,通过非门连接,将计数器输出信号加至七段数码管译码驱动器74LS48上,然后把74LS48的输出接到数码管上,在数码管上显示倒计的秒数,具体显示如表2:
表2
Q1Q0
主干道
支干道
00
绿灯9-0
红灯(40秒)
01
黄灯1-0
红灯(4秒)
10
红灯4-0
绿灯(20秒)
11
红灯1-0
黄灯(4秒)
使用主要器件:
74LS48、74LS04、数码管、限流保护电阻。
电路图如图5:
4.3状态控制电路
将控制状态的74LS161的所有置数端接地,即置零,把计数器的高位进位作为状态控制器的脉冲信号,当每次计数器计到1111后,计数器的RCO将由0变为1,产生一个上升沿。
由于要通过此片74LS161实现状态变化:
00-01-10-11,因此再将其输出Q1与Q0通过与非门连至本芯片同步置数端LOAD上。
之后,再用门电路,依据D3、D2、D1、D0的函数表达式,把状态控制器的输出Q1、Q0与计数器的置数端相连接,实现状态控制器与计数器相互控制。
使用主要器件:
74LS161、74LS00、74LS04、74LS08。
电路图如图6:
4.4红绿灯控制电路
红绿灯显示所代表的状态,同样与状态控制电路的状态一一对应,即主控电路的输出Q1和Q0决定了主干道和支干道的红绿灯的亮灭情况。
如灯亮用“1”表示,灯灭用“0”表示,则有表3:
表3
状态控制器输出
主干道信号灯
支干道信号灯
Q1
Q0
AR
AY
AG
BR
BY
BG
0
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
所以:
AR=Q0’*Q1’AY=Q0*Q1’AG=Q1
BR=Q1*Q0’BY=Q1*Q0BG=Q1’
在此单元电路中,可以用某些门电路来实现,但由于门电路不稳定,容易出错,且相比于使用门电路,采用中规模集成器件的接线较简便,因此,我使用了双上升沿D触发器74LS74作为灯控电路的核心。
同时用计数器的高位进位RCO做74LS74的脉冲信号,其状态改变原理同状态控制器。
使用主要器件:
74LS74、74LS08、LED、限流保护电阻。
具体接线如图7:
五.总体电路图
六.单元电路输出波形图
七.实验仪器设备
1.集成器件:
555芯片一片;74LS161两片;74LS48一片;74LS74一片;74LS00一片;74LS04两片;74LS08两片;
2.电容:
4.7u一个;0.1u一个;
3.电阻:
4.7k一个;150k一个;100四个;
4.其他:
数码管一个;发光二极管六个;导线若干;面包板一块;万用表等。
八.调试中遇到的问题
1.在连接555脉冲产生电路时,没注意到面包板的线路是否连通,结果接完测试时,将二极管接到脉冲输出端,发现其一直处于亮的状态。
检查电路连线和面包板后,发现是面包板有一处不连通,重新布线后问题解决。
经此,在连接后面的电路时,我每完成一个单元电路后,都要用万用表测试一下该单元电路的连通性和正确性,以避免同样的错误再次发生。
2.由于布线不合理,在完成555电路和计数电路连接后,电路板上的导线已经有些零乱,导致后面的电路不好连接,线路也不好检查,于是我不得不将已有电路拆除、重连。
鉴于此,我先将所需芯片全部安在面包板上,给电路总体布好局后,再一个一个模块的连接。
虽然重新连电路费了不少时间,但是经过这次总体规划,电路布局得到简化,使使用的芯片更少,结构简单,检查电路也更加方便。
3.由于是在一小块面包板上完成一个集成电路,所以电路的连线比较繁琐,虽然查线时,没有发现什么问题,但当接通电源后,数码管并未按照理论显示倒计的时间,而是几个数字无序出现。
多次检查后,发现是电路板上个别芯片管脚与电路板接触不良,因此,在往后接线前,要特别注意芯片的管脚,检查芯片是否插紧,导线是否松弛等。
九.分析与总结
两周实习,锻炼了我的电路设计能力和动手的能力,也使我通过亲身实践掌握了一些中规模集成器件的使用技巧与方法,而不仅限于书本上的理论知识,让我受益非浅。
实习就是将理论付之于实践的过程,如何能更好地用自己的知识来实现实验的要求的功能,这不仅要看我们所学的知识是否扎实,更重要的是要有能把书本知识运用在实际电路中的能力。
即便一个人理论知识非常充分,然而却缺乏动手能力,那也不过是纸上谈兵,没有多大的意义。
本次数字电路课程设计就是很好的例子。
同时,做实验时一定要细心、耐心,要有坚持的毅力。
对于现在缺乏实践经验的我们来说,这是一个艰苦的过程。
因为刚开始接触,可能对某些芯片及其用法不甚了解,于是,要在电路设计的环节,花费时间很多时间。
但是如果自己通过翻阅资料,或者请教老师同学,努力了也坚持了下来,那么所掌握的,就不仅仅是课本上的简单理论,而是丰富的实践经验,这些经验对于以后的工作或学习将有很大的帮助。
对于本次实验,接线时,事先布局好就会达到事半功倍的效果。
实验中最好能做一个模块然后检查一个模块,这样以后出错的机会就很小了,而且也很容易排查错误。
遇到问题要思考解决,不能只是一味的拆和插电路,这样不但解决不了问题,还会耽误时间和进度。
当然在实验中遇到的问题也很多,这些大部分是因为自己掌握的知识还不够牢固,动手实践的次数不够。
好在通过请教老师和同学后一一地解决了。
在这两周的学习过程中,我收获了很多。
以后我们要面临的挑战会更多,要解决的问题也会更多,我相信只要我们脚踏实地,认真对待,总会有办法解决。
这次实验让我们又一次巩固并复习我们所学的数字电路逻辑设计这一门课程的知识,也为以后更深入的学习做了一个好的开端,是一次提升自我的实验。
因为它不仅是一次锻炼动手能力的实践,也是锻炼我们思维能力和意志力的实践,我们从书上学到的是死知识,但通过实习,活跃了我们的思维,也给了我们一个发挥自己创新能力的机会,书本和实践相结合,就是最终的作品。
既是动手实践就会遇到各种问题,也会面对重重困难,不畏艰难,知难而进就是我们解决问题的方法。
因此,今后,我会在学习理论知识的同时,更加注重动手实践能力的培养与思维能力的锻炼。
十.参考文献
1.王疏银《数字电路逻辑设计》(第三版)高等教育出版社
2.《数字电子课程设计题目指导书》