毕业设计 基于51单片机交通灯控制系统的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机交通灯控制系统的设计

1.系统硬件设计

1.1.系统设计

采用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分四组红绿黄三色灯构成信号灯指示模块。通过P1口显示十字路口交通灯的亮灭情况,P1.0-P1.2为南北的交通灯(绿红黄信号),P1.3-P1.5为东西交通灯(绿红黄信号)。P0和P2控制数码管的交通灯亮灭时间。

紧急开关有全部禁行、全部通行、东西通行和南北通行分别输入信号输入为P3.0、P3.1、P3.2和P3.3。

1.2.单片机的概述

1.2.1.单片机特点

AT89C51单片机由中央处理器,存储器和I/O接口等组成,相当于微型的计算机。在工业控制,智能装置方面有很大应用前景。单片机具有价格便宜,抗干扰性强和功耗低等特点。单片机先后经历了八位,四位,十六位,三十二位等阶段。未来单片机会向更好的方向迈进。

1.2.2.AT89C51单片机引脚功能

图 1-1单片机引脚图

40脚(VCC)电源端,电压为5v,20脚(VSS)接地端。

18脚(XTAL2)接外部晶体和电容,如果采用外部时钟电路,这个引脚悬空。如果检查震荡电路是否工作可以使用示波器查看该引脚有无脉冲信号。

19脚(XTAL1)接外部晶体和电容如果采用外部时钟,该引角输入脉冲。

9脚(RST)该引脚为复位信号端,需接入高电平。

29脚 PSEN程序储存允许输出信号端。

30脚(ALE/PROG)地址锁存允许信号端,若想确认芯片的好坏可以用示波器查看该引脚有无脉冲输出。

31脚EA/VPP外部程序储存器地址允许输入端/固话编程电压输入端。 EA为高电平时只能访问片内并执行内部程序存储器中的指令,当为低电平时则执行内部存储器中的程序。

P0,P1,P2和P3口都是带有上拉电阻的8位双向I/O端口。

12和13号引脚为外部中断1和外部中断0他们都是低电平有效。

14和15号引脚为定时器0和定时器1。

1.3.最小系统

如图 3-2所示最小系统是使单片机能够运行时最简单的组合,包括电源部分、晶振部分和复位部分。

图 1-2最小系统

1.3.1.复位电路

每个单片机系统都需要复位电路,每次启动时需要复位,使处于初始状态。当正在运行的程序出现问题时需要复位电路复位回到正常状态,复位端为RST引脚,输入高电平才有效。复位电路有自动复位和手动复位如图 1-3所示。

自动复位需要电容来实现,在通电时电容会向电阻充电复位端会出现正向脉冲会自动复位。

手动复位需要设置按键,通过按动按键单片机接收到这一信号,会进入复位状态。交通灯采用的是手动复位。

图 1-3复位电路

1.3.2.时钟电路

时钟电路是产生准确时钟的振荡电路,任何工作都按时间顺序。 用于产生该电流的电路是时钟电路。没有时钟电路的产生时钟驱动,就不能执行程序。定时器电路由石英振荡器,石英控制芯片和电容器组成应用广泛。分为内部时钟和外部时钟。

内部时钟方式:AT89C51单片机具有振荡器的高增益反向放大器,两个引脚为XTAL1,XTAL2均通过晶体振荡和电容连接,已形成一个稳定的自激振荡器。其发出的脉冲直接送入时钟电路。

外部时钟方式:把已有的时钟信号引入单片机中,这种方式适用于单片机的时钟和外部时钟一致,XTAL2引脚悬空,XTAL1接外部的电源信号。内部时钟和外部时钟如图 1-4所示。

图 1-4时钟电路

1.4.电源电路

1.4.1.电源电路的设计

三端稳压器有输入端,输出端和地这三个引脚。按功能还分为可调式稳压电路和固定式稳压电路。固定式输出的电压固定,可调式能根据外接元件使输出电压得到很宽的调节范围。固定式价格低,产品稳定性好得到广泛应用。可调式稳压器输出纹波小稳压精度也高,外接电阻就可以得到各种电压。

基本上都是采用串联型稳压电路加保护电路组成,当实际环境中的电压或电压变化到某个水平时,输出电压会增加。 目前,最后三端调节器通过详细的采样,比较和调整来降低调压管上的压力,或加阻输出电压。 此刻,输出电压保持不变。 进行调节时也会稍微改变输出电压。

三端稳压器有78,79和138等系列产品。本次采用2种类型电源确保稳定性和可靠性。输出的电压由后面两位数字决定,电流有0.1、0.5和1.5A,字母表示为L,AM和没有字母。7805提供给单片机5V的电压,7812提供给12V的电压。电路如下。

