3.2.3实用电路连接
图 6
如图6所示为74LS47的实用电路,本设计中也采用类似设计,通过51单片机的任何一个输出管脚,提供四根线连入译码端,三个使能控制端均接电源或者如上图所示接法,再通过输出一根位选信息来选中相应的数码管,通过51软件输出就可实现数码管的正常显示。 也可采用动态扫描的方法,由四根管脚控制2个LED灯的显示,通过2个管脚实现位选信息。
3.3 74LS139
74LS139 为两个2线-4 线译码器,共有 54/74S139和 54/74LS139 两种线路结构型式
3.3.1 74LS139管脚
A、B 译码地址输入端G1、G2 选通端(低电平有效) B、Y0~Y3 译码输出端(低电平有效) 管脚图和实物图如图7所示
图 7
第 7 页 共 40 页
3.3.2 74LS139真值表 输入 G 1 0 0 0 0 B X 0 0 1 1 A X 0 1 0 1 输出 Y0 1 0 1 1 1 Y1 1 1 0 1 1 Y2 1 1 1 0 1 Y3 1 1 1 1 0 本设计中是为了你补AT89C51输出管脚不够的问题,通过74LS139实现管脚的功能复 3.4设计中用到的其他器件
3.4.1RESPACK-7
RESPACK-7是一种七脚电阻排。其中一个引脚是公共端,其余六个引脚对公共引脚的电阻值是相等的。这种电阻排大都用来做集成电路的上拉电阻,占用面积小,使用方便,而且一致性好。Protues中器件图如图8所示:
图 8
3.4.2反向器7405
7405具有反相器的功能,将输入1转变为0或者将输入为1转变为0,设计中引入7405的目的是为了解决0与1的转换问题。Protues中器件如图9所示。 3.4.3TRAFFIC LIGHTS
此元件模仿的实现实中的交通灯,具有三个管脚,分别控制红、黄、绿三个颜色的亮灭,高电平有效,设计中采用它来代表交通灯。Protues中器件如图10所示
图 9
图 10
3.4.4 7SEG-MPX2-CA
7SEG-MPX2-CA是共阳极数码管,此元件是集成两个LED显示管的元件,设计中用它来实现倒计时,通过管脚1和2进行位选,ABCDEFG为显示的7段,DP为小数点显示,设计中没有用到。Protues中器件如图11所示。
第 8 页 共 40 页
图 11
图 12
3.4.5 BUTTON
BUTTON为protues中的仿真模拟按钮,具有按钮和开关的功能,当鼠标单击悬帽时,相当于按钮,点一下则按下去又弹起,当点击右侧的红色圈圈时,按钮按下不弹起。使用起来很方便。Protues中器件如图12所示。
四、设计总体方案
4.1课程设计总体思路
交通灯分红、黄、绿三种,十字路口右转一般与直行同步,本设计中也同步,人行横道的交通灯控制与南北向、东西向直行方向相同,本设计中直行交通灯包含了人行横道控制的功能,所以设计中不再画出人行横道。见图13
南
东
西
北
图 13
第 9 页 共 40 页
上图中东西向跟南北向相同,均由3个交通信号和一个双显示数码构成,其中一个信号灯的功能是实现南北向的左转弯控制显示器(如南面紧挨灯的一个),另外两个一个是控制南北向直行通过的功能(附带人行横道控制的功能),再一个与直通行信号灯同步,为右转控制信号灯。显示管为集成双显示,通过1、2进行位选输出倒计时信号的十位和个位。 4.1.1路口状态设置
设计各个路口状态如下:
状态 时间 南北 南北左转 东西 东西左转 状态 时间 南北 南北左转 东西 东西左转 7 25S 红 红 绿 红 8 3S 红 红 黄 红 9 2S 红 红 红 红 10 15S 红 红 红 绿 11 3S 红 红 红 黄 12 2S 红 红 红 红 1 25S 绿 红 红 红 2 3S 黄 红 红 红 3 2S 红 红 红 红 4 15S 红 绿 红 红 5 3S 红 黄 红 红 6 2S 红 红 红 红
说明:
1.考虑实际情况,将5S的黄灯闪烁,改为3S黄灯闪烁,2秒红灯。
2.状态1-3:当南北道为绿灯,此道车辆、行人通行。时间为25秒;东西方向为红灯,此道车辆行人禁止通行。当南北方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。当南北方向为红灯,其他方向也实红灯,东南西北车辆行人不得通过。
3.状态4-6:当南北方向为红灯,南北左转为绿灯,车辆可以左转弯,行人禁止通行;东西方向为红灯,此道车辆行人禁止通行。当南北左转方向为黄灯闪烁3秒,警示车辆绿灯状态即将切换。当南北左转为红灯,其他方向也实红灯,东南西北车辆行人不得通过。
4.状态7-9:当东西道为绿灯,此道车辆、行人通行。时间为25秒;南北方向为红灯,此道车辆行人禁止通行。当东西方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。当东西方向为红灯,其他方向也实红灯,东南西北车辆行人不得通过。
5.状态10-11:当东西方向为红灯,东西左转为绿灯,车辆可以左转弯,行人禁止通行;南北方向为红灯,此道车辆行人禁止通行。当东西左转方向为黄灯闪烁3秒,警示车辆绿灯状态即将切换。当东西左转为红灯,其他方向也实红灯,东南西北车辆行人不得通过。
6.表内时间可根据实际情况改变初值。 4.1.2实现主程序状态功能的流程图
1 写入南北向、东西 计算东西向红灯时间 开始 向、两路左转时间
第 10 页 共 40 页
开始执行1-3状态,倒计时显示,每三个状态的执行过程:
开 始
南北方向允许通行,其他禁止 开始执行第4-6状态,倒计时显示,南北左转允许通行,其他禁止 第一种状态绿灯亮,调用显示程序显示并且做1S计时,循环变量减一直至为0 计算南北向红灯时间 第二种状态给循环变量赋值3,实现黄灯闪烁功能,1S闪烁一次,并且循环变量减一直至为0 开始执行第7~9状态,倒计时显示,东西方向允许通行,其他禁止 开始执行第10~12状态,倒计时显示,东西左转允许通行,其他禁止 第三中状态给循环变量赋值2, 实现全路段红灯,实现缓存功能,显示1S计时并循环变量减一直至为0 结 束
执行结束,则返 回1重新开始 结 束 计算红灯的时间公式为:红灯时间=反方向绿灯时间+反向左转绿灯时间+2x黄灯等待状态 4.1.3主程序汇编 主程序程序为:
START: MOV 30H,40H ;南北绿灯直通行时间 MOV 31H,41H ;南北向左转绿灯时间 MOV 32H,42H ;东西绿灯直通行时间 MOV 33H,43H ;东西左转向绿灯时间 MOV R0,30H ;南北向绿灯时间写入 MOV A,30H ;计算东西向红灯时间 ADD A,#10 ;两次黄灯等待时间共10S ADD A,31H ;加上南北左转向绿灯时间 MOV R2,A ;东西方向红灯写入 MOV R7,#25 ;延时使用 MOV R6,#15 ;黄灯闪烁使用 MOV R5,#10 ;黄灯闪烁使用 LOOP1: SETB P3.4 ;P3.4置1,第二功能要求
第 11 页 共 40 页