基于单片机的十字路口交通灯设计(带左转带紧急按钮带调时间)

资源文件夹包含:proteus仿真+原理图;keil编写的C语言程序;详细设计说明书。
资源链接:
加我QQ:1271370903

一、摘 要

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用单片机STC89C52为中心器件来设计交通灯控制器,以模拟十字路口交通灯的各种状态显示以及倒计时时间。系统由单片机I/O口扩展电路、交通灯状态LED灯显示电路、数码管显示电路、复位及晶振电路等几大部分组成。系统除基本的交通灯倒计时功能外,还有倒计时时间设置、紧急情况模拟等功能,较好的模拟实现了十字路口可能出现的状况。
关键词: STC单片机;STC89C52;交通灯;数码管

二、设计目的

(1)巩固和加深对单片机原理和接口技术知识的理解;
(2)培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
(3)学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;
(4)掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;
(5) 能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图、仿真图和流程图。

三、设计要求及内容

(1)红灯和绿灯相互转换经过黄灯,并且黄灯闪烁三次;
(2)主干道方向通行30秒,辅干道通行20秒,单独左转信号15秒,先直行信号,后左转信号;
(3)设置自动、手动、特殊情况三种方式。
(4)自动模式下自动显示各种状态的倒计时,红绿灯自动切换;
(5)手动模式下可以根据道路车流量情况手动调节红灯绿灯相应时间;
(6)紧急情况下所有路口红灯亮,黄灯闪烁,以便120、110等及时通行。

四、总体设计方案

4.1 系统需求及方案设计

为了实现基于51单片机的十字路口交通灯设计,本文将实现以下设计需求:
(1)精确、实时的进行数码管自动倒计时、LED红绿灯自动切换,较好的模拟交通灯的运行情况;
(2)直接、清晰明了的显示测得的倒计时的数值;
(3)手动调整倒计时的时间,提升交通灯可控性;
(4)能够实现交通灯紧急情况处理,完善交通灯的功能;
(5)操作简单、功能完善、精确度高。
基于以上列出的几点,本设计利用STC89C52单片机控制数码管模块、LED灯模块、按键模块等外部电路实现相关功能,具体的设计框图如图下所示。

在这里插入图片描述

4.2 所用软件介绍

4.2.1 Altium Designer电路设计软件

在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次毕设的需求。

4.2.2 Keil软件及C语言设计

作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
4.2.3 proteus仿真设计软件
Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。

五、硬件设计

5.1 硬件电路组成

如图下图是本系统的硬件设计方案,具体地,硬件电路由以下模块构成:
(1)单片机最小系统。用于驱动和控制其他模块,以实现整体功能,其以STC89C52单片机为核心芯片,并辅以复位电路和晶振电路。
(2)数码管倒计时显示模块。由四个两位数码管组成,负责实时显示交通灯倒计时:主干道直行30秒,辅干道直行20秒,左转15秒。
(3)LED红绿灯模块。由16个LED灯组成,分别模拟红灯、黄灯、直行绿灯、左转绿灯。
(4)电源模块。用于整个系统的供电。
在这里插入图片描述

5.2 单片机最小系统电路

单片机最小系统是单片机扩展开发应用中最基础和最主要的部分,一般由以下的电路构成,是整个设计的核心其保证了基于单片机的其他功能的扩展与实现。如图下所示。
复位电路: 复位电路是单片机应用中的最基本和最重要的电路,用于处理单片机工作失灵等紧急问题。当单片机复位端口为高电平时,单片机中的代码将不会被执行。一开始上电时,电容还未充满电,复位端口为高电平,避免了直接上电就运行程序导致的程序错误等问题。当电容充满电后,复位端口变为低电平,程序开始运行。
晶振电路:晶振电路也是的单片机设计中必备的电路,为系统提供工作时序。本毕设晶振电路提供11.0592MHZ时钟频率,以此构成整个稳定的振荡电路,为单片机的正常工作提供保障。
在这里插入图片描述

