哈尔滨工业大学课程设计说明书(论文)HHaarrbbiinnIInnssttiittuutteeooffTTeecchhnnoollooggyy数数字字电电子子技技术术基基础础课课程程设设计计课程名称:数字电子技术基础设计题目:十字路口交通灯控制院系:航天学院自动化专业班级:设计者:学号:指导教师:于泳设计时间:2015.12.25—2015.12.31哈尔滨工业大学哈尔滨工业大学课程设计说明书(论文)十字路口交通灯控制电路摘要:交通信号灯常用于十字路口,用来控制车辆的流量,提高交叉路口车辆的通行能力,减少交通事故。本交通灯设计主要由秒脉冲发生器、倒时器、状态机、译码显示电路组成。秒脉冲发生器由NE555产生脉冲,倒时器由74LS192实现,状态机由74LS153和74LS74组成,译码显示电路采用74LS48和共阴极七段数码管来显示。状态机74LS74(01QQ)对信号灯进行控制,从而显示红黄绿灯的转换。关键字:交通灯状态机秒脉冲发生器倒时器译码器1、设计目的(1)、要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒;(2)、要求黄灯先亮5秒,才能变换运行车道;2、设计方案交通灯控制系统主要由秒脉冲信号发生器、倒时器、译码显示电路和状态机等部分组成。秒脉冲发生器是该系统中倒时器的标准时钟信号源,译码器输出两组数码管的控制信号,经驱动电路后驱动数码管工作,倒时器是系统的主要部分。ST:表示倒时器到了规定的时间后,状态机转换下一个状态。由它控制定时器开始下个工作状态的定时。(1)甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙车道禁止通行。绿灯亮足规定的时间隔20s时,控制器发出状态信号ST,转到下一工作状态(2)。(2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔5s时,控制器发出状态转换信号ST,转到下一工作状态(3)。(3)甲车道红灯亮,乙车道绿灯亮。表示甲车道禁止通行,乙车道上的车辆允许通行绿灯亮足规定的时间间隔20s时,控制器发出状态转换信号ST,转到下一工作状态(4)。(4)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上未过停车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔5s时,控制器发出状态转换信号ST,系统又转换到第(1)种工作状态。交通灯以上4种工作状态的转换是由状态机进行控制的。设状态机的四种状态编码为00、01、11、10,并分别用S0、S1、S3、S2表示,则控制器的工作状态及功能如表1、2所示,状态机应送出甲、乙车道红、黄、绿灯的控制信号。为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定:哈尔滨工业大学课程设计说明书(论文)控制状态信号灯状态车道运行状态S0(00)甲绿、乙红甲车道通行,乙车道禁止通行S1(01)甲黄、乙红甲车道缓行,乙车道禁止通行S3(11)甲红、乙绿甲车道禁止通行,乙车道通行S2(10)甲红,乙黄甲车道禁止通行,乙车道缓行AG=1甲车道绿灯亮甲车道通行BG=1乙车道绿灯亮乙车道通行AY=1甲车道黄灯亮甲车道缓行BY=1乙车道黄灯亮乙车道缓行AR=1甲车道红灯亮甲车道禁止通行BY=1乙车道红灯亮乙车道禁止通行3.单元电路的设计3.1秒脉冲发生器秒脉冲发生器由基于NE555的多谐振荡器组成,其中1R=55K、2R=47K,1C=10uF的电阻电容值决定了脉冲宽度。既T=0.7(1R+22R)1C=1s,其中2C=10nF是为了保持输出的波形的稳定(OUT端即为输出的CLK时钟信号)。3.2倒时器倒时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器74LS192构成,要求计数器在初始上电时为0000,产生置数信号,首先置数25,然后在时钟脉冲上升沿作用下,计数器从25开始进行减1计数,当减到6时,ST由高电平变为低电平,当变为5时,ST由低电平变为高电平,产生一哈尔滨工业大学课程设计说明书(论文)个上升沿,使状态机转到下一状态。当减到0时,再次产生置数信号,置数25,当置数25完成后,ST由低电平变为高电平,产生上升沿,使状态机转到下一状态。计数器选用集成电路74LS192进行设计较简便。电路图如下(原件U19只有在计数器减到0时产生低电平,原件U21只有在计数器置数为25时产生低电平,原件U12与门发出的信号即为ST信号,原件U27或门发出的信号即为置数信号,由于置数信号必须首先是低电平,再来一个高电平才能置数成功,因此让U19的信号与CLK时钟信号经过或运算后产生置数信号。)。3.3状态机状态机是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。选用两个D触发器74LS74做为时序寄存器产生4种状态,状态机状态转换的条件为ST产生上升沿,当状态机处于01QQ=00状态时,如果ST=1或0,则状态机保持在00状态;如果ST由低电平变为高电平,则状态机转换到01QQ=01状态。当状态机处于01QQ=01状态时,如果ST=1或0,则状态机保持在01状态;如果ST由低电平变为高电平,则状态机转换到01QQ=10状态。当状态机处于01QQ=10状态时,如果ST=1或0,则状态机保持在10状态;如果ST由低电平变为高电平,则状态机转换到01QQ=11状态。当状态机处于01QQ=11状态时,如果ST=1或0,则状态机保持在11状态;如果ST由低电平变为高电平,则状态机转换到01QQ=00状态。根据以上结果,选用数据选择器74LS153来实现每个D触发器的输入函数,将触发器的现态值加到74LS153的数据选择输入端作为控制信号.即可实现状态机的功能。原理图如下(其中U6B是高位片产生1Q,U6A是低位片产生0Q,U6A和U6B的时钟端接ST信号)。哈尔滨工业大学课程设计说明书(论文)3.4信号灯控制电路状态机状态编码与信号灯关系表Q1Q0AG绿灯AY黄灯AR红灯BG绿灯BY黄灯BR红灯00100001010100011000110011001010AR=1QAG=1Q0QAY=1Q0QBR=1QBG=1Q0QBY=1Q0Q哈尔滨工业大学课程设计说明书(论文)原理图如下(上面三个灯对应着甲车道的红灯、绿灯与黄灯,下面三个灯对应着乙车道的红灯、绿灯与黄灯)。3.5显示部分显示部分由74LS48和共阴极七段数码管组成,74LS48作为译码器,对74LS192的输出信号进行译码,然后通过七段数码管显示出74LS192的计数。即交通灯需要显示的时间。其设计如下图。哈尔滨工业大学课程设计说明书(论文)3.6整体原理图整个系统的原理图如下。哈尔滨工业大学课程设计说明书(论文)4、系统仿真(1)当计数器第一次置数为25时,01QQ=00,此时,甲车道绿灯亮,乙车道红灯亮。哈尔滨工业大学课程设计说明书(论文)(2)当计数器减数到5时,01QQ=01,此时,甲车道黄灯亮,乙车道红灯亮。哈尔滨工业大学课程设计说明书(论文)(3)当计数器减到0并第二次置数为25时,01QQ=10,此时,甲车道红灯亮,乙车道绿灯亮。哈尔滨工业大学课程设计说明书(论文)(4)当计数器第二次减数到5时,01QQ=11,此时,甲车道红灯亮,乙车道黄灯亮。哈尔滨工业大学课程设计说明书(论文)5、遇到的问题和解决方案在整个设计过程中,我也碰到了很多问题,大部分都是自己对于芯片不了解造成的,也有一些是设计问题。(1)数码管显示混乱解决方法:经过认真检查我发现由于串联电阻与数码管距离太近,导致数码管的几个管脚没有与电阻相连,导致这几个数码段无法显示。(2)74LS192无法计数解决方法:刚开始使用74LS192时,芯片无法计数,数码管一直显示00,经过一遍遍检查与测试,我发现原来是74LS192的UP端悬空导致芯片无法工作,由于我没有用到加计数,所以刚开始我没有接UP端,后来查阅资料和不断测试发现,UP端必须接高电平,74LS192芯片才能工作。(3)当减到0时,无法置数25解决方法:每当计数器减到0时,计数器就会停在0不再置数,经过一次次检查,我发现问题出在置数端LOAD,开始时我以为置数端只要给个低电平就可以完成置数。经过上网查资料,我发现,置数端完成置数还需要一个高电平,也就是说,在给置数端一个低电平时,芯片开始置数,只要等到再来一个高电平,芯片才会完成置数,否则芯片会一直停在0。在了解了问题原因后,我把原置数信号与时钟信号CLK或运算后再连到LOAD端,利用CLK产生高电平,这样置数功能终于可以正常工作了。6、心得体会刚开始拿到课程设计的时候,不知道怎么去做,因为我没有用芯片设计电路的经验。经过在网上查阅资料,我选择了交通灯的项目,因为这个项目用的芯片比较多,基本涵盖了我们书里讲到的一些主要芯片,我也想借着这个机会复习一下以前学的知识。尽管网上有一些参考电路,但真正自己设计的时候,我感觉还是碰到很多困难,自己对各种芯片都不是很了解,有时候一个疏忽就把电路连错了。这也让我感到书本的知识与真正实践有很大区别,尽管只是在mutism软件中进行原理图设计和仿真,但还是碰到很多问题,如果真正在实际中搭电路、调试、改进,肯定更加困难。在设计中我体会到了细心与耐心的重要性,比如我在使用74LS192芯片时,遇到很多问题,遇到问题时,首先要做的就是静一静,从头想一下,问题可能出在哪?然后使用示波器、信号发生器等器件检查各个可能出现问题的地方,只有一遍遍细心检查,才能发现问题所在。同时还需要学会利用网络进行学习,有时候上网查一下,可能别人已经碰到同类问题并且已经解决了,那么就可以节省大量时间。设计过程是一个循序渐进的过程,只有从前到后依次调试成功,才能得到最终想要的结果。不能心急,问题需要依次解决。比如刚开始时,我使用74LS160设计的交通灯,虽然没有倒计时功能,但是74LS160比较简单,设计比较容易,在使用74LS160设计完成,其他功能都已经没有问题后,我又使用74LS192完成了倒计时功能。这样也比较容易实现。通过这次课程设计,加强了我动手、思考和解决问题的能力。虽然花了很多的时间,但学到了很多课本上学不到的东西。最后谢谢于老师一学期的辛苦教导,使我学到了很多有趣、有用的知识!