图 1-5 5v三端稳压电源

图 1-6 12v三端稳压电源

1.4.2.电源工作原理

上一节讨论了电源电路的设计,单片机需要5v的电源最终电路图如图 1-7所示。

图 1-7电源电路

220V经过变压器,二次侧电压经桥式整流和电容的整流滤波,把二次侧的交流电变为直流电,7805输出5V电压供给单片机。

1.5.车流量检测模块

1.5.1.光电开关概述

光电传感器是光电接近开关的缩写。 使用物体检测或反射光线,并同步同步电路以检测物体的存在。 对象不限于金属。 可以检测到所有反射光的物体。 光电开关在变送器中将输入电流转换为光信号并输出。 然后,接收器根据接收到的光的强度或是否存在光来检测对象。

经常使用的光电红外开关将物体反射到附近的红外线的原理,并根据从同步环反射的光强度检测物体的存在或不存在,以执行此功能 。 最初,光电传感器发出红外线以到达或透射红外线。 物体或反射镜反射红外光束,光电探测器接收光束,并根据光束的强度判断物体的存在。

光电转换用于物位液位检测,产品计数,宽度判别,速度确定,定长切割,孔检测,信号延迟,自动门检测,颜色检测,安全保护等。 此外,在银行,仓库,商店,办公室和其他事件中需要时,它还可以用作红外警报。工作原理图如图 1-8所示。

图 1-8光电开关原理图

发射器发射的光束通常来自半导体光源和发光二极管。接收器前面有透镜和光圈,后面是检测电路,检测有效信号。元件中也有发射板和光导纤维,并且三角形反射镜是附件。 它由小的三角形反射镜材料制成,可以使光束从反射镜板正确返回,这一点非常重要。 您可以将光轴的发射角度从0更改为25,以使光束在反射后几乎从发射线返回。

表 1-1检测方案分类表

光电开关有很多种分类方式如结构和检测分别为放大器分离型、放大器内藏型和电源内藏型、镜面反射式、对射式和反射式。镜面反射式光电开关发射器与接收器于一体,光电开关发射器发出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号。当检测物体为不透明时,对射式光电开关是最可靠的检测装置。被检测物体的表面光亮或其反光率极高时,反射式的光电开关是首选的检测模式。

1.5.2.车流量检测方案

目前道路上交通灯没那么先进大多数没有车流量检测,车流量检测方案有很多种,比如视频图像、红外检测、超声波检测和地感线圈检测等,都有优点和缺点如下:

视频图像检测是利用摄像头分析输入的交通图像,在车道上设置固定的区域内识别过往的车辆,计算车流辆,安装和维护方便,工作稳定,识别率高,缺点是容易受到恶劣天气的影响[7]。视频图像如图 1-9所示。

图 1-9视频图像检测原理

红外检测是通过红外光发射和接收来检测车辆,用光电开关根据光的强度检测物体是否检测到,而且不受天气的影响,价格便宜,安装简单[1]。

地感线圈检测是通过车辆的金属部件改变金属线圈的电感值来检测是否有车辆通过,这项技术计数准确,性能稳定,不会受到外界环境的影响,但安装时需要破坏路面,工程量大,不易维护[1]。

超声波检测使用反射原理,通过计算超声波的发射和接收之间的时间差来确定车辆是否已经通过,安装方便,受天气影响较少[1]。如图 1-10所示。

图 1-10超声波检测模块

经过分析视频图像检测受天气影响大,地感线圈需埋到地下工程量大等,综合考虑用红外车辆检测器检测车流量。

单片机P3.4是东西车流量检测,P3.5是南北车流量检测,正常工作时为1(高电平),检测到车辆时为0(低电平)仿真里用开关代替,设定在60s内检测到的车辆数目,单片机执行相应的程序,延长交通灯的状态和倒计时的时间。

状态1:在南北车道60s内通过的车辆数大于25辆时,绿灯延长20s那就是南北绿灯58s黄灯5s红灯25s之后东西绿灯20s黄灯5s红灯63s。同样在东西车道绿灯40s黄灯5s红灯43s之后南北绿灯38s黄灯5s红灯45s。

状态2:在南北车道60s内通过的车辆数大于等于15小于等于25辆时绿灯延长10s,那就是南北绿灯48s黄灯5红灯25s,之后东西红灯53s黄灯5s绿灯20s。同样在东西车道绿灯30s黄灯5s红灯43s 之后南北绿灯38s黄灯5s红灯35s。

状态3:在东西南北各自车道60s内通过的车辆小于15辆时保持不变,那就是南北绿灯38s黄灯5s红灯25s,东西绿灯20s黄灯5s红灯43s。

