【51单片机开发】十字交叉口红绿灯(仿真+源码+调时+左转)

1.设计思路

        模拟十字路口的交通灯控制系统就是使用单片机来控制一些LED灯和数码管,模拟真实交通灯的功能。本方案所设计的功能主要包括:

       ①南北向直行和左转计时,东西向直行和左转计时

       ②红绿灯不变期间,在七段数码管上显示每秒倒计时;

       ③绿灯计时结束后,同方向的黄灯闪烁三秒;

       ④期间人行道通行情况随道路的通行状况而改变;

       ⑤设置紧急模式:全部路口保持红灯,模拟道路遭遇突发状况全部禁行;

       ⑥设置夜间模式:全部路口保持黄灯闪烁,模拟夜间缓慢通过路口

       ⑦设置时间调试:当前通行的方向绿灯时间可调。

2.方案设计

        用AT89C51单片机完成交通信号灯控制器的设计。该交通灯控制系统由一条南北向的道路和一条东西向的道路汇合成十字路口,针对每个入口配置左转和直行两个方向的控制,每个方向设置红、绿、黄三色信号灯,数码管显示剩余时间。人行横道两侧设置红、绿、黄三色信号灯,其控制方案与对应的直行信号灯一致,因此时间可直接从。通行信号灯红灯亮禁止通行,绿灯亮允许通行,黄灯闪烁则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管连结而成的Traffic Light元件作信号灯,4个共阴极二位数码管显示剩余时间。

根据设计功能及要求,我们可得系统的原理框图如下所示: 

7f747fc28cede047d86951ef97ada58a.png

  3.硬件电路设计

3.1 AT89C51单片机

        AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

        AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

3.2 晶振电路设计

        时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。

        本设计采用12MHz晶振和两个电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为单片机提供标准时钟。

3.3 复位电路设计

        复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算器有着异曲同工之妙,只是启动原理和手段有所不同。复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。当按下复位按键时,RST端产生高电平,使专单片机复位。复位后,其片内各寄存器状态改变,片内RAM内容不变。

3.4 按键控制电路设计

        为了实现对十字路口交通信号灯的实时控制,该方案设置了四种按键控制。当遇到紧急情况的时候,通过按键来实现六种情况的转换,当按下key1按键时,此时通行的方向的绿灯时间延长5s;当按下key2按键时,此时通行的方向的绿灯时间缩短5s;当按下key3按键时,所有信号灯亮红灯,道路禁止通行,再次按下,道路恢复正常通行;当按下key4按键时,所有信号灯不断闪烁黄灯,道路呈警示状态,松开恢复原来的通行情况。当遇到某一方向的车流量较大时,通过按键来调整交通信号灯的具体情况,不仅能够有效疏通道路,减少道路拥挤,还更能有效的为救护车、消防车等紧急车辆疏通道路。

3.5 红绿灯电路设计

        为了效果更加直观,采用Proteus自身提供的Traffic Light元件作为交通灯来使用。其中红绿灯分为三部分:路人红绿灯,主干道红绿灯,左转方向红绿灯。在十字路口的8组红、黄、绿三色交通灯中,每个方向路口的红绿灯连接在一起,路人红绿灯连接在一起。单片机与交通灯电路的具体连接方式为:单片机通过P2口控制南北方向的直行左转共4组灯;通过P3口控制东西方向的直行左转共4组灯,人行道上的信号灯灯显示情况与对应的直行道上的信号显示情况一致,直接与之并联即可。

        在倒计时显示上,该交通灯控制系统在正常情况下,每100s循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要一个两位数码管,这样四个路口就要求四个两位数码管。为了简化电路设计,本方案采用了共阳型数码管。

4.程序设计思路

fa88cf742515f534fcf8b5c62bee7f07

5.系统实现

5.1 Proteus仿真

        打开Proteus软件,创建名为信号灯控制系统的工程文件,打开原理图绘制界面,选择相应的元件按照设计的方案进行构图和连线。大致分为以下几步完成:

    ①先绘制基本功能元件,将设计的信号灯系统绘制上去:

c718bd5f8214febe89aa128bc36efd9a

    ②根据主要的功能设计,将主控制电路绘制出来,并且运用Proteus的LBL功能完成编号连线,提升整体美感度:

30a2bb249a7a7359a35d18cd916b9ee8

    ③完善路网设置,形成整体硬件设置布局:

4fdf4d0b3bbdda8a48939a53b878a70c

5.2 演示效果

运行效果

5.3 作品链接

https://pan.baidu.com/s/1W1NZ0qo1_ezGKoCX--lIgA

解压密码:cstt

  • 28
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
观察十字路口红绿灯工作流程,设计交通灯。 1、初始时:南北向、东西向直行左转均为红灯 2、南北向直行: ①南北向直行绿灯亮,延时若干秒 ②启动南北向左转数码管显示:倒计时6秒;同时南北向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向直行绿灯灭,南北向直行黄灯亮,延时3秒 ③南北向左转数码管倒计时显示结束,关闭;同时南北向直行黄灯灭,南北向直行红灯亮 3、南北向左转: ①南北向左转绿灯亮,延时若干秒 ②启动东西向直行数码管显示:倒计时6秒;同时南北向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向左转绿灯灭,南北向左转黄灯亮,延时3秒 ③东西向直行数码管倒计时显示结束,关闭;同时南北向左转黄灯灭,南北向左转红灯亮 4、东西向直行: ①东西向直行绿灯亮,延时若干秒 ②启动东西向左转数码管显示:倒计时6秒;同时东西向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向直行绿灯灭,东西向直行黄灯亮,延时3秒 ③东西向左转数码管倒计时显示结束,关闭;同时东西向直行黄灯灭,东西向直行红灯亮 5、东西向左转: ①东西向左转绿灯亮,延时若干秒 ②启动南北向直行数码管显示:倒计时6秒;同时东西向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向左转绿灯灭,东西向左转黄灯亮,延时3秒 ③南北向直行数码管倒计时显示结束,关闭;同时东西向左转黄灯灭,东西向左转红灯亮
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值