资源描述:
《电子课程设计交通灯.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、交通灯控制器设计一、任务要求1)通过数字电路的设计,在面包板上模拟交通红绿灯。要求分主干道和支干道,每条道上安装红(主:R,支:r)绿(主:G,支:g)黄(主:Y,支:y)三种颜色灯,由四种状态自动循环构成(GràYràRgàRy);2)在交通灯处在不同的状态时,设计一计时器以倒计时方式显示计时,并要求不同状态历时分别为:Gr:30秒,Rg:20秒,Yr,Ry:5秒。二、总体方案主控部分秒脉冲发生器交通灯倒计时控制部分数码管显示反馈控制三、单元电路设计1)主控电路在设计要求中要实现四种状态的自动转换,首先要把这四种状态以数字的形态
2、表示出来。因2^2=4,所以可以两位二进制数表示所需状态(00—Gr,01—Yr,10—Rg,11—Ry),循环状态:(00—01—10—11—00)数字电路课程中介绍的计数器就是通过有限几个不同状态之间的循环实现不同模值计数,由此可以尝试设计一模值为4的计数器,其输出(代表不同状态)既可以循环转换,而且能够控制其他部分电路。在课程设计中本人利用74LS74(双上升沿D触发器)设计模4计数器作为主控部分电路。根据真值表化简,然后接线,这里就不详细介绍。主控电路图如下:2)秒脉冲产生电路通过555芯片按一定的线路接上不同的电阻和电容
3、就可产生周期不的方波脉冲,即不同的频率脉冲。课程设计需要秒脉冲,利用的2个电容,2个电阻。脉冲产生电路图如下:3)红绿灯(发光二极管)显示电路红绿灯显示也是表示电路所处状态,其必然与主控电路的状态一一对应,受到主控电路控制,即主控电路的输出(A和B)决定了主干道和支干道的红绿灯的亮灭情况。如亮用1表示,灭用0表示,则有,AB主红(R)主黄(Y)主绿(G)支红(r)支黄(y)支绿(g)00001100010101001010000111100010所以,R=A,Y=~ABG=~A~Br=~Ay=ABg=A~B这里应该注意:我们可以用
4、门电路实现(如与门,与非门,非门等)但是这些电路不稳定,容易出现错误,如果能够用中规模器件的话,我们尽量用中规模器件来实现,因为中规模器件不仅较小规模器件稳定,而且接线也教小规模器件简单.上面红绿灯的状态完全由A和B控制,我们可以用74LS139双二-四译码器,但注意译码器的输出必须经非门处理后才能接入红绿灯线路.红绿灯显示电路接线如下:4)计时部分电路a)计时器状态产生模块:设计要求对不同的状态维持的时间不同,而且要以十进制倒计时显示出来。限于实验室器材本人采用两个74LS161完成计时器状态产生模块设计。设计思路:要以十进制输
5、出,而又有一些状态维持时间超过10秒,则必须用两个74LS161分别产生个位和十位的数字信号。显然,计数器能够完成计时功能,我们可以用74LS161设计,并把它的时钟cp接秒脉冲。74LS161计数器是采用加法计数,要想倒计时,则在74LS161输出的信号必须经过非门处理后才能接入数码管的驱动74LS48,而在显示是最好以人们习惯的数字0---9显示计时,故在设计不同模值计数器确定有效状态时,本人以0000,0001,0010-----1111这些状态中靠后的状态为有效状态。例如:有效状态1011—1100—1101—1110—1
6、111取非0100—0011—0010—0001—0000即4------3-------2--------1---------0实现模5的倒计时。在将74LS161改装成其他模值时既可以采用同步清零法,也可采用异步置数法,但0000不可能为有效状态,所以采用异步置数法完成不同模值转化的实现。首先对控制个位输出的74LS161设计按要求对系统的状态不同,即红绿灯的状态不同,个位的进制也就要求不同。本人利用系统的状态量A,B控制74LS161的置数端D0D1D2D3。当系统处在Gr或Rg状态时,个位的进制是十(模10),即逢十进一,
7、当系统处在Yr或Ry状态时,个位的进制是五(模5),即逢五进一,模10时,有效状态为0110,0111,1000,-----1111,置D3D2D1D0为0110,模5时有效状态为1011,1100,1101,1110,1111,置D3D2D1D为1011,由此有,ABD3D2D1D0000110011011100110111011所以,D3=BD2=~BD1=1D0=B当状态为1111时,74LS161的状态必须跳到进入下一个循环,此时进位输出为1,我们可以把它的CO非接入置数端[LD]。再对控制十位输出的74LS161设计。同
8、设计控制个位输出的74LS161基本类似,本人用系统状态量A,B控制十位74LS161的置数端D3D2D1D0。当系统处于Gr状态时置D3D2D1D0为1101,当系统处于Yr或Ry时置D3D2D1D0为1111,当系统处于Rg时置D3D2D1D0