大家好,又见面了,我是你们的朋友全栈君。
数字电路实验——交通灯设计
1.内容摘要
为了确保十字路口的车辆顺利、畅通地通过,往往都采用自动控制信号灯来进行指挥。其中红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮表示停车;绿灯(G)亮表示允许通行。
本文探讨了简单的交通灯逻辑控制电路设计,设计了南北和东西两个方向的十字路口交通灯控制电路,同时实现简单的倒计时功能。
2.设计任务及要求
设计一个十字路口交通信号灯控制器。基本要求如下:
1.满足图3.1.2顺序工作流程。图中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、黄、绿灯分别为EWR、EWY、EWG。它们的工作方式有些必须是并行进行的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。
2.应满足两个方向的工作时序:即东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序工作流程图3.1.3所示。图3.1.3中,假设每个单位时间为3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。其中红灯亮的时间为绿灯、黄灯亮的时间之和。交通灯工作顺序流程图如下:
3.十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间。具体为:当某方向绿灯亮时,置显示器为某数,然后以每秒减1计数方式方式工作,直至减到绿灯灭为止;当黄灯亮时,置显示器为某数,然后以每秒减1计数方式方式工作,直至减到黄灯灭为止;当红灯亮时,置显示器为某值,然后以每秒减1计数方式方式工作,直至减到红灯灭为止。例如:假设每个单位时间为3秒,当南北方向从红灯转换成绿灯时,置南北方向数字显示为14,并使数显计数器开始减“1”计数。当减到绿灯灭而黄灯亮时,数显的值应从00跳回到02,黄灯计数,当数显值从2跳到0时,此时黄灯灭。而南北方向的红灯亮;数显的值应从00跳回到17,红灯计数减“1”计数,当减到红灯灭时数显为00。同时,东西方向的绿灯亮,并置东西方向开始计数。
4.扩展功能,手动设置单位时间。固定R、G、Y的时间间隔为6:5:1,通过开关K可实现单位时间的切换(t=2或3秒)。
3.方案比较
交通灯控制电路的系统框图如图所示:
方案一:
1、利用秒脉冲发生器产生信号,通过74HC190接成4进制计数器实现4分频信号,再通过74HC164接成12进制扭环形计数器以及相应的门电路来组成交通灯信号。
2、倒计时数码管显示部分用74HC191和显示译码器CD4511以及相应的门电路来设计组成。
方案二:
1、脉冲发生器555产生,经过74HC74实现二分频,74LS164设计成12进制扭环型计数器,通过门电路组合出交通灯。
2、倒计数数码管显示部分用74HC191和显示译码器CD4511以及相应的门电路来设计组成。
由于使用二分频电路简单设计方便,没有那么多的门电路组成,以及在实际测试中,二分频相比四分频所用的时间更短,更加方便测试,所以使用方案二来进行设计。
4.单元电路的工作原理
4.1 单位时间模块
我们选择2秒为—个单位时间,则要求计数器每计2秒输出—个脉冲。根据我们的方案,秒脉冲用555构成的多谐振荡器实现,并通过74HC74触发器二分频实现2秒的单位时间。
555定时器为数-模混合集成电路,可构成施密特触发器、单稳态触发器和多谐振荡器。要用555定时器接成多谐振荡器,需先将其构成施密特触发器,然后改造成多谐振荡器。
根据要求,令占空比q为66.67%,C取10μf,根据公式
t1=(R1+R2)Cln2
t2=R2Cln2
q=t1/(t1+t2)
T=t1+t2
可求得R1=R2=51kΩ
实际连接图如下:
4.2 二分频信号产生
通过D触发器,连接D和Q’。采用74LS74(双D触发器)构成扭环形2进制计数器,即可得到输出周期为2s的信号,此信号作为交通灯控制电路的时钟信号。
实际连接图如下:
4.3交通灯控制电路模块
要求计数器工作循环周期为12,所以可以采用12进制计数器。我们选用74LS164构成扭环形12进制计数器,输出QA,QB,QC,QD,QE,QF,控制6盏灯的亮灭。因此可以列出真值表,数值“1”表示红绿灯亮,数值“0”表示红绿灯灭。计数器输出通过逻辑门电路组合作为交通灯电路的输入,因此可得到南北和东西两个方向的红黄绿灯的控制信号。
交通灯控制模块电路实际连接如图所示。
4.4 倒计时数码管显示模块
计时控制电路利用两个数码管来进行显示一个方向的交通灯倒计时设计,选用一个方向的信号灯作为控制信号,如南北方向信号灯。当绿灯亮起那一刻十位和个位的数码管分别置数为0000和1001;当黄灯亮起那一刻十位和个位的数码管分别置数为0000和0001;当红灯亮起那一刻十位和个位的数码管分别置数为0001和0001。
将上图中填充颜色行取出如下:
则有:置数时,D7=D6=D5=0,D4=Q0Q5 ,D2=D1=0, D0=1, D3=Q0’
令个位的74HC191一直处于减法计数状态,当其从0000减到1111时,其实产生置数信号,由于1111状态置数时只是一个暂态,在实际显示中并不体现,所以可以用个位的74HC191的(Q3Q2)’接到11脚LD’端,4脚S’接低电平。令十位的74HC191一直处于置数状态S’接高电平。
74HC191管脚图具体如上.
CD4511和数码管管脚图具体如上
倒计时数码管显示模块实际连接电路如下图:
5.拓展部分:手动设置单位时间模块
要求: 固定R、G、Y的时长比例为6:5:1,可用一个选择开关K选择单位时间长度。当K输入0时,设单位时间t=2秒,则R、G、Y的倒计时初值分别为11、9、1;当K1输入1时,设单位时间t=3秒,则R、G、Y的倒计时初值分别为17、14、2。
设计具体思路分析:
A:由一个选择开关K可知,当K取不同值时,电路状态不同,所以需要利用K来组成一个或的式子,如KA+K’B,则当K取1时,电路状态为A,当K取0时,电路状态为B。选择开关选用一条导线来代替,导线接VCC和接GND分别代表两种不同的状态。
B:由于要可以手动设置单位时间t=2或3s,则首先就应该在单位时间模块进行改动,当K为0时,单位时间为2s,则电路实现二分频,当K为1时,单位时间为3s,则电路实现三分频。式子模型为:K×三分频+K’×二分频。
C:同样的,在倒计时显示模块,当单位时间为2s时,红黄绿灯分别从11s,1s,9s开始倒计时;当单位时间为3s时,红黄绿灯分别从17s,2s,14s开始倒计时。相应的倒计时置数模块也要做相应的改动。K×三分频置数+K’×二分频置数。
- 欢迎关注微信公众号【电子物语】,后台回复【交通灯设计】即可获取全文
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158199.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...