为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

交通灯控制系统设计论文.

2018-03-14 20页 doc 446KB 192阅读

用户头像 个人认证

徐姐2018

技术学院会计学毕业后掌握基本的会计知识技能,取得会计从业资格证,多年的财务工作经验,现认多家小企的财务会计!

举报
交通灯控制系统设计论文.目录摘要 ⅠAbstract Ⅱ1绪论 11.1交通灯国内外发展现状 11.2交通灯控制系统研究意义 21.3课题的任务要求 32系统设计的总体方案 42.1系统设计目标 42.2交通道路管理方案 42.3系统设计总体方案 43交通灯控制系统硬件设计 63.1单片机简介 63.2系统时钟电路 63.3信号灯显示电路 73.4倒计时显示电路 83.5键盘设置电路 93.6单片机控制电路设计 104交通灯控制系统的软件设计 124.1软件设计环境简介 124.1.1Proteus仿真软件简介 124.1.2KeilC51编译软件简...
交通灯控制系统设计论文.
目录摘要 ⅠAbstract Ⅱ1绪论 11.1交通灯国内外发展现状 11.2交通灯控制系统研究意义 21.3课题的任务要求 32系统的总体 42.1系统设计目标 42.2交通道路管理方案 42.3系统设计总体方案 43交通灯控制系统硬件设计 63.1单片机简介 63.2系统时钟电路 63.3信号灯显示电路 73.4倒计时显示电路 83.5键盘设置电路 93.6单片机控制电路设计 104交通灯控制系统的软件设计 124.1软件设计环境简介 124.1.1Proteus仿真软件简介 124.1.2KeilC51编译软件简介 124.2交通灯系统主程序 134.3交通灯延时程序 134.3.1计数器硬件延时 134.3.2软件延时 144.4交通灯显示程序 154.5按键处理程序 154.5.1设置键处理 164.5.2增加键处理 184.5.3减少键处理 214.6交通灯控制系统仿真 214.6.1交通灯初始状态时的仿真 214.6.2东西向信号灯切换时仿真 224.6.3键盘控制重设时间的仿真 225交通灯控制系统调试 245.1硬件调试 245.2软件调试 245.3软硬件联调 246结论 26致谢 27参考文献 28附录 30文献综述 43 摘要交通灯控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。随着我国城市现代化进程的不断推进,交通是影响我国社会经济发展的严重问题,而城市交通问题的核心就是对十字路口交通信号的控制。因此,我国的城市交通问题的研究重点是交通灯控制系统的研究。本课题是根据单片机相关知识对简单交通灯控制系统的设计。本文首先介绍了交通灯的发展历史和研究现状,阐述了本课题的任务要求,并在交通管理系统知识的基础上,根据设计要求和实际应用情况,进行总体方案论述。接着,对单片机进行了简单介绍,然后通过对交通灯控制系统需完成的功能确定了控制系统中需要设计的模块,最后对每个模块进行硬件的选择与设计,完成了对交通灯控制系统的硬件设计。在软件设计部分,运用Proteus和Keil软件对交通控制系统编程与仿真,使交通灯控制系统功能达到任务要求。关键词:信号灯AT89C51倒计时控制 AbstractTrafficcontrolsystemisauniquesetofpublicmanagementsystemwiththedevelopmentoflogisticsandtransportationinmodernsociety.Withthedevelopmentofurbanmodernization,trafficistheeffectofChina'ssocialandeconomicdevelopmentoftheseriousproblem.Andthecoreoftheurbantransportationproblemofintersectiontrafficsignalisthecontrol.Therefore,China'surbantransportationresearchneedstofocusonthelightscontrolsystem.Thistopicisasimpledesignofthetrafficlightscontrolsystembasedontheknowledgeofsingle-chipmicrocomputer.Thispaperfirstlyintroducesthedevelopmentoftraffichistoryandstatus,expoundsthetaskofthisprojectrequirements.Thendiscussestheoverallschemeaccordingtothedesignrequirementsandactualapplicationandbasedontheknowledgeoftrafficmanagementsystem.ThenitintroducedtheSCM.Thenitfinishthefunctionaffirmatoryofthetrafficlightscontrolsystem.Finally,itselectsanddesignstheeachmoduleofhardware,completesthedesignofthetrafficcontrolsystemhardware.Inthepartofsoftwaredesign,programsandsimulatesthetrafficcontrolwithProteusandKeilsoftware,makethetrafficcontrolsystemtasktherequirementtask.Keywords:LightsAT89C51countdowncontrol 1绪论1.1交通灯国内外发展现状在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。这一技术在19世纪就已出现了。早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通信号灯的诞生,拉开了城市交通控制的序幕。1868年,英国工程师纳伊特在伦敦威斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点[1]。早期的交通信号灯使用“固定配时”方式实行自动控制,这种方式对于早起交通流量不大的情况曾起过一定的作用。但随着汽车工业的发展,交通流量增加,随机变化增强,采用以往那种单一模式的“固定配时”方式已不能满足客观需要,于是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方案的控制器。20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制有更大的灵活性。车辆感应控制的这一特点次刺激了车辆检测器技术的发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形圈等检测器相继问世。当今在城市道路交通自动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器。超声波检测器主要在日本等少数国家得到广泛应用[2]。计算机的出现为交通控制技术的发展注入了新的活力。1952年,美国科罗拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方案自动选择式信号灯控制,而加拿大多伦多市于1964年完成了计算机控制信号灯的实用化,建立了一套由IBM650型计算机控制的交通信号协调系统,成为世界上第一个具有电子数字计算机城市交通控制系统的城市。这是道路交通控制技术发展的里程碑。在近百年的发展中,道路交通信号控制系统经历了手动到自动,从固定配时到灵活配时,从无感应控制到有感应控制,从单点控制到干线控制,从区域控制到网络控制的长远过程。而当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系统有英国的TRANSTY与SCOOTS交通控制系统和澳大利亚的SCATS系统。我国交通控制系统的发展起步比较晚,从新中国建国之后,随着社会发展的要求以及科学技术的发展,我们开始建立交通控制系统,但还是主要引用国外的交通控制系统。随后,通过技术的引进和自主创新,我国开始废弃旧有的交通控制系统,应用先进的控制技术。虽然与发达国家存在差距,但是部分领域技术水平已达到世界先进水平。1.2交通灯控制系统研究意义随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。人们的消费水平不断的提高,私人车辆不断的增加。人多、车多道路少的道路交通状况已经很明显了。我国是13亿多人口的大国,到2004年,全国的机动车保有量超过了6000万,而全国公路通车总里程只有14.3万公里。静态比例为:人均车辆越0.5辆,而人均道路只有0.00011公里;每辆车均道路占有量约为0.002公里;且其中90%的道路属于机动车与非机动车和行人混杂。车辆的增加反映出了国家的整体进步,但是也给人民带来了其他的一些负面的影响。今后几年机动车辆数字还在急剧增加,道路超负荷承载,致使交通事故逐年增加。在一个交通十字路口,如果还是像以前一样由单纯的一种信号灯和交通警察的协调来维持交通是不够的。根据统计每年因交通事故死亡的人数占所有事故死亡总人数的80%,而且这个比例还在不断增加。如果将每个交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高发的地方,不但可以大大降低交通事故的发生率,而且可以节省大量的人力财力。基于新型规则的可编程交通控制系统可以实现对车辆、行人的控制,使得交通便于管理。交通控制系统的研究,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效地利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪;另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分必要[3]。交通网络是城市的动脉,象征着一个城市的工业水平。交通关系着人们对于财产、安全和时间的相关的利益。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸[4]。所以,在人们日常生活中,交通灯扮演着重要角色。1.3课题的任务要求根据上述交通灯控制系统的研究意义,本课题设计了适应当前交通管理的交通灯控制系统。此系统中除了具有基本的交通灯功能之外,还具有倒计时、时间设置、根据情况手动控制等功能。(1)在一般情况下,交通灯控制系统要求正常显示信号灯以及倒计时的时间变化:当东西方向为绿灯时,南北方向为红灯;当东西方向绿灯变为黄灯,提示此方向即将禁止通行;当东西方向变为红灯,南北方向变为绿灯;当南北方向变为黄灯时,提示此方向即将禁止通行。在每个方向都要求有倒计时显示,提示通行时间和暂缓通行时间。(2)在特殊情况下,某一方向的车流量过多,按键设置通行时间和暂缓通行时间。综上所述,交通灯的发展带动了整个交通运输的发展。本章主要介绍了交通灯的发展现状和研究意义,提出了本课题的任务要求。 2系统设计的总体方案2.1系统设计目标随着人们日常生活水平的提高,机动车辆不断增加,简单的交通控制系统已不能满足当前交通道路管理的需要。为了最大程度的满足交通管理的需要,为车辆提供准确的通行时间,本课题应结合先进的研究技术设计出功能完善的交通灯控制系统。此外,还需要充分考虑系统的可操作性,使控制系统具备与突发状况相适应的可调节能力。2.2交通道路管理方案在设计交通灯控制系统之前,应明确交通道路中交通灯的管理方案。东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,以指挥车辆的安全通行。红灯亮禁止通行;绿灯亮允许通行;黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。信号灯指示方案如表2.1所示。表2.1信号灯指示方案状态信号灯显示S1东西方向绿灯南北方向红灯S2东西方向黄灯南北方向红灯S3东西方向红灯南北方向绿灯S4东西方向红灯南北方向黄灯2.3系统设计总体方案根据交通系统管理方案和本课题任务的要求,该系统应具有交通灯的显示功能、倒计时功能和通行时间设置功能,所以把系统分为四个模块,包括单片机控制、信号灯显示、倒计时显示和键盘设置,系统硬件设计结构如图2.1所示。图2.1系统硬件设计结构下面分别简单介绍这四个模块:(1)单片机控制模块:单片机将计算机的基本部件微型化并集成到一块芯片上,具有优异的性能价格比,控制功能强,这将使各模块功能的实现变得简单方便。本系统中,8051单片机的P0口控制南北方向的时间显示;P1口控制信号灯的点亮;P2口控制东西方向的时间显示;P3口接入键盘开关,可设置适应当前状况的通行时间和暂缓通行时间。(2)信号灯显示模块:利用发光二极管代替交通信号灯,通过单片机控制使其按要求点亮。(3)倒计时显示模块:此模块有两种方案。第一种是采用数码管显示。该方案实现简单,但只能显示有限的符号和数码字符。第二种是采用点阵式LED显示。该方案实现复杂,须完成大量的软件工作,但功能强大,可方便的显示各种英文字符、汉字和图形。由于本控制系统只需显示倒计时时间,利用数码管即可完成此功能,因此本控制系统中利用2位一体的共阴数码管显示道路两个方向的通行时间和暂缓通行时间,通过单片机控制进行倒计时显示。(4)键盘设置模块:在交通道路突发情况时,可通过按键手动设置通行时间和暂缓通行时间,通过单片机控制进行时间设置。此模块有两种方案:第一种是采用8255扩展I/O口及键盘、信号灯显示等。该方案使用灵活,可提供较多I/O口,但操作复杂。另一种是直接在I/O口线上接上按键开关。该方案设计精简,但提供的I/O口数量有限。由于本控制系统对于交通灯及数码管的控制只用单片机本身的I/O口就可实现,故选择第二种方案。综上所述,交通灯控制系统的总体方案已经确定,下面进行硬件设计。 3交通灯控制系统硬件设计3.1单片机简介8051系列单片机是在美国Intel公司于20世纪80年代推出的MCS-51系列高性能8位单片机的基础上发展而来的,它在单一芯片内集成了并行I/O口、异步串行口、16位定时器/计数器、中断系统、片内RAM和片内ROM,以及其他一些功能部件[5]。单片机主要有如下特点:(1)有优异的性能价格比。(2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣的环境下工作。(3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。(4)低功耗、低电压,便于生产便携式产品。(5)外部总线增加了IC(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模应用系统[6]。3.2系统时钟电路晶振采用了内部时钟信号源的方式,如图3.1所示。8051单片机内部有一个高增益反向放大器,用于构成振荡器,反向放大器的输入端为XTAL1,输出端为XTAL2,分别是8051的第19和18脚。在XTAL1和XTAL2之间接1个石英晶体及2个电容,就可以构成稳定的自激振荡器,当震荡在6MHz~12MHz时通常取30pF左右的电容进行微调[7]。图3.1系统时钟电路3.3信号灯显示电路在信号灯显示电路中,本控制系统选用了发光二极管代替信号灯。其中:红色发光二极管、黄色发光二极管和绿色发光二极管分别代替红灯、黄灯、绿灯。发光二极管是一种特殊的二极管,导通时会发光(发光二极管导通压降一般为1.5V左右)[8]。此外,工作电流要满足该二极管的工作电流。一般发光二极管与I/O端口之间都会再连接一个电阻,其作用在于限制通过二极管的电流,从而达到减少功耗或者满足端口对最大电流的限制[9]。一般发光二极管的点亮电流为5~15mA。控制系统中,信号灯指示电路如图3.2所示。图3.2信号灯显示电路在此信号灯显示电路中,每个发光二极管都与1个220Ω的电阻相连接,起到限流作用。因为二极管的导通电压为1.5V,电阻分得的电压为5V-1.5V=3.5V,当选择220Ω的电阻时发光二极管的电流为3.5V/220Ω,约为15mA,此时发光二极管正常点亮。3.4倒计时显示电路该交通灯控制系统的倒计时功能可以采用数码管显示,也可以采用点阵式LED显示。点阵式LED虽然功能强大,但是需要完成大量的软件工作,系统设计的复杂度会增加,因此本控制系统选择采用数码管来实现交通灯倒计时功能的显示。8段数码管又称为8字型数码管,分为8段:A、B、C、D、E、F、G、DP。其中,DP为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共段,两根之间相互连通[10-13]。8段LED数码管,就是在一定形状的绝缘材料上,利用不同形状点划的发光二极管组合,排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示0~9的数字[14]。数字显示代码如表3.1所示。表3.1数字显示驱动代码表显示数值dopgfedcba驱动代码(16进制)0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011006DH6011111007DH70000011107H8011111117FH本控制系统倒计时电路采用了4个2位一体的共阴数码管,此数码管在交通灯控制系统中便于观察倒计时显示,如图3.3所示。图3.32位一体的共阴数码管这4个数码管分别与控制两干道倒计时显示的端口相连接,即可显示出信号灯的倒计时功能。以南北方向的数码管为例,如图3.4所示。此数码管显示的数值从绿灯的设置时间最大值一直减,每秒钟减1,然后又从黄灯的设置时间一直减,再从红灯的设置时间一直减,接下来又显示绿灯时间,如此循环。图3.4南北方向倒计时显示3.5键盘设置电路键盘设置电路中,采用独立式按键进行控制。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态[14]。独立式按键的典型应用如图3.5所示:图3.5独立式按键电路独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。根据以上特点,本控制系统单片机的I/O口数可以满足该键盘,并且可以完成课题中所要求的手动设定时间的控制功能,所以本控制系统中应采用独立式键盘,键盘设置电路如图3.6所示。图3.6键盘设置电路3.6单片机控制电路设计交通灯控制系统中,单片机控制模块是整个电路设计的主要部分。8051单片机有4个并行I/O口P0、P1、P2和P3,每个口都有8个引脚,共有32根I/O引脚,它们都是双向通道,每一条I/O引脚都能独立地用做输入和输出。本系统中,8051单片机的P0口控制南北方向的时间显示;P1口控制信号灯的点亮;P2口控制东西方向的时间显示;P3口接入键盘开关,可设置适应当前交通状况的通行时间和暂缓通行时间。另外,在P0口控制南北方向的时间显示中,利用74LS245芯片驱动数码管。74LS245管脚结构如图3.7所示,它是常用的芯片,用来驱动LED或者其他的设备,是8路同相三态双向总线收发器,可双向传输数据[15]。8051单片机P0口内部不带上拉电阻,输出只有电压没电流,接负载时要外接上拉电阻,即当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。图3.774LS245管脚结构74LS245芯片具有双向三态功能,既可以输出,也可以输入数据,74LS245芯片内部结构如图3.8所示。图3.874LS245内部结构当片选端低电平有效时,DIR=“0”,信号由B向A传输,即接收数据;DIR=“1”,信号由A向B传输,即发送数据。当为高电平时,A、B均为高阻态。所以,在本控制系统中需要用74LS245芯片对数码管进行驱动。本章对单片机进行了简单介绍,设计了交通灯控制系统硬件电路。接下来,还需要对软件部分进行设计,完成整个控制系统的设计要求。 4交通灯控制系统的软件设计硬件平台结构一旦确定,功能框架就已经形成。软件在硬件平台的基础上构筑,完成各部分硬件的控制和协调。系统是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。4.1软件设计环境简介4.1.1Proteus仿真软件简介ProteusISIS是英国Labcenter公司开发的电路与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路[16]。该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。(4)具有强大的原理图绘制功能[17]。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。4.1.2KeilC51编译软件简介目前流行的51系列单片机开发软件是德国Keil公司推出的KeilC51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为uVision(通常称为uV2)[18]。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:uVisionIDE集成开发环境(包括工程管理器、源程序编辑器、程序调试器)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统[19-21]。4.2交通灯系统主程序在交通灯控制系统的设计中,首先对交通灯进行初始参数设置,然后根据是否出现键盘事件,如出现键盘事件就启动键盘程序,进行键盘时间处理;若没有出现,继续进行由初始参数进行的控制程序。交通灯控制系统的设计如图4.1所示:图4.1交通灯控制系统设计流程4.3交通灯延时程序延时方法可以有两种,一种是利用MCS-51内部定时器才生溢出中断来确定1秒的延时时间,另一种是采用软件延时的方法。4.3.1计数器硬件延时(1)计数器初值计算定时器工作时必须给计数器初值,这个值是送到TH和TL中的。它是以加法计数的,并能从全1到全0时自动产生溢出中断请求[22-26]。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M的值为216;在方式2和3为28。(2)计算公式TC=M-T/T计数T计数是单片机时钟周期TCLK的12倍;TC为定时初值,如单片机的主脉冲频率TCLK为12MHZ,经过12分频:方式0:TMAX=213﹡1us=8.192ms方式1:TMAX=216﹡1us=65.536ms方式2和3:TMAX=28﹡1us=0.256ms显然1秒钟已经超过了计数器的最大定时时间,所以只有采用定时器和软件相结合的办法才能解决这个问题。(3)延时1秒的方法系统中采用在主程序中设定一个初值为4000的软件计数器和使定时器定时250us。这样每当T0到250us时CPU就响应它的溢出中断请求,进入它的中断服务子程序。在中断子程序中,CPU先使软件计数器减1,然后判断它是否为0。为0表示1秒已到可以返回到输出时间显示程序。(4)相应程序代码主程序中:定时器需要定时250us,故T0工作于方式2。初值:TC=M-T/T计数=28-250us/1us=06H TMOD=0x02; //设置定时器0为工作方式2 TH0=0x06; TL0=0x06; //初始化8位定时器(256-6)*4000=1s EA=1; //总中断允许 ET0=1; //T0中断允许 TR0=1; //打开T0中断4.3.2软件延时软件延时需要通过编写延时程序进行延时。计算机执行一条指令需要一定的时间,由一些指令组成一段程序,并反复循环执行,利用计算机执行程序所用的时间来实现延时,这种程序称为延时程序[27-28]。如当系统使用12MHz晶振时,一个机器周期为1us,执行一条双字双周期DJNZ指令的时间为2us,因此执行该指令50万次,就可以实现延时1s的目的,对于50万次循环可采用外循环、中循环、内循环嵌套的多重循环结构。4.4交通灯显示程序交通灯显示程序设计流程如图4.2所示。交通灯显示程序总共有4个状态S1、S2、S3和S4,每个状态中发光二极管显示信号灯点亮情况,数码管来进行倒计时显示,完成这4个状态后再进入初始状态S1,进行循环。图4.2交通灯显示设计流程4.5按键处理程序键盘是人机进行交互的重要接口之一。用户通过对仪器下达命令,仪器获得相应的键值,并执行相应的命令程序[29]。键盘部分的软件设计主要是对键盘管理芯片8051进行编程,从而成功地读取键盘值,实现相应功能。按键模块设计流程如图4.3所示。在系统中有3个按键设置,分别为“设置键”、“增加键”、“减少键”。若“设置键”没有按下,不进行按键处理。若“设置键”按下,则按照到“设置键”程序处理,看是否有“增加键”和“减少键”被按下,若没有,不进行处理;若有,进行相应按键处理。图4.3按键模块设计流程4.5.1设置键处理(1)设置键的功能设置键的功能是根据按键次数决定的,如表4.1所示。按下“设置键”1次,则设置东西方向的绿灯点亮时间;按下“设置键”2次,则设置东西方向黄灯点亮时间;按下“设置键”3次,则设置南北方向的绿灯点亮时间;按下“设置键”4次,则设置南北方向黄灯点亮时间;按下“设置键”5次,则恢复交通灯工作状态,时间显示设置后的通行时间和暂缓通行时间。表4.1设置键功能按“设置键”次数第1次第2次第3次第4次第5次调整内容东西方向绿灯点亮时间东西方向黄灯点亮时间南北方向绿灯点亮时间南北方向黄灯点亮时间恢复交通灯工作状态(2)设置键设计流程图4.4设置键设计流程(3)设置键相关程序voidsetSecond(void){while(P3_4==0); cntP3_4++; //标志设置键被按下的次数 switch(cntP3_4) {case1:cntEW=5;//cntEW为东西向标志位 P1=0xf7;//东西向绿灯点亮 break; case2:cntEW=1;P1=0xef;//东西向黄灯点亮 break; case3:cntSN=1;//cntSN为南北向标志位 P1=0xfe;//南北向绿灯点亮break; case4:cntSN=3; P1=0xfd;//南北向黄灯点亮 break; case5:cntEW=5;//东西方向和南北方向标志位都回到初始状态 cntSN=5; cnt_num=0; cntP3_4=0; break;}}4.5.2增加键处理(1)增加键的功能当系统系统需要进行按键设置时,通过“增加键”可以改变东西方向和南北方向的通行时间和暂缓通行时间。此按键分为两个功能,一个是“加1”功能,一个是“加10”功能。(2)增加键处理流程图4.5增加键设计流程(3)“增加键”相关程序秒数加1程序:voidaddSecond(void){while(P3_5==0); cnt_key=0; //记录长按键的参数清零 switch(cntP3_4){case1: if(keyMemory!=greenEW+10) //判断按键是否已经加10,如果没有加10则秒数加1,如果已经加10则不加1 {greenEW++; } if(greenEW==90) {greenEW=0;//90为秒数增加后的最大值,当超过90s后自动为0 } scdEW=greenEW; scdSN=greenEW+yellowEW+1; break;//东西向绿灯显示时间设置 case2: if(yellowEW++==9) {yellowEW=0; } scdEW=yellowEW; break;//东西向黄灯显示时间设置 case3: if(keyMemory!=greenSN+10) {greenSN++; } if(greenSN==90) {greenSN=0; } scdEW=greenSN+yellowSN+1; scdSN=greenSN; break;//南北向绿灯显示时间设置 case4: if(yellowSN++==9) {yellowSN=0; } scdSN=yellowSN; break;}//南北向黄灯显示时间设置}长按加10s程序:当长时间按下按键后,增加的时间为10svoidadd_10s(void){cnt_key=0; switch(cntP3_4) {case1://设置键按1次,设置东西方向绿灯显示时间 greenEW=greenEW+10; //长按秒数加10 if(greenEW>=90) {greenEW=0; } keyMemory=greenEW+10; //keyMemory用来标记秒数已经加10 scdEW=greenEW; scdSN=greenEW+yellowEW+1; break; case3://设置键按3次,设置东西方向绿灯显示时间 greenSN=greenSN+10; if(greenSN>=90) {greenSN=0; } keyMemory=greenSN+10; scdEW=greenSN+yellowSN+1; scdSN=greenSN; break;}}4.5.3减少键处理“减少键”与“增加键”设计的流程基本相同,如图4.6所示。图4.6“减少键”设计流程4.6交通灯控制系统仿真仿真开始时,东西方向为绿灯,数码管从20s开始倒计时;南北方向为红灯,数码管从24s开始倒计时。接着,东西方向为黄灯,数码管从3s开始倒计时;南北方向还是红灯。过后,东西方向为红灯,数码管从30s开始倒计时;南北方向为绿灯,数码管从24s开始倒计时。再接着,东西方向继续为红灯;南北方向为黄灯,数码管从5s开始倒计时。最后,回到初始状态进行循环。当道路上出现突发状况时,按键设置通行时间后,交通灯信号灯显示状态不变,通行时间和暂缓通行时间变为按键设置后的时间。4.6.1交通灯初始状态时的仿真初始状态下,东西方向显示绿灯,数码管从20s开始倒计时;南北方向显示红灯,禁止通行,数码管从24s开始倒计时。图4.7交通灯初始状态的仿真4.6.2东西向信号灯切换时仿真东西向绿灯变为黄灯,时间为3s,南北方向为红灯。图4.8东西向信号灯切换时的仿真4.6.3键盘控制重设时间的仿真通过设置键、增加键、减少键对交通灯控制系统的通行时间和暂缓通行时间进行设置,东西方向的通行时间为36s,南北方向等待通行时间为40s。图4.9键盘控制重设时间的仿真综上所述,该控制系统的软件设计极其重要。本章主要阐述了每个模块的设计流程,简单介绍了控制系统的程序设计,列出了本控制系统的仿真结果。 5交通灯控制系统调试因本设计本身要求有稳定性高、免维护、抗干扰能力强等功能,系统调试除了验证数据处理的精度,确保判断的准确性外,同时必须确认各项的功能的正常运行。根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对:交通灯点亮功能调试,倒计时功能调试,键盘设置功能调试。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后进行整体测试,使系统的所有功能得以实现。5.1硬件调试交通灯控制系统电路板焊接工作量非常大,电路焊接完成后,首先要进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:(1)信号灯点亮功能调试:四种状态下的信号灯点亮情况和亮度的调试;(2)倒计时功能调试:包括数码管亮度调试和延时功能的调试;(3)键盘设置功能调试:包括按键功能调试及延时功能的调试;5.2软件调试本系统的软件系统全部用C语言来编写,选用Keil对其进行调试。首先,对程序的语法进行检查。当确认程序没问题时,通过直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。5.3软硬件联调系统做好后,进行系统的完整调试。主要任务是检验实现的功能及其效果。调试时,单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。信号灯指示电路模块由12个发光二极管和12个220Ω电阻组成。该模块接线繁琐,极易出错。当检查发光二极管无故障、导线无断线、连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向的信号灯(发光二极管)是否点亮;若未点亮,则可能是连线接错。根据灯的亮灭情况依次查找错误,直到电路正常工作为止。倒计时显示电路模块由4个数码管组成。调试时,先检查数码管管脚是否与相应引脚相连,确认无误后,再将数码管与仿真器相连,编制一个简单的程序进行调试,直到数码管正常显示时间为止。键盘设置电路模块由3个按键和3个1KΩ电阻组成。当检查按键无故障、导线连接无误后,用一个软件调试程序进一步检查按键设置电路。当各模块均调试好后,进行整机联调:将各模块连接起来,逐个进行检测。调试成功后再将程序写到单片机中进行调试,直至整个系统能够正常工作。此外,在电路抗干扰设计方面,硬件电路中采取了引线尽量短,减少交叉等措施。实践证明,这些措施对消除某些引脚引起的直流分量干扰起到了很好的效果。抗干扰设计是单片机应用系统设计的重要组成部分,没有良好的抗干扰措施,系统就无法安全可靠的工作。当然,本系统只能通过系统软件、硬件设计尽可能的减少干扰带来的影响,而不可能完全消除干扰。 6结论本系统采用了8051芯片和74LS245芯片为中心器件来设计交通灯控制系统,此系统通过P1口对交通灯燃亮情况进行了控制,而南北方向和东西方向的显示时间分别是通过P0、P2口进行了控制,键盘设置时间模块是由P3.4、P3.5、P3.6控制,该系统设计简便,实用性强,操作简单。但是本文所设计的交通灯控制系统还存在一些未尽人意的地方,还有很多不足之处:(1)该交通灯控制系统没有考虑到夜晚车辆极少情况下的交通灯显示情况。(2)该交通灯控制系统不能控制车的左、右转,以及自动根据车流改变红绿灯时间等。(3)该交通灯控制系统只考虑交通道路中的车辆,未考虑到行人的通行问题。通过这次毕业设计,使我得到了一次运用专业知识、专业技能分析和解决问题全面系统的锻炼,使我在单片机的基本原理、单片机应用系统的开发过程以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。 致谢我在指导老师**老师的精心指导和严格要求下,经过自己的努力,终于完成了这次毕业设计。在努力的同时,也获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,尤其在单片机及其接口技术方面,这对我今后进一步学习计算机方面的知识有极大的帮助。通过大量阅读资料,我拓宽了自己的知识面,并懂得将所学知识融会贯通到实践中去。在获得知识的同时,我也认识到了自己还需要学习的东西很多,理论需要很好的结合实践,全面分析并解决问题的能力有待提高。另外,此次毕业设计还获得了各位领导和老师的大力支持。在此,我衷心感谢各位老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报各位领导和老师,同时,在毕业设计过程中,同宿舍的舍友和同组的同学给了我很多的帮助,我非常感谢他们给我的帮助。谢谢你们! 参考文献[1]余发山.单片机原理及应用技术[M].中国矿业大学,2002.[2]李朝青.单片机原理及接口技术(修订版)[M].北京:北京航空航天大学出版社,1998.[3]ZadehL.A.FuzzySetsandtheirApplications[M].NewYork:AcademicPress,1975.[4]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1992.[5]余锡存,曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,1998.[6]张立新,吴明捷,张晓燕.可编程控制器(PLC)的高速计数器的应用[J].北京石油化工学院学报,2001(1):34~36.[7]蒋万君.在论循环时序电路的简便设计[J].机电一体化,2005(2):12~14.[8]史建平.PLC在全功能交通灯控制上的应用[J].常州工学院学报,1999(6):65~68.[9]Tobin,R.LFriesz.T.LSensitivityanalysisforequilibriumnetworkflows[J],PrenticeHall,2001(2):87~91.[10]黄义源.机械设备电气与数字控制[M].中央广播电视大学出版社,1993.[11]蔡美琴.张为民等MCS-51系列单片机系统及应用[M].高等教育出版社,1992.[12]李建中.单片机原理及应用[M].西安:西安电子科技大学出版社,2002.[13]康华光.电子技术基础(第四版)[M].北京:高等教育出版社,2000.[14]杨佩昆等编.交通管理与控制[M].北京:人民文通出版社,1992.[15]绕庆和.MSC-51单片机实用技术[M].北京:电子工业出版社,2003.[16]沈红卫.单片机应用系统设计实例与分析[M].北京:航空航天大学出版社,2000.[17]陈静,花瑞,宋炳生.交叉口交通信号控制的半实物仿真平台设计[J].武汉理工大学学报(信息与管理工程版),2008(5):26~29.[18]馀吉万等编.城市交通的计算机控制和管理[M].北京测绘出版社,1985.[19]刘晓娟,张雁鹏,汤自安编.城市轨道交通智能控制系统[M].中国铁道出版社,2008.[20]王炜.城市交通规划理论及其应用[M].北京:电子工业出版社,2007.[21]张辉.8051单片机控制交通信号灯的方法研究[J].邵阳师范高等专科学校学报,2001,23(5):18~20.[22]汪建等编.MCS-96系列单片机原理及应用技术[M].武汉:华中理工大学出版社,1999.[23]RogicS,MackworthAK,OuelletteFB.Evaluationoffene-findingprogramsonmammaliansequences[J].GenomeRes,2001(5):817~832.[24]杨兆升.新一代智能交通控制系统关键技术及其应用[M].中国铁道出版社,2010.[25]赵俊.基于若干智能方法的先进控制系统综合设计研究[J].西安电子科技大学,2009(5):56~60.[26]王炜,高海龙,李文权编.公路交叉口通行能力分析方法[M].科学出版社,2001.[27]Th.Riedel,U.Brunner,TrafficcontrolusinggraphtheoryonControlEngineeringPractice[J].PrenticeHall,2001(2):123~126.[28]刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社,2003.[29]赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001. 附录附录一:电路图附录二:程序#include"at89x51.h"unsignedcharnum[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数字0~9unsignedcharctr[]={0xfa,0xf5}; //0xfa(P3_0和P3_2为0,即高位有效)0xf5(P3_1和P3_3为0,即低位有效)unsignedchardisEW[2]; //记录东西向高低位数值unsignedchardisSN[2];//记录南北向高低位数值unsignedcharv;unsignedcharcnt_ctr;unsignedintscdEW,scdSN;unsignedintcntSN,cntEW;unsignedcharcntP3_4,cntP3_5,cntP3_6;unsignedintcnt_num,cnt_key,cnt_flash,keyMemory;intgreenEW=20,yellowEW=3,greenSN=24,yellowSN=5;//延时函数,a为1延时1毫秒voiddelay_ms(unsignedinta){ inti; while(a--) { i=70; while(i--); }}//设置红绿黄灯秒数voidsetSecond(void){ while(P3_4==0); cntP3_4++; //标志设置键被按下的次数 switch(cntP3_4) {case1: cntEW=5; P1=0xf7; break; case2: cntEW=1; P1=0xef; break; case3: cntSN=1; P1=0xfe; break; case4: cntSN=3; P1=0xfd; break; case5: cntEW=5; cntSN=5; cnt_num=0; cntP3_4=0; break;}}//秒数加1voidaddSecond(void){while(P3_5==0); cnt_key=0; //记录长按键的参数清零 switch(cntP3_4) {case1: if(keyMemory!=greenEW+10) //判断按键是否已经加10,如果没有加10则秒数加1,如果已经加10则不加1 {greenEW++; } if(greenEW==90) {greenEW=0; } scdEW=greenEW; scdSN=greenEW+yellowEW+1; break; case2: if(yellowEW++==9) {yellowEW=0; } scdEW=yellowEW; break; case3: if(keyMemory!=greenSN+10) {greenSN++; } if(greenSN==90) {greenSN=0; } scdEW=greenSN+yellowSN+1; scdSN=greenSN; break; case4: if(yellowSN++==9) {yellowSN=0; } scdSN=yellowSN; break;}}//秒数减1voidsubSecond(void){while(P3_6==0); cnt_key=0; //记录长按键的参数清零 switch(cntP3_4) {case1: if(keyMemory!=greenEW-10) //判断按键是否已经减10,如果没有减10则秒数减1,如果已经减10则不减1 {greenEW--; } if(greenEW==-1) {greenEW=89; } scdEW=greenEW; scdSN=greenEW+yellowEW+1; break; case2: if(yellowEW--==0) {yellowEW=9; } scdEW=yellowEW; break; case3: if(keyMemory!=greenSN-10) {greenSN--; } if(greenSN==-1) {greenSN=89; } scdEW=greenSN+yellowSN+1; scdSN=greenSN; break; case4: if(yellowSN--==0) {yellowSN=9; } scdSN=yellowSN; break;}}//正常显示秒数voiddisplay(void){ cnt_num++; if(cnt_ctr==10) { cnt_ctr=0; P3=0xff; P3=ctr[v]; P2=num[disEW[v]]; //显示东西方向秒数 P0=num[disSN[v]]; //显示南北方向秒数 if(v++==1) {v=0; } }}//闪烁显示秒数voiddspFlash(void){cnt_flash++;if(cnt_flash<660){P3=0xff;//数码管灭}else{if(cnt_flash==1333)//数码管亮1333=4000/3即1秒闪3次 {cnt_flash=0; } if(cnt_ctr==25){cnt_ctr=0; P3=0xff; P3=ctr[v]; switch(cntP3_4) {case1: P3_0=1; P3_1=1; P2=num[disEW[v]]; break; case2: P3_0=1; P3_1=1; P2=num[disEW[v]]; break; case3: P3_2=1; P3_3=1; P0=num[disSN[v]];; break; case4: P3_2=1; P3_3=1; P0=num[disSN[v]]; break;} if(v++==1){v=0;}}}}//长按加10秒voidadd_10s(void){cnt_key=0; switch(cntP3_4){case1: greenEW=greenEW+10; //长按秒数加10 if(greenEW>=90) {greenEW=0; } keyMemory=greenEW+10; //keyMemory用来标记秒数已经加10 scdEW=greenEW; scdSN=greenEW+yellowEW+1; break; case3: greenSN=greenSN+
/
本文档为【交通灯控制系统设计论文.】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索