交通灯毕业设计论文.docx
- 文档编号:27760594
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:34
- 大小:1.07MB
交通灯毕业设计论文.docx
《交通灯毕业设计论文.docx》由会员分享,可在线阅读,更多相关《交通灯毕业设计论文.docx(34页珍藏版)》请在冰豆网上搜索。
交通灯毕业设计论文
毕业论文(设计)
题目基于单片机控制的交通灯(硬件)设计与实现
系部
专业年级
学生姓名
学号
指导教师
基于单片机控制的交通灯(硬件)设计与实现
专业:
学生指导教师
【摘要】本设计是关于单片机控制的交通灯模拟系统的设计。
主要内容有交通等模拟系统设计方案,主要功能,各功能模块的介绍,电路设计,硬件部分设计,软件部分设计,模拟系统的仿真测试,设计方法以及课程设计的心得体会等等。
该设计中用红绿双色发光二极管来模拟左右转向信号灯,8X8LED双色点阵作为倒计时显示模块。
交通灯的倒计时时间是由STC89C52单片机的定时器/计数器0计时的。
由于本系统设计的是十字路口的交通灯,需要四面显示,所以在做的时候,发现单片机的引脚不够,所以需要就对单片机的引脚进行扩展。
在设计交通灯的系统时,我采用74HC573作为引脚扩展芯片。
因为573芯片的电路简单,驱动能力强,能锁存数据,价格便宜,是一款非常好用的芯片。
由于引脚的数量限制,所以不采用按键的方法来控制调节系统的参数,改用上位机来对系统进行控制和调节。
上位机可以更直观简单的对系统的参数进行设置。
【关键词】:
单片机;交通灯;上位机
ThedesignandImplementationofMicrocomputerControloftrafficlights(hardware)
Major:
Name:
Instructor:
【Abstract】:
Thisdesignisonthesingle-chipcomputercontrolsimulationsystemoftrafficlightdesign.Maincontentsuchastrafficsimulationsystemdesign,keyfeatures,introductiontofunctionalmodules,circuitdesign,hardwaredesign,softwaredesign,analogsimulationtestsystem,designmethodsanddesignexperience,andsoon.Redandgreenbi-colorLEDsusedinthedesignoftheanalogleftandrightdirectionindicators,8X8LEDtwo-colordot-matrixasacountdowndisplaymodule.Trafficsignalcountdowntimeisforthetimer/counter0STC89C52single-chiptiming.Duetothissystemisthetrafficlightsattheintersectionofdesign,neededfourshows,whensodoing,discoverpinsofthemicrocontrollerisnotenough,youneedtoextendthepinsofthemicrocontroller.Whenyoudesignasystemoftrafficlights,Iuse74HC573asaPINexpansionchip.573chipcircuitissimple,drivingability,abletolatchdata,lowprice,isaveryeasytousethechips.DuetothelimitonthenumberofPIN,soIdonotusemethodstocontroltheadjustmentofthekeysystemparameters,switchtoahostcomputertocontrolandadjustyoursystem.Hostcomputercanbemoreintuitiveeasytosettheparametersofthesystem.
【KeyWords】:
singlechipmicrocomputer;trafficlights;PC
引言
近年来,随着我国国民经济的快速发展,由于历史等各种原因,我国机动车辆发展迅速,但城镇道路建设相对滞后,交通拥挤和堵塞现象时常出现。
如何让利用当今计算机和自动控制技术,有效地疏通交通,提高城镇交通路口的通行和安全能力,减少交通事故是很值得研究的一个话题。
目前,国内一般都在十字路口设置交通灯,在醒目易见位置用红绿黄三种颜色的指示灯再加上一个倒计时显示的计时器来控制行车。
我国交通法规也对交通指挥信号灯做出规定【1】:
(1)绿灯亮时,准行车辆,行人通行,但转弯的车辆不准妨碍被放行的行人通行和执行的车辆
(2)黄灯亮时,不允许行人车辆通行,但已进入人行横道的行人和已越过停止线的车辆,可以继续通行。
(3)红灯亮时,不准车辆,行人通行。
(4)绿色箭头灯亮时,准行车辆按照箭头所示方向通行。
(5)黄灯闪烁时,车辆行人在保证安全的原则下可以通行。
(6)信号灯的出现,使交通得到有效管制,对于疏导交通流量、提高道路通行能力和减少交通事故有明显效果。
1、需求分析
1.1毕业设计题目
基于微控制器的交通灯实时控制系统设计
1.2毕业设计目的
1.巩固和加深课堂所学知识;
2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;
3.通过对交通灯实时控制系统的设计与制作,掌握MCS-51单片机的中断系统、定时/计数器及并行I/O口的综合应用和编程方法,掌握LED点阵的显示原理和方法。
1.3毕业设计任务与要求
任务:
采用MCS-51单片机设计一个十字路口的交通灯控制系统,要求车辆无交叉通过。
功能如下[2]:
1.东西方向和南北方向轮流放行控制:
1)南北方向准行30秒(直行30秒,左拐15秒,右拐15秒,东西方向可以右拐15秒。
),东西方向准行30秒(直行30秒,左拐15秒,右拐15秒,南北方向可以右拐15秒。
),按秒倒计时,并通过8*8红绿双色LED点阵显示剩余时间;
2)当准行时间剩最后2秒时,显示黄灯以示警告。
2.手动控制(上位机):
1)可通过上位机来选择自动或手动控制的模式。
2)手动控制可以选择东西通行或南北通行。
3)手动控制可以实现是否可以左转。
要求:
完成实验方案论证,进行十字路口的交通信号灯控制电路设计,画出电路原理图、元器件布线图及实验电路图;搭建实验电路,进行软件编程、调试、运行以及使用说明文档的建立等一整套工作任务。
进行十字路口的交通信号灯控制程序设计(采用C语言);系统联调,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。
1.4软硬件运行环境及开发工具
硬件:
PC机、STC89C52单片机、4块双色LED点阵显示屏、74HC573若干,下载线,导线与其他元器件若干。
软件:
KEIL、STC_ISP_V479、MicrosoftVisualBasic6.0
开发工具:
C语言、VB。
2、概要设计
2.1方案论证与设计
本设计以单片机为核心,以LED双色点阵作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,采用双色LED可以模拟出红、黄、绿三种颜色。
系统总体设计框图如图1所示。
交通灯控制的框图如下图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。
如图1所示:
图1系统总体设计框图
2.1.1电源提供方案
为使模块稳定工作,须有可靠电源。
本次设计考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案具有是稳定可靠,且有各种成熟电路可供选用的优势;缺点是各模块独立供电,会使系统更加复杂,可能会影响到电路电平。
方案二:
采用单片机控制模块提供电源。
该方案具有系统简洁,节约成本的优势;缺点是输出功率不高。
综上所述,选择第二种方案。
2.1.2显示界面方案
该系统要求完成倒计时功能。
基于上述原因,本次设计考虑了两种方案【3】:
方案一:
完全采用点阵式LED显示。
这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。
方案二:
完全采用数码管显示。
这种方案优点是实现简单,可以完成倒计时功能。
缺点是功能较少,只能显示有限的符号和数码字符。
根据本设计的要求,方案一比较形象,所以本次设计采用方案一以实现系统的显示.
2.1.3输入方案
这里同样讨论了三种方案【4】:
方案一:
采用8155扩展I/O口、键盘及显示等。
该方案的优点是使用灵活可编程,并且有RAM及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:
直接在I/O口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的端口资源还比较多。
方案三:
采用上位机来控制系统,用74HC573做I/O扩展。
该方案的优点是操作简单可视,锁存器驱动能力强。
缺点是I/O扩展比较复杂。
由于该系统是对十字路口的交通灯进行模拟,系统设计要求比较高,所以采用方案三。
2.1.4控制器选择方案
这里同样讨论了两种方案【5】:
方案一:
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA为现场可编程门阵列,通过编程改变硬件的结构(电路)来实现不同功能。
输入输出一般为5V以内的逻辑电平,而非强电。
方案二:
51单片机,是十分常用的单片机,可以看成是简单化的,低电压化的PLC,并且输入输出只能为逻辑电平。
在本系统设计中如果采用FPGA来作为控制器的话,电路会简单很多,但是FPGA的引脚不足以驱动LED点阵,同样需要增加驱动能力,而且价格要比51内核的单片机贵许多。
在本系统中,51单片机足以达到要求。
2.1.5点阵显示屏方案[6]
方案一:
串行方式显示。
这种方式可同时显示8个16×8点阵汉字或4个16×l6点阵的汉字、字符或数字。
点阵显示屏每个单元由16个8×8点阵LED显示模块、驱动器74HC245、数据移位寄存器74HC595、行信号选择译码器74HC138和行驱动器组成,如图1所示。
单元显示屏可以接收控制器(主控制电路板)或上一级显示单元模块传输下来的命令信息和数据信息,并可将这些命令信息和数据信息不经任何变化地再传送到下一级显示模块单元中,因此显示屏可扩展至更多的显示单元,用于显示更多的内容。
此方案为点阵显示屏系统中比较常用的,所用器件也比较常用,容易买到。
但是它有一个致命的缺陷,就是刷新率不够快。
如果要驱动64列点阵显示,通用51单片机会比较困难,跟严重会导致闪烁停滞现象。
此外,为了实现文字的左右移动和调整移动速度等功能,将会给软件设计带来许多的困难。
方案二:
并行方式显示。
可以通过锁存器芯片来扩展IO口,达到控制4个LED点阵的目的。
方案中运用4片锁存器74HC573,形成4组双缓冲寄存器,驱动LED点阵的8组列线,用4/16译码器74HC573对LED点阵的8行进行扫描。
在送每一行的数据到LED点阵前,先把数据分别送到第一级的8个74HC573,然后再给第二级的8个74HC573送锁脉冲,数据一起输出到LED点阵列中,这样可避免了数据出现是否同步的问题。
并行数据的传输速度比串行快,所以字符闪烁的问题可以更好地解决,文字左右移动更加容易控制。
综上所述,本设计最终选择了方案二。
2.1.6显示屏控制部分
方案一:
单机工作模式。
即采用一个单片机控制实现所有功能,其中包括LED点阵显示屏的刷新显示、模式设定、时间读取、温度检测,以及与上位机的通信等。
只使用一个单片机控制点阵显示屏可以大大减化电路,也更容易实现软件方面的设计。
所以,为了简化电路和设计难度并且实现各项性能指标,本设计采用了这种方案。
方案二:
主从工作模式。
即采用主从单片机工作方式来控制整个系统。
其中一个用于扩展键盘、串口通信与上位机通信、时间读取等工作,另外一个单片机用于控制LED点阵显示。
与单机工作方式相比,主从工作模式的处理能力更强,并且分工明确,执行速度得到很大的提高。
虽然硬件电路以及软件设计方面要求相对高了一些,更涉及到主从单片机通信问题。
2.2设计原理及实现方法
本设计采用STC89C52单片机设计一个十字路口的交通灯控制系统[7],要求车辆无交叉通过。
我用到了L1-L8,8个灯,LED1-LED4四个LED。
南北方向准行30秒(直行30秒,左拐15秒,右拐15秒,东西方向可以右拐15秒。
),按秒倒计时,并通过8*8红绿双色LED点阵显示剩余时间。
总通行时间为92秒。
当准行时间剩最后2秒时,显示黄灯以示警告。
如表1所示:
表1南北方向准行状态
30s
30s
15s
15s
东西通道
红灯L1亮
红灯L1亮
红灯LED1亮
红灯LED1亮
南北通道
绿灯L5亮
绿灯L5闪
黄灯LED6亮
黄灯LED6闪
东西方向准行30秒(直行30秒,左拐15秒,右拐15秒,南北方向可以右拐15秒。
),按秒倒计时,并通过8*8红绿双色LED点阵显示剩余时间。
总通行时间为92秒。
当准行时间剩最后2秒时,显示黄灯以示警告。
如表2所示:
表2东西方向准行状态
30s
30s
15s
15s
南北通道
红灯L4亮
红灯L4亮
红灯LED4亮
红灯LED4亮
东西通道
绿灯L2亮
绿灯L2闪
黄灯LED3亮
黄灯LED3闪
实现紧急通车等功能时,需要人工实现,编程时利用串口中断才能带到目的,只要上位机传下数据,那个红绿灯就更具上位机发送的数据来决定亮灯的情况。
通车情况如图2所示:
南北方向
南北方向
图2东西方向和南北方向轮流放行控制图
3、系统硬件设计
3.1.总体设计
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、电源、串口及显示(倒计时、红绿灯、转向)模块等。
本系统设计方案是立体显示,能满足自定义显示四个方向时间和红绿灯情况。
为了满足要求,每一面都采用一块红绿双色共阳点阵屏作为显示屏,两个双色led灯作为左右转向指示灯。
由于点阵的引脚较多,单片机的引脚数目无法满足要求,所以得采取一些方法才能完成整个系统。
在设计时,主要采用了两个方法:
数据总线法和引脚扩展。
数据总线法主要是把四个方向的点阵的红绿数据线(阴极)都接在一起,占用了16个引脚,点阵的阳极分别用一片锁存器74hc573来驱动和引脚复用。
占用8个引脚和4个片选信号。
但还有8颗灯需要控制,最后发现引脚还是不够用,又对单片机的P2口引脚进行扩展,把每个引脚都利用上了。
本系统软件比较简单,在硬件设计上有些复杂,但还好,硬件能够正常运行。
单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机振荡电路、电源稳压电路等组成。
在交通情况比较特殊的情况下,可以通过上位机手动对交通灯进行控制。
3.2.单片机的选型
51单片机是对目前所有兼容Intel8031指令系统的单片机的统称。
该系列单片机的起源是英特尔8031微处理器,以及后来的Flashrom技术的发展,8031单片机取得了长足的进步,已成为目前应用最广泛的8位单片机之一,其AT89系列是ATMEL公司的代表型号,它在工业控制系统被广泛应用。
目前,许多公司都推出51系列兼容,将在目前和未来的很长一段时间占据了大量的市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
目前,国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。
本设计就是采用宏晶STC89C52单片机作为主控制芯片。
3.3.单片机基本结构
1.MCS-52单片机内部结构[8]
8052单片机包含中央处理器、数据存储器(RAM)、程序存储器(ROM)、并行接口、定时/计数器、串行接口和中断系统等几大单元及地址总线、数据总线和控制总线等三大总线,现在我们分别加以说明:
2.中央处理器:
中央处理单元(CPU)是整个单片机,即8位数据宽度的处理器,能处理8位二进制代码或数据,CPU是负责控制,指挥和调度整个电池系统的协调工作的核心组件,能完成操作和控制输入输出功能和其他业务。
3.数据存储器(RAM)
8052内部有128个特殊寄存器单元和128个8位用户数据存储单元,它们是统一寻址专用寄存器,不能用于存储用户数据,用户只能访问,只能用于存放控制指令数据,所以,用户能使用的RAM只有128个,可存放读写的数据,用户定义的字型表或运算的中间结果。
如图3所示:
图3单片机8051的内部结构
4.程序存储器(ROM):
8052共有4096个8位掩膜ROM,用于存放用户程序,表格或原始数据。
5.定时/计数器:
8052有两个16位的可编程定时/计数器,用来实现计数或定时产生中断,而用于控制程序转向。
6.并行输入输出(I/O)口:
8052具有4组8位I/O口(P0、P1、P2或P3),实现对外部数据的传输。
7.全双工串行口:
8052内置一个全双工的串行端口与其他设备的串行数据传输,串口可以被用作异步通信收发器,也可用于同步移时。
8.中断系统:
8052具备更好的中断功能,有内部和外部中断,两个定时/计数器中断和一个串行中断,具有2级的优先级别选择,并可满足不同的控制要求。
9.时钟电路:
8052内置频率高达12MHz的时钟电路,用于产生单片机的整个运作的脉冲序列,但8051需要外部振荡电容。
10.MCS-52的引脚说明:
MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
11.MCS-52的引脚说明:
MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
如图4所示,现在我们对这些引脚的功能加以说明:
图4单片机的引脚图
(1)VCC:
电源电压
(2)GND:
接地
(3)RST:
复位输入。
当振荡器复位器件时,保持RST脚两个机器周期的高电平时间。
(4)/EA/VPP:
当/EA保持低电平时,在此期间的外部程序存储器(0000H-FFFFH),无论是否有内部程序存储器。
当加密方式1时,/EA将内部锁定为复位键;当/EA端保持高电平时,这时为内部程序存储器。
在FLASH编程期间,该引脚可用于施加12V编程电源(VPP)。
(5)XTAL1:
内部时钟工作电路的输入及反向振荡放大器的输入。
(6)XTAL2:
来自反向振荡器的输出。
(7)P0口:
P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部被拉高。
(8)P1口:
P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能输出或吸收4TTL门电流。
P1口管脚写入1后,内部上拉是为高电平,可以作为输入,P1口被外部下拉为低电平时,作为输出电流,这是由于内部上拉的缘故。
P1口在校验和FLASH编程时作为第八位地址接收。
(9)P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可输出或吸收4个TTL门电流,当P2口写入“1”时,该引脚被内部上拉电阻为高电平,可作为输入。
作为输入时,P2口的引脚被外部拉低,作为输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出在特殊功能寄存器中的内容。
在校验和FLASH编程时,P2口接收高八位地址信号和控制信号。
(10)P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可输出或吸收4个TTL门电流。
写入“1”时,由于内部上拉是高电平,用来作为输入。
作为输入时,它们被外部下拉为低电平,P3口将由于上拉的缘故输出电流(ILL)。
P3口也可作为AT89C51的一些特殊功能口,如下表3所示:
表3P3特殊功能口
管脚
备选功能
P3.0RXD
串行输入口
P3.1TXD
串行输出口
P3.2/INT0
外部中断/0
P3.3/INT1
外部中断/1
P3.4T0
记时器0时作为外部输入
P3.5T1
记时器1时作为外部输入
P3.6/WR
外部数据存储器/写选通
P3.7/RD
外部数据存储器/读选通
P3口同时为编程校验和闪烁编程接收一些控制信号。
(11)ALE//PROG:
当外部存储器被访问时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程过程中,该引脚被用作输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
这时,ALE只有在执行MOVX,MOVC指令才是ALE的作品。
此外,该引脚被上拉而略微拉高。
如果微处理器在外部执行状态ALE的禁令,置位没有效果。
(12)/PSEN:
外部程序存储器的选通信号。
在外部程序存储器被取指期间,每个机器周期两次/PSEN有效。
在外部数据存储器被访问时,将不再出现两次有效的/PSEN信号。
3.4.单片机内部模块介绍
系统设计中主要用到单片机内部的模块有,串口,定时器。
I/O。
现在将分别介绍定时器,串口的内部结构和功能。
后面系类程序也是围绕这两个模块展开的。
3.4.1串口原理简介[9]
51单片机内部有一个全双工的串行接口。
什么是全双工的串行端口?
在一般情况下,只能接收或只发送被称为单工串行;可以收到可以发送,但不能在半双工同时开展,可以发送和接收串行端口被称为全双工串行口。
串行通信,通信的数据位的传输顺序位,其优点是简单的传输线,可以大大降低了硬件成本,适用于长途通信。
缺点是传输速度低。
和前面一样,首先我们来熟悉下单片机串口相关的寄存器。
SBUF寄存器:
它是两个之间物理上独立的接收和发送缓冲区间,可同时发送、接收数据,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。
从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 毕业设计 论文