资源文件夹包含: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.

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

  1. 基于单片机的十字路口交通灯设计(带左转、紧急、夜间模式且每个绿灯后都有黄灯二)

    资源文件夹包含:proteus仿真+原理图:keil编写的C语言程序. 资源链接:加我QQ:1271370903 一.设计要求及内容 该控制系统中,主要由AT89C51单片机芯片.时钟电路.复位电路. ...

  2. 基于单片机的十字路口交通灯课程设计

    1.设计要求: 设计一个十字路口交通灯控制器.用单片机控制LED灯模拟指示.模拟东西方向的十字路口交通信号控制情况.东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s. 2.设计思路: 通 ...

  3. 基于51单片机的十字路口交通灯系统

    1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...

  4. 8255,8253微机原理课程十字路口交通灯设计(带交通管制)

    8255,8253微机原理课程十字路口交通灯设计(带交通管制) 前绪 CPU 采 用 8088 设 计 , 采 用 其 最 大 工 作 模 式 . 通 过 245,373,8288 等设计形成地址总线 ...

  5. J015基于AT89C51的十字路口交通灯紧急+夜间

    基于AT89C51的十字路口交通灯紧急+夜间 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J015 目录标题 基于AT89C51的十字路口交通灯紧急+夜 ...

  6. 【毕业设计】基于PLC的十字路口交通灯控制系统设计【仿真+源码+论文】

    摘 要 本次设计的课题是基于PLC的十字路口交通灯控制系统设计,传统的十字路口交通灯多采用单片机集成电路作为控制系统,单片机系统虽然在功能上能够实现十字路口交通灯的各种控制需求,但是单片机控制系统在设 ...

  7. 基于Verilog的十字路口交通灯控制电路设计

    基于Verilog的十字路口交通灯控制电路设计 一.设计要求 二.设计方案 三.电路原理图 四.代码实现 1. Verilog代码: 2. Testbench代码 五.仿真结果 一.设计要求 设计并实 ...

  8. 基于单片机的智能交通灯系统的设计

    目 录 1绪论 1 2课题的设计要求和设计方案 2 2.1设计要求 2 2.1.1 题目概述 2 2.1.2 设计任务 2 2.1.3 设计要求 2 2.2设计方案 2 2.2.1供电方案 2 2.2 ...

  9. 基于单片机交通灯控制的c语言程序设计,基于单片机控制的交通灯毕业设计

    摘  要 随着现代社会对交通运输的日趋依赖,交通灯成为了人们生活中不可或缺的一部分.传统的交通灯虽然在一定程度上可以满足指挥路口交通的需要,但随着城市规模的不断扩大,原有的交通灯已经表现出明显的缺点: ...

  10. 红绿灯c语言程序及仿真图,AT89C51单片机十字路口交通灯设计(仿真、keil源代码以及实物图)...

    /***************************************************** *   王瑾毕设-交通灯 * * * ************************** ...

最新文章

  1. 组件注册——@ComponentScan自动扫描组件指定扫描规则
  2. 为什么选择Netty作为基础通信组件?
  3. java执行sql文件_面试官:MyBatis SQL是如何执行的?把这篇文章甩给他
  4. JavaScript函数实现方式大总结
  5. 网管心得:优化网络性能给局域网提速[好文章]
  6. testng 定时构建_10自动化测试_持续集成篇
  7. 编程语言对比 引用数据类型-列表
  8. Python——(Anaconda+PyCharm)Youki的Python环境配置笔记(Windows版本)(legacy)~
  9. iOS开发--UIKit控件之UISearchBar(搜索栏)
  10. 单片机编程软件很简单(16),Keil单片机编程软件建立工程项目
  11. linux cpu占用分析,Linux下CPU占用率高分析方法
  12. 三星S7edge从8.0降到6.0.1,只为流畅的飞一般的感觉_我是亲民_新浪博客
  13. EverNote开源协议-Android
  14. 体验DCGAN生成漫画头像
  15. 深入理解Linux内核使用浮点运算问题
  16. tor 安装及使用教程
  17. 开发想顺利,流程得明确!
  18. iptables防火墙之SNAT、DNAT策略及应用
  19. matlab空间重采样,matlab重采样函数
  20. retrofit设置单个请求的超时

热门文章

  1. GTP协议中的APN,TEID,NSAPI,TID
  2. 数据库文档生成工具-markdown格式
  3. 6个小白也能看得懂的华为交换机命令,你学会了吗?
  4. 音频均衡器原理及实现
  5. 计算机win764位相机驱动,Win7万能驱动64位
  6. 10年建模师给想学次世代游戏建模同学的一些忠告,太受益了!
  7. 【IAST安全左移最佳工具】
  8. android+浮层布局,如何使用Android实现单页面浮层可拖动view
  9. VC模拟鼠标的两种方式(SendMessage、mouse_event)
  10. 学习一下企业管理信息化建设的“诺兰模型”