5.3 数码管倒计时及红绿灯电路

数码管倒计时电路由四个两位数码管构成,其中南北向(主干道)的数码管显示相同的倒计时,同接在单片机相同的IO口上;东西向(辅干道)的数码管显示相同的倒计时,同接在单片机相同的IO口上;由于只是两位数码管,因此最多只能倒计时99秒。红绿灯电路由16个LED发光二极管构成,分别模拟红灯、黄灯、直行绿灯、左转绿灯。其中南北向(主干道)的LED灯显示相同的情况,同接在单片机相同的IO口上;其中东西向(辅干道)的LED灯显示相同的情况,同接在单片机相同的IO口上。具体如图下所示。
在这里插入图片描述

5.4按键及电源电路

按键及电源电路如图下所示。三个按键分别接在单片机P3.5,P3.6,P3.7口,另一端接地。三个按键分别用于实现:紧急情况、自动模式倒计时增加、自动模式倒计时减少。
在这里插入图片描述

六、软件设计

6.1 软件设计需求及设计思路

根据本文设计需求,在第三章硬件电路设计的基础上,需要通过软件编程实现的具体功能:
(1)驱动各个模块工作,实现数码管的显示及LED灯的点亮;
(2)按键设置功能。实现紧急情况下所有路口红灯亮、自动模式倒计时增加、自动模式倒计时减少等功能;
(3)倒计时功能实现。实现主干道方向通行30秒,辅干道通行20秒,单独左转信号15秒,先直行信号,后左转信号;
(4)LED红绿灯的切换。实现红灯和绿灯相互转换经过黄灯,并且黄灯闪烁三次。
具体设计流程如图下所示。
在这里插入图片描述

6.2 主函数设计

主函数的主要功能是初始化数码管显示和定时系统、驱动各个模块工作、通过调用函数调用各个模块开始执行相应功能。
在这里插入图片描述

6.3按键程序流程图

按键程序需要实现紧急情况下所有路口红灯亮、自动模式倒计时增加、自动模式倒计时减少等功能,具体流程图如图下所示。
在这里插入图片描述

七、仿真演示

7.1 仿真实现

7.1.1 仿真电路图
本系统用protues8.7设计的仿真原理图如图下所示。
在这里插入图片描述
7.1.2 仿真结果
(1)主干道交通灯倒计时
在这里插入图片描述
(2)辅干道倒计时
在这里插入图片描述
(3)左转倒计时
在这里插入图片描述
(4)紧急情况
在这里插入图片描述

参考文献

[1] 楼然苗, 李光飞. MCS-51系列单片机设计实例[J]. 单片机与嵌入式系统应用(02):84
[2] 刘文涛. 单片机应用开发实例[M]. 北京:清华大学出版社,2005,18-25
[3] 徐向民. Altium Designer快速入门[M]. 北京:北京航空航天大学出版社,2011,20-29
[4] 王艳艳, 张荣国, 罗晓锋. Proteus与Keil软件在“C语言”教学过程中的应用[J]. 科技视界, 000(23):191-192,311
[5] 曾燕, 贾振国. Proteus仿真技术在单片机教学中的应用[J]. 长春工程学院学报(社会科学版)(1):135-138
[6] 周航慈. 单片机应用程序设计技术[M]. 北京:北京航空航天大学出版社,2002,21-25
[7] 王晓萍,陈嫄嫄. 单片机在十字路口交通灯控制系统中的应用[J]. 十堰职业技术学院学报(6):105-107.
[8] 郭玉秀. 基于单片机的十字路口交通灯的设计及仿真[J]. 现代制造技术与装备, 2018(8):66-68.
[9] 栗洋. 基于单片机的十字路口交通灯控制[J]. 工程技术(文摘版):00219-00219.
[10] 淡海英, 杨聪. 基于单片机控制的十字路口交通灯设计与分析[J]. 电子测试, 2017, 000(013):9,8.

  • 17
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值