本文设计的红绿灯分布于南北道和东西道,当南北道为红灯时,东西道为绿灯或黄灯,当东西道为红灯时,南北道为绿灯或黄灯。红灯亮时间为60秒,绿灯亮时间55秒,黄灯亮时间为5秒。具体如表格所示。 路口示意图如下图所示,其中1、3为一组,2、4为一组,同一组亮灯时间相同。同时路灯旁设有8位数码管以提醒行人灯光切换剩余时间。
图 1:十字路口交通灯示意图 设计思路设计的基本思路如下流程图所示,主要由脉冲信号发生电路,递减计时器、数码管显示译码,交通灯切换译码,倒计时预置译码电路部分组成。 图 2:设计思路结构图 交通灯切换电路亮灯组合分析,以1代表亮灯,0代表灭灯,同一时间亮灯情况有如下表所示组合。
由表可见,亮灯组合状态有Q1、Q2、Q3、Q4四种,按时间顺序依次执行。 可以通过90芯片产生4进制数码信号,由74Ls139芯片译码并对输出进行取反,形成0001→0010→0100→1000信号顺序,以此选择亮灯组合。 下面是74ls90和74ls139引脚图及功能表 图 3:74ls90引脚图 图 4:74ls功能表 图 5:74ls90计数输出 图 6:74ls48引脚图 图 7:74ls48功能表 以D1、D2、D3、D4表示译码输出,Y表示亮灯组合输出。其选择关系如下表所示。 根据输入输出关系可列下列关系式; Y1=D1+D2 Y2=D3 Y3= D4 Y4=D3+D4 Y5=D1 Y6=D2 根据关系式可以设计如下电路图: 图 8:交通灯切换电路仿真图 时钟脉冲发生器脉冲发生器由555定时器,两个电阻和两个电容构成,其连接电路如下图: 图 9:时钟脉冲发生器仿真图 向555芯片提供5~12V直流电源供电,555芯片Q引脚输出秒脉冲,其输出波形如下图 图 10:脉冲发生器输出波形图 通过选择固定值R和C可以控制脉冲频率,公式如下。  数码管显示译码电路在红绿灯状态时同时也伴有LED数码管显示倒计时时间以提醒路人灯的变换。 递减计数可以使用74ls192或74ls190实现,数码管显示译码可以通过74ls47或74ls48实现,数码管采用8位共阳数码管。本文设计采用74ls192和74ls48. 74Ls192及74Ls48的引脚图及功能表如下: 图 11:74ls192引脚图 图 12:74ls192功能表 图 13:74ls48引脚图 图 14:74ls48真值表 可以看到当MR引脚置低,PL,CPU引脚置高位时,给予CPD上升沿脉冲信号有向下计数功能。P0、P1、P2、P3为预置位引脚,当PL引脚为低电平,Q0、Q1、Q2、Q3引脚初始化输出为预置电平信号。 倒计时显示电路仿真如下图: 进制切换译码电路不同灯保持亮的状态的时间不同,下表为不同灯的亮状态时间 转到芯片,即对应不同的进制。改变74ls192的预置位,可以实现不同进制的计数。 根据输入输出表格,可以列出以下关系式: Y0=D1 Y1=D0 Y2=D0+D1 Y3=0 Y4=D1+D2 Y5=0 Y6=D1+D2 Y7=0 根据关系式,有如下电路图; 总电路:总电路如下图所示 可以看到,图中通过555脉冲发生电路提供脉冲到递减计时器,通过74ls48进行显示译码,使用8位数码管进行显示剩余时间,当一个计时周期完毕后给予交通灯切换电路以一个脉冲,切换交通灯状态。如此循环往复,实现交通灯的指示功能。 设计感想这个设计花了近两周的时间,现在看来,似乎完全没有必要,当思维从局部逻辑形式的死磕装到系统逻辑关系式的推断,就会发现其实很简单,但当思维还没有突破那一层界限,又好像一切都是有所必要。这如果是采用单片机来做,将会相当容易,但不会引起像现在这样极大兴趣,很刺激,但也有难以避免的遗憾,当你回头发现你用尽力气做的可以很简单,一方面,后悔怎么早没想到,一方面又会想着好像会有更多可以优化的地方,比如现在正落键的这篇文稿,此时也是半夜,整篇文稿从芯片组合入手,对于组合逻辑的分析只有两部分,其他部分更多是直接使用集成芯片,通过读芯片手册直接使用,其实还想对芯片内部的移位寄存器等进行入手分析,但好像,其这也是很难有穷尽,也很费时间的。本次的作业提交看来也已晚,还是有些拖延症,但这篇文稿现在更像是给自己的答案,但比起很多时候为感时间匆忙的敷衍,这次花去的时间也有些价值,算是宽慰吧。
完整的Word格式文档51黑下载地址:
|