您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 交通指示灯控制系统的设计
交通指示灯控制系统的设计一、设计任务1、东西方向绿灯亮4秒后闪2秒灭,黄灯亮2秒灭,同时南北方向红灯亮8秒;南北方向绿灯亮4秒后闪2秒灭,黄灯亮2秒灭,同时东西方向红灯亮8秒。这样循环下去。4秒2秒2秒4秒2秒2秒东西灯绿亮绿闪黄亮红亮红亮红亮南北灯红亮红亮红亮绿亮绿闪黄亮2、倒计时显示功能。即绿灯亮的同时,相应数码管开始6秒的倒计时显示,黄灯亮时显示0或者另一相应数码管开始2秒的倒计时显示,继续红灯亮时相应数码管开始8秒倒计时显示。两个方向灯亮灭交替的过程,相应数码管倒计时显示交替变化。二、软件的使用这次设计采用的是EDA的方法(即电子设计自动化方法)。基本思路是自顶向下,这与传统的方法是不同的。我们使用的软件是quartusП。软件设计过程为:建立项目→输入设计电路(我们采用电路图的形式)→设计编译→设计仿真→设计下载。在编译和仿真中需要对电路图不断进行修正,直到出现正确的结果。三、设计分析1、实验箱提供的信号为48Mhz,而交通灯需要的输入信号为1hz(也就是脉冲间隔为1s)。使用多个74LS161和74LS160组成分频电路就可以得到1hz的输出信号。(参照书上电路)2、每个灯的状态都有亮和不亮两种,可以用1和0对应表示。一个循环刚好16秒,可以用一个4位2进制的计数器来代表对应的16秒。交通灯的状态作为输出结果。得到的真值表如下。DQcQBQAQ:74163的输出DQcQBQAQ1G1Y1RA2G2Y2RB0000100000100001100000100010100000100011100000100100000100100101000100100110010000100111010000101000001010001001001010001010001010001011001010001100001000011101001000011110001001001111001001001G1Y1RA:东西方向的绿灯、黄灯、红灯以及绿闪2G2Y2RB:南北方向的绿灯、黄灯、红灯以及绿闪经过卡诺图化简得到:CDQQG1CDQQG2BCDQQQY1BCDQQQY2DQR1DQR2BCDQQQABCDQQQB根据上述等式就可以连接电路。3、倒计时的实现需要减法计数器,我选择了74193。因为一个屏的显示过程为:6→1,2→1,8→1,所以每当输出为1时就重新置数。又因为显示倒计时和交通灯处在哪种状态有关,所以每次置的数可以由第2步的输出决定,得到下面的真值表。GYRDCBA100011001000100011000经过化简得到:YGDGCRB0A据此可以确定计数电路的连接方法。4、二进制的数要显示在数码管上,需要经过7447的译码,然后再接一个显示电路(参照书上)才能实现。四、设计方案第一个模块是分频电路。用74160和74161组成,可以由48Mhz的脉冲信号得到整个电路需要1hz、4hz和1khz的脉冲信号。第二个模块是控制交通灯亮灭的电路。用74163和众多的简单逻辑门组成。第三个模块是倒计时电路。用两块74193分别控制东西和南北走向的倒计时。第四个模块是显示电路。用7447、74161、74138和lpm_mux组成。最后由以上四个模块组合成顶层模块。分配管脚后下载到试验箱上,最终实现交通灯的功能。五、具体实现及结果实验过程中的问题及解决方法:1、刚开始拿到题目时完全没有思路。经过回来看书、上网查资料和同学讨论,渐渐有了大致的电路构想。2、倒计时模块仿真结果与预想结果不符。经过多次检查,发现化简有误,导致重新置的数不对。按照正确的化简公式连接电路后解决了问题。3、数码管显示原理不清楚,看不懂书上的宏模块。在查阅资料还是读不懂的情况,通过向老师询问,经过老师详细的讲解,最终明白了其工作原理及连接方式。4、下载到试验箱后LED灯显示混乱。经同学指点,明白了试验箱里的LED是低电平有效,所以在LED输出部分加了非门,再次下载后显示成功。实现结果:六个LED灯正常显示。相应的倒计时也正常。六、收获总结刚拿到任务的时候,感觉凭借课上所学的数逻知识,根本就不可能完成这个工作。但是随着一步步的学习,思路越来越清晰。一个一个模块慢慢地完成后,感觉越来越好。最后终于成功完成了学习任务。经过这次经历,我明白了很多事情不去尝试,就不知道自己的能力有多大,只有亲身经历后才能获得更深刻的体会。同时我们需要脱离老师的一步步指导,学会自主独立地学习,将理论应用于实践。
本文标题:交通指示灯控制系统的设计
链接地址:https://www.777doc.com/doc-2750582 .html