1.6.主控器的选择

方案一:交通灯控制系统可以由定时器,数字电路和计数器等组成。但比较繁琐,车流量的检测难以实现。无法完成任务。

方案二:采用AT89C51为控制器,完成系统设计任务,有5个中断源,两个中断优先级的中断控制系统,四个八位并行的端口,定时器/计数器可以设置定时方式,具有节电工作方式等可以很容易控制交通信号灯,很容易输入。

单片机具有低功耗,低电压和高性能,使用方便,方案二作为主控器。

1.7.显示模块

1.7.1.显示方案选择

显示方案得完成状态灯和倒计时的显示,有三种方案。

方案一:只使用数码管,这样只显示有限数字,两位数的数字不能显示出来,使用不方便比较复杂,如果安装上不能解决根本问题。

方案二:LED显示屏显示倒计时等,节能方面优势明显,不会线性失真和画质清晰,在交通中使用比较复杂体积也大比较适合医院广场这样宣传的场合。

方案三:LED数码管结合点阵倒计时,有数字和状态灯输出,很符合现实中道路情况,用LED显示状态,数码管显示时间。

这三种方案的分析,方案三更符合要求,采用方案三。

1.7.2.数码管原理

数码管为半导体发光二极管器件,8个二极管组成,a-g可以组成各样数字,DP为小数点,发光二极管被称作基本单元,PN结为基本结构,价格便宜,使用简单,在电器领域应用广泛。有七段数码管和八段数码管,八段数码管多了一个发光小数点显示DP,每个数码管都有位选和段选点亮不同的数字来进行显示, 还分为共阴极和共阳极两种数码管。

共阴极数码管把各个二极管的如所示阴极连在一起接地,当二极管的另一端为高电平时数码管上就会显示相应数字,当为低电平时就不会显示。如图1-7所示。

共阳极数码管把各个二极管的阳极端连在一起接5V的电压,二极管的阴极端为低电平时就会在数码管上显示相应数字,为高电平时不显示。如图 1-11所示。

图 1-11数码管结构图

1.7.3.数码管显示部分

在不繁华的城市和农村安装的交通灯没有数码管显示很不安全,在路口上方需要有一个红灯,黄灯,绿灯显示的电路,采用数码管显示时间时,可以清楚知道各个交通灯的剩余时间,司机可以看到后作出相应操作。数码管图 1-12所示。

图 1-12数码管图

需要与单片机端口连接,要想使显示字符改变端口的电平高低就行。十字路口交通南北和东西分别通行时间一样,单片机的P0和P2口来接数码管,P0为段选端,P2为位选端。P0来决定输入单片机里的字符码,P2决定哪个数码管亮。

图 1-13数码管连接方法

数码管连接方法为动态显示,如图 3-13所示。动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

1.8.紧急模块

设计中有4个紧急按键,按键的一段接地,另一端接单片机端口P3.0-P3.3,手按下时会接通,松开时断开。低电平有效,当按键中的其中一个为低电平时,单片机系统作出响应执行对应的程序,应对不同的紧急情况。如图 1-14所示。

图 1-14按键部分

1.9.信号灯模块

过去道路上没有信号灯,路上交通混乱各个方向的司机会因为抢行会发生争执,也会造成交通事故时常发生,警察的工作量大大的增加了,信号灯是为了加强道路交通管理,减少交通事故的发生和人员的伤亡,提高道路使用效率,改善交通状况的一种重要工具。模拟信号灯用发光二极管代替白炽灯,有电流小、体积小和亮度高。转换顺序为绿红黄,单片机P1口控制各个方向信号灯,现实中需要高电压控制信号灯。图 3-15所示。信号灯亮灭的逻辑顺序为当P1.2输出为高电平时,南北绿灯亮,对应P1.4为高电平,东西红灯亮。当P1.5输出为高电平时,东西绿灯亮,对应P1.1为高电平,南北红灯亮。

东西和南北黄灯亮时,P1.0和P1.3为高电平。这些都需要程序实现。

图 1-15发光二极管

2.仿真与调试

2.1.Protues简介

Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其他EDA工具的软件建模功能,而且还可以模拟微型计算机和单片机外围设备。 它是 用于单片机和外围设备的最佳工具。有许多各式的模拟器使用方便。进行单片机仿真,也可以电路和单片机结合进行仿真,有各种各样的仿真电路,比如它具有循环建模功能,模仿数字设备,模仿单芯片系统和外围电路,模仿RS232,模仿I2C,抑制系统的SPI,键盘和LCD; 有各种可用的工具,例如示波器,逻辑分析,信号发生器等。还支持系统仿真包含了各种系列的单片机。提供软件解决方案。 它有一个全速设置的调试功能,一步一步可以观察到寄存器和各个变量状态。还允许其他软件进行编译和调试环境。

不仅可以能够实现原理图设计和混合模式仿真,还可以进行PCB系统特性的设计以及手动自动的布线,实现完整的电子系统的设计。在教学技能开始和产品开发等方面上应用广泛。

2.2.绘制仿真原理图

首先打开软件界面里有主菜单,预览窗口,图形编辑窗口,绘图工具区和仿真进程控制按钮等。在绘图界面里用鼠标点击元件模式,会出现对象选择按钮,根据交通灯在对象选择按钮里把需要的元件在里面找出来后点击OK就可,元件就会出现在对象选择窗口器里,在窗口器里把元件选择合适的位置放置在图形编辑窗口里,在进行连线,点击终端模式把电源和地线连上。在仿真软件里车流量的检测用开关代替来进行模拟。达到仿真的效果。

2.2.1.加载仿真程序

在keil软件里编写好程序,检查无误后要生成十六进制文件保存在桌面,打开protues软件在图形编辑窗口点击单片机,把程序加载进去,并把单片机设置为12MHZ,这样程序就加载完成。

2.2.2.系统仿真

点击运行仿真交通灯就开始根据你的设计开始运行,显示的是你默认情况时的仿真如图 5-1所示。首先南北会先通行,之后是东西。通行时间为南北方向绿灯亮38秒之后黄灯亮5秒红灯亮25秒。东西方向亮红灯43秒之后绿灯亮20秒黄灯亮5秒。

图 2-1默认状态仿真图

接下来仿真车流量检测。根据自己的设计需要按南北车辆检测开关的频率不大于15次,会执行状态3,时间保持不变,绿灯38秒黄灯5秒红灯25秒,东西绿灯20秒黄灯5秒红灯43秒。仿真结果如图 2-2所示。同理如果点击东西车流量检测按键频率不大于15次,时间也会不变。

图 2-2南北车流量检测仿真图

需要按南北车辆检测开关的频率大于15而小于等于25次时会执行状态2,时间会延长10秒,南北绿灯48秒黄灯5秒红灯25秒,之后东西红灯53秒黄灯5秒绿灯20秒,仿真结果如图 5-3所示。同理如果东西车流量检测按键频率大于等于15而小于等于25次时时间也会延长10秒。

图 2-3状态2的车流量仿真图

需要按南北车辆检测开关的频率大于25次时会执行状态1,时间会延长20秒,南北绿灯58秒黄灯5秒红灯25秒之后东西绿灯20秒黄灯5秒红灯63秒。仿真结果如图 5-4所示,同理如果东西车流量检测按键频率大于25次时时间也会延长20秒。

图 2-4状态1的车流量仿真图

除了设置了车流量检测,此次还设置了紧急控制的功能。接下来仿真验证一下。首先把仿真程序运行起来,在运行的过程中点击全部禁行键,交通灯每个方向就会显示红灯60秒。在点击全部通行键时交通灯就会恢复了通行,交通灯会显示南北方向绿灯亮38秒黄灯亮5秒红灯亮25秒,之后东西方向亮红灯43秒之后绿灯亮20秒黄灯亮5秒。仿真结果如图 2-5所示。

图 2-5全部禁行通行仿真图

当在运行的状态下点击东西通行时,交通灯南北会显示红灯25秒东西通行,会通行20秒仿真结果如图 2-6下,同理当点击南北通行键时,南北通行,东西不通行。南北绿灯显示38秒,东西红灯会显示43秒。

图 2-6东西通行仿真图

2.3.系统调试

经过程序和软件的设计之后,进行系统的调试,在调试的过程中发现了一些问题,一开始在程序编写完成后进行仿真时,按下东西和南北车流量检测键时,没有按照设定的改变通行时间,肯定是程序编错了,经过大量修改和调试后完成这一程序。在程序运行的过程中有时如果按下按键中的其中一个,有时倒计时显示数字不全,一开始以为是程序的原因或者数码管问题,后来经过检查没有发现问题就继续排查和数码管况。还更换了数码管也没有发现问题,之后才知道是因为自己的操作不当造成的。还在测试中发现交通灯从绿灯变成红灯或者从红灯变成绿灯都先要变成黄灯才能完成整个切换。在现实生活中的交通灯红灯变成绿灯是不需要这样的,所以不符合实际情况。如果想要解决这一问题,从电路方面和本人掌握的知识情况是很难解决的。所以从软件方面解决,解决这一问题,打算交通灯每次红灯转换程绿灯时,保持原方向的红灯5秒后,在进行切换。这样另一方向从绿灯切换成红灯时就能保持一致了,不会出现错误,引起混乱。

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值