概述
做完一个模电小实验,终于有时间写之前做过的数电课设----十字路口交通灯。一开始我使用Multisim做仿真,因为Multisim有bug,所以我改用proteus做。
下面是课设的具体要求:
任务:十字路口交通灯控制器(A题)
基本设计要求: 仿真实现,设计一个红绿灯控制器控制器设计应具有以下功能
(1)东西方向绿灯亮,南北方向红灯亮。
(2)东西方向黄灯亮,南北方向红灯亮。
(3)东西方向红灯亮,南北方向绿灯亮。
(4 )东西方向红灯亮,南北方向黄灯亮。
要求有时间(顺数、逆数皆可),一个方向的两个数码管分别显示红绿黄灯的时间。时间自定(按学号:红灯时间(学号),黄灯时间(≥5),有大道和小道之分。
我的方案:
一、设计框图及整机概述
1.1设计框图
图1.1A 红绿灯闪烁流程图
图1.1B 十字路口交通灯控制器设计框图
二、整机概述
十字路口交通灯控制器,有两组红绿灯,东西、南北方向各一组,每组红绿黄灯各一个;有两组数码管,东西、南北方向各一组,每组两个数码管,用于显示红绿黄灯的时间;有大道和小道之分,东西方向为大道,南北方向为小道。工作模式如下:
(1)东西方向绿灯亮,40秒倒计时,南北方向红灯亮,45秒倒计时秒。
(2)东西方向黄灯亮,5秒倒计时,南北方向红灯亮,剩5秒。
(3)东西方向红灯亮,25秒倒计时,南北方向绿灯亮,20秒倒计时。
(4)东西方向红灯亮,剩5秒,南北方向黄灯亮,5秒倒计时。
2.1时钟信号
直接接proteus里的脉冲即可
2.2计数器
单元电路图:
图2.2A 计数器仿真图
由4片74LS190组成,分为两组,每组的两片74LS190分别为各位、十位。74LS190是十进制同步计数器,预置数是异步。
原理说明:
图2.2B 74LS190引脚图
图2.2C 74LS190引脚说明图
表2.2A 74LS190功能表
每组计数器的低位74LS190的CLK接时钟信号,低位的借位输出端CO(RCO)接到高位74LS190的时钟CLK口;使能端CTEN’都接地,计数方式控制端U/D都接到VCC。计数器的置数输入来自两片74LS153,输出接到74LS48数码管译码器上。只有两片74LS190的CO(RCO)都为0时,计数器才是置数状态,其余情况都处于减计数状态。两片74LS190的借位输出端接到或门,或门输出再接到两个置数端LOAD’。
2.3状态控制器
单元电路图:
图2.3 状态控制器仿真图
设计过程:
状态控制器是用一片74LS190和一个与非门组成的3进制计数器
原理说明:
由表3.2.2A可知,74LS190要处于正计数状态,则CTEN’和U/D接地,要组成3进制计数器,把Q1、Q2接到与非门,与非门输出再接到LOAD’即可。CLK来自计数器或门的输出端,每当计数器递减到0,状态控制器就加1。
2.4数据选择器
单元电路图:
图2.4A 东西方向数据选择器仿真图
图2.4B 南北方向数据选择器仿真图
设计过程:
数据选择器用4片双四选一数据选择器74LS153组成。数据选择器根据地址输入端BA的不同值,选择输出与AB对应的输入数据。分大小道,东西方向为大道,南北方向为小道。 东西绿灯时间+东西黄灯时间=南北红灯时间;东西红灯时间=南北绿灯时间+南北黄灯时间。 我的学号是46,所以我设计东西的绿灯时间为40秒,黄灯时间为5秒南北的红灯时间为45(40+5)秒;东西的红灯时间为25(20+5)秒,南北的绿灯时间为20秒,黄灯时间为5秒。
原理说明:
图2.4C 74LS153引脚图
表 2.4A 74LS153真值表
表2.4B 状态控制器、地址输入、置数值对应表
74LS153的1G、2G为两个独立的使能端;BA为公用的地址输入端;1C0~1C3和2C0~2C3分别为两个4选1数据选择器的数据输入端;Y1、Y2为两个输出端。当使能端1G(2G)=0时,多路开关正常工作,根据地址码B、A的状态,将相应的数据C0~C3送到输出端Y。BA由状态控制器的QBQA接入,1G、2G都接地,C0、C1、C2、C3根据要输出的数接地或Vcc,其输出Y2Y1分别接到计数器QDQCQBQA端。控制器状态、数据选择器的BA、计数器置数值对应情况如表3.2.4B。
对东西方向,计数器十位的三次置数依次为4、2、0,所以第一个74LS153的输出端Y1、Y2分别接到十位计数器74LS190的QB、QC,数据输入端2C0、1C2接Vcc,其余数据输入端接GND即可满足要求。计数器的个位的三次置数依次为0、5、5,所以第二个74LS153的输出端Y1、Y2分别接到个位计数器74LS190的QA、QC,数据输入端1C1 2C1,1C3 2C3 接Vcc,其余数据输入端接GND即可满足要求。南北方向,以此类推。
2.5数码管
单元电路图:
图 2.5A 数码管与计数器连接图
设计过程:
如图3.2.5A 数码管的QAQBQCQD分别与74LS190的QAQBQCQD接上即可。
2.6红绿灯
单元电路图:
图2.6A 东西方向红绿灯
图2.6B 南北方向红绿灯
表2.6A 状态控制器QBQA与红绿灯对应状态
设计过程:
东西方向,状态控制器QA接到绿灯,QB接到黄灯,QBQA接到或非门,再接到红灯;南北方向状态控制器QA接到红灯,QB接到绿灯,QBQA接到或非门,再接到黄灯。
原理说明:
东西方向,接通电源后,计数器先是00,第一次置数后QBQA变为为01,此时应是绿灯亮,所以把QA接到绿灯;第二次置数后QBQA变为为10,此时应是黄灯亮,所以把QB接到黄灯灯;第三次置数后QBQA变为为00,此时应是红灯亮,所以把QBQA接到或非门,再接到红灯,计数器变为00后,状态控制器回到第一次置数,以此规律循环,南北方向以此类推。
三、结果分析
计数器随时钟信号递减,计数器每次递减到00,状态控制器加1,状态控制器输出接到数据选择器地址输入端,从而改变数据选择器的输出即计数器的输入,使计数器的置数改变,计数器又随时钟信号递减,从而实现循环置数。在计数器上接数码管,显示计数状态。状态控制器把状态信息传到红绿灯,从而控制红绿灯显示状态。
电路上电后,东西方向,状态控制器的QBQA为00,74LS153输出对应的值,计数器被置数为40,状态控制器的QBQA变为01,置数后,每有一个时钟信号到来,计数器减1。当计数器递减到00后,计数器被置数为05,状态控制器变为10,计数器一直递减。计数器再次递减到00,计数器再一次置数为25,置数后,QBQA变为00。计数器递减到00后,置数进入下一个一样的循环。南北方向,以此类推。
按理说,对东西方向,状态控制器为QBQA为00的时,数码管的第一个置数应该为40,置数应该按40->05->25顺序循环,但我运行后数码管的第一置数却是05,且按05->25->40循环,所有的置数值都比理论的置数值往后移了一个状态,南北方向也出现了一样的问题,再次确认自己连接的电路没有问题,我猜测是Multisim有bug。于是,我决定用proteus按照自己用Multisim设计的原理图再连接一次电路,结果发现能正向运行,置数值与理论值对上了,我成功了,很有成就感。
proteus总仿真图:
元器件清单:
需要仿真文件的小伙伴,等我上传了再评论区发链接你们哦!
最后
以上就是开朗鼠标为你收集整理的数电课设之十字路口交通灯的全部内容,希望文章能够帮你解决数电课设之十字路口交通灯所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复