单片机城市交通灯控制系统软件.doc

上传人:本田雅阁 文档编号:2051062 上传时间:2019-02-08 格式:DOC 页数:32 大小:466.71KB
返回 下载 相关 举报
单片机城市交通灯控制系统软件.doc_第1页
第1页 / 共32页
单片机城市交通灯控制系统软件.doc_第2页
第2页 / 共32页
单片机城市交通灯控制系统软件.doc_第3页
第3页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机城市交通灯控制系统软件.doc》由会员分享,可在线阅读,更多相关《单片机城市交通灯控制系统软件.doc(32页珍藏版)》请在三一文库上搜索。

1、华南农业大学珠江学院毕业论文(设计) 单片机城市交通灯控制系统 软件系统设计 指导教师: 系: 信息工程系 年级专业: 09级自动化 提交日期: 2013年3月9日 答辩日期: 答辩委员会主席(签名): 评阅人(签名): 年 月 日 摘要近年来,随着国民生活水平的提高,车成为了我们日常生活中不可或缺的交通工具。在车辆日益增多的情况下要保证交通秩序有条不紊,就必须合理的设置交通灯。单片机具有小巧灵活,成本低,易于产品化,可靠性好,易扩展和具有通讯功能等卓越的性能,应用越来越广泛和深入。利用单片机来控制交通灯,具有安全可靠,控制操作灵活方便等各方面的优势。本文设计的城市交通灯是基于STC89C51

2、6RD+单片机的系统,可以实现实际的道路交通灯的全部功能。本设计系统可以分为以下几个模块:按键控制模块,车辆指示灯LED模块,人行道指示LED模块,时间指示数码管模块。考虑到突发情况,本系统还设置了手控模式,按下手控按键,某一方向可以强制通行。在设计的过程中,所有模块的程序都是先用KEIL编程软件写出来,然后在PROTUES软件上进行仿真调试后再在硬件上进行调试。本系统设计周期短,可靠性高,实用性强,操作简单,维护方便,扩展功能强。关键词:交通灯;单片机;编程;仿真AbstractIn recent years, with the improvement of the national sta

3、ndard of living,the car has become an indispensable transport in our daily life.With the increasing of vehicles,if we want to ensure the traffic order methodical,we must set of traffic lights reasonable.The chip microcomputer has the advantages of compact and flexible,low cost, easy-to-productizatio

4、n, excellent reliability, easy to expand and have communication function.With these superior performances,application of chip mircrocomputer has been more and more widely and deeply.A traffic lights controned by chip microcomputer has the advantages of safe and reliable ,flexible and convenient cont

5、rol operations and other advantages.In this paper,the design of city traffic lights is based on STC89C516RD+ mircrocomputer, it can achieve all of the features of the actual road traffic lights. The design of the system can be divided into the following modules: button control module, the vehicle in

6、dicator LED module, sidewalk indication LED dot module, time indicates the digital tube control module. Take into account unforeseen circumstances, the system also set a manual mode, press manual control keys, one direction can force passage. In the process of doing this design, all modules of the p

7、rogram are write by the KEIL programming software first,and then simulation debugging in the PROTUES software and hardware debugging the last. The system design cycle is short,and it has the advantages of high reliability,good practicality, simple operation, easy maintenance and excellent extended f

8、unctionality.Keywords: traffic lights;chip mircrocompture; programming; simulation设计说明单片机城市交通灯控制系统设计是在指导老师给出的任务书并在其指导下完成的。设计任务主要是以51系列单片机为核心的针对一个大型十字路口设计的交通信号灯控制系统。通过单片机STC89C516RD+控制LED灯、数码管,模拟现实生活中的交通灯工作情景。 该交通灯控制系统设计有以下几点基本要求:(1)硬件电路的设计方案(包含元器件的选择)。(2)程序的编写和硬件调试。针对上述要求,经过考虑,我们构思出具有自身特色的交通灯控制系统。通过

9、利用STC90C51RD单片机设计一个交通控制系统,通过对十字路口的实际调查,由交通状况的车流量大小,确定放行时间为60秒,即当一个方向的车辆处于放行状态时,其他方向禁止放行。并在最后5秒,黄灯灯闪烁,警示放行状态的变化。为了应对可能发生的突发状况,使其中一条干道随时可以强制放行,因此,整个系统的设计分为两种模式,自动控制模式和人工控制模式。在自动控制模式中,两个干道依次各放行60秒,轮流进行。人工控制模式中,通过按键操作,使某个干道处于强行通行状态,另一车道禁止通行,时间显示为99。由此大大改善了交通运营状况,提高了交通路口的运转效率,方便了人们的出行。设计主要内容为:(1)单片机最小系统模

10、块:整个控制系统都是依靠单片机完成。从功能和价位以及本题目要求来看,我们选择STC90C51RD芯片作为本系统的控制核心,同时可以实现控制、显示、键盘等功能,电路设计和制作比较简单,一般由时钟电路,复位电路,键盘电路,显示电路等部分组成,有时也外扩有片外RAM和ROM以及外部扩展接口等电路。(2)LED显示模块:本系统中LED显示主要用于机动车道和人行道通行状态的指示,采用的LED颜色为红色,绿色,黄色。(3)数码管显示模块:数码管显示用于指示本状态亮灯时间的秒倒计时,当系统处于手控模式是,数码管显示99。(4)按键模块。本系统设置了两个独立按键,用来控制交通灯的手动模式。在做本设计的过程中,

11、我们组查阅了很多的相关资料,其中主要的技术资料是各个芯片的资料,如:STC89C52RC单片机资料、8*8双色点阵资料、双位数码管资料、74HC595资料、74HC138资料等。关键词:单片机;点阵显示;数码管;模块IV 目 录1 引言11.1 研究背景11.2 研究的目的与意义11.2.1 国内研究状况21.2.2 国外研究状况22 城市交通灯控制系统总体介绍32.1 系统总体方案32.1.1上位机部分选择32.1.2 通信部分方案选择32.2 系统功能42.3 系统结构42.3.1 设计结构42.3.2 组成结构53 单片机城市交通灯控制系统硬件设计63.1 系统主要芯片介绍63.1.1

12、STC89C516RD+63.1.2 74LS0473.2 单片机初始化程序83.3 系统运行的整体程序94 交通灯控制系统的仿真调试155 结语17参考文献18致谢19附录20附录A 单片机和原理图20附录B 设计源程序211. 引 言随着社会的发展,城市化的速度加快,机动车的数量不断扩增。机动车带来了巨大的财富和方便了人们的生活。但是由于车辆越来越多,导致交通拥挤、阻塞和交通事故频发。国内外城市的交通阻塞都是发生在交叉道口,交叉道口作为变换行驶方向的重要枢纽,一旦在交叉道口发生交通事故,各个方向的车辆的行驶都会受到影响。全国一年因交通拥堵造成的损失约1700亿元,并逐年上升;美国因交通堵塞

13、,平均每年造成的经济损失高达631亿美元;英国伦敦每周为此浪费的生产力价值高达290万美元,中国香港每年由此造成的经济损失高达3亿多美元。在这样的情况下,如果没有一些措施来引导交通,那么城市交通必然影响经济发展和城市功能的正常发挥。在有限的道路条件下,提高交通控制,合理使用现有的交通设施,充分发挥其能力,是解决交通问题的有效措施之一1。1.1 研究背景早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但

14、一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点2。1.2 研究的目的与意义随着经济的发展,交通问题越来越受到人们的重视。怎样才能做到人、车、道路三者的协调,保障人们安全和减少经济损失,是个不得不提的问题。交通灯作为交通控制系统重要的一部分,在疏导交通缓解交通拥堵上发挥着无可替代的作用。因此,研究基于城市交通灯控制系统具有相当高的学术价值和实用价值,从长远来看该研究

15、具有巨大的现实意义。1.2.1 国内研究状况我国最早的交通灯于1928年出现在上海的英租界。经过近85年时间的发展,现在我国的交通灯基本上都是自动控制的。就最新的状况而言,国内最新的智能交通软件在向着多功能多元化的方向发展,一些软件提供厂商都会提供一整套解决方案。简单的拿闯红灯系统来说:目前需求不单单仅限于只抓拍闯红灯的违法行为,还需要兼顾治安卡口,录像,压线,逆行,不按道行驶,异常停车等集中一体。但是,很多地方的交通灯仍不够稳定、安全可靠,放行和禁行时间设置不够合理。比如说车流量大和车流量小的方向时间分配不合理,其中一方向红灯时另一方向的道路车辆几乎没有了,导致塞车,造成不必要的损失。在设计

16、交通灯过程中,我们应该综合考虑各方面的因素,才能设计出合理科学的交通灯,从而提高经济效益和社会效益。1.2.2 国外研究状况自1868年英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,标志着交通控制的开始。之后虽然经过不少波折,交通灯还是应需发展起来。进入20世纪70年代,随着计算机技术和自动控制技术的发展,以及交通流理论的不断完善,交通运输组织与优化理论和技术水平不断提高,控制手段越来越先进,形成了一批商水平有实效的城市道路交通控制系统。早在1977年,Pappis等人就将模糊控制运用到交通控制上,通过建立规则库或是专家系统对各种交通状况进行模糊控制,并取得了很好的效果

17、。近年来,欧美日本等相继建立了智能交通控制系统。在这些系统中,大部分都在路口附近安装磁性环路检测器,还使用了新型检测器等技术和设备。这些现代化设备技术加上控制理论和现代化科学管理技术,使得交通控制系统日益完善。随着一些研究控制理论的学者投身到交通控制的研究中,在交通信号控制领域提出了一些新方法、新思路。如静态多段配时控制、准动态多段配时控制、最优控制、大系统递阶控制、模糊控制、神经网络控制,网络路由控制等。模糊交通控制已经成为了交通信号控制的主流方向之一。国内外很多学者都进行了此类研究。利用模糊控制智能控制技术进行交叉口信号灯控制能取得比定时控制与感应控制更好的效果,是今后单交叉路口信号灯控制

18、的主要研究方向3。12. 城市交通灯控制系统总体介绍2.1 系统总体方案目前设计交通灯控制系统的方案有很多,有应用CPLD实现交通信号灯控制的设计,有应用PLC实现对交通灯控制系统的设计,有应用单片机实现对交通信号灯控制设计。由于STC89C516RD+小巧灵活,编程容易,成本低,可以实现系统要求的一切功能,因此本文采用单片机STC89C51RD6+为控制器设计交通灯4。2.1.1上位机部分选择其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。LED显示上位机的内容一

19、般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示9。两种显示方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED显示屏的显示内容。2.1.2 通信部分方案

20、选择通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。ISP(In-System Programming)在系统编程,通过下载电缆直接对安装在用户目标板上的器件编程,给电子产品的设计和生产带来许多革命性的变化。目前,比较成熟的ISP下载器大多是基于串口或者并口通信的,但是也存在着以下问题:(1)用户PC机的主频、硬件和操作系统不同,可能会造成控制信号错误;(2)不同的厂商提供不同的ISP下载器,互不兼容,给嵌入式开发带来不便;(3)限于串、并口的通信协议,ISP数据传输速率较低,影响嵌入式产品的开发。基于以上原因,本设计

21、选择了一种将单片机和USB总线相结合,进行ISP下载的方法。2.2 系统功能本系统的开发设计有以下功能:(1)车辆通行和禁行的指示。在每个方向都设置4个指示灯:红灯,绿灯,黄灯,左转绿灯。(2)人行道指示。在每个人行道上都设置一个红色和绿色的LED来指示行人道通行状态,绿色允许行人通行,红色禁行。(3)数码管显示时间秒倒计时。在每个方向设置了一个双位数码管,显示此状态的时间。(4)手控模式。设置两个按键K1和K2,K1为南北方向强制放行,K2为东西方向强制放行。此时所有数码管显示9,强制放行方向(如南北)绿灯,另一方向红灯。按两次跳回原来的状态继续运行。2.3 系统结构2.3.1 设计结构本设

22、计系统主要由一下几个模块组成:(1)单片机最小系统。最小系统主要包括时钟电路和复位电路。时钟电路用于在需要时产生上升沿(或下降沿),是系统能够运行。复位电路也是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位5。(2)人行道LED指示。每个方向由两个红色和绿色的LED指示行人的通行禁行状态。(3)数码管时间显示模块。双位数码管显示当前状态下的剩余时间,当强制放行时,数码管显示9。(4)按键模块。设置两个按键K1、K2,用于控制某个方向强制通行。(5)机动车道LED显示模块。每个方向设置4个LED指示车辆的通行状态。2.3.2 组成结构该系统的组成结构如图2.1所示6。图

23、2.1 系统组成结构3. 单片机城市交通灯控制系统硬件设计3.1 系统主要芯片介绍3.1.1 STC89C516RD+STC89C516RD+单片机是深圳宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。内部集成MAX810专用复位电路,当时钟频率在6MHz时,该复位电路是可靠的;当时钟频率在12MHz时,该复位电路勉强可用。在要求不高的情况下,可在复位脚外接电阻电容复位。STC89C516RD+的主要性能如下:(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容

24、传统8051。(2)工作电压:5.5V3.8V(5V单片机)/3.8V2.4V(3V单片机)。(3)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz。(4)用户应用程序空间:4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/61K字节。(5)片上集成1280字节或512字节或256字节RAM。(6)通用I/O口(35/39个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)。P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。(7)ISP(在系统可编程

25、)/IPA(在应用可编程),无需专用编程器,无需专用仿真器。可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。(8)具有EEPROM功能。(9)看门狗功能。(10)内部集成MAX810专用复位电路,外部晶体12MHz以下时,可省外部复位电路,复位脚可直接接地。(11)共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。(12)外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发方式唤醒。(13)通用异步串行口(UART),还可用定时器软件实现多个UART。(14)工作温度范围:-40+85C(工业级)/07

26、5C(商业级)。(15)封装:LQFP-44,PDIP-40,PLCC-447。STC90C516RD+芯片引脚图如图3.1所示。图3.1 STC89C516RD+芯片引脚图3.1.2 74LS0404是六组反相器,共有54/7404、54/74H04、54/74S04、54/74LS04 四种线路结构形式,其主要电特性的典型值如图3.2所示8:图3.2 04的主要电特性典型值双列直插封装的74LS04的逻辑图如图3.3所示:图3.3 74LS04的逻辑图其引出端符号功能为:1A6A为输入端,1Y6Y为输出端。其功能表如表3.1所示:表3. 74LS04的功能表输 入输 出AYLHHL3.2

27、单片机初始化程序初始化程序无论以什么工具和语言编程都是必不可少的。初始化程序的简洁明了对后面程序的编写有很大的帮助。初始化程序作用主要有:(1)设定与定时器、中断、串口相关的特殊功能寄存器;(2)设定各IO口的初始状态,比如将连接键盘的输入输出口均设为1,红外发射电路的初始状态;(3)内存中需要赋初值的寄存器赋初值,比如上电后要显示的内容最好先赋个初值;(4)打开中断允许、启动定时器(这一步也可根据具体需要放在前面或其它地方);(5)开始主程序循环9。在本设计中,定义、初始化程序如下:#defineucharunsigned char#defineuintunsigned int#includ

28、e/*定义控制位*/sbit EW_LED2=P23; /EW_LED2控制位sbit EW_LED1=P22; /EW_LED1控制位sbit SN_LED2=P21; /SN_LED2控制位sbit SN_LED1=P20; /SN_LED1控制位sbit SN_Yellow=P16; /SN黄灯sbit EW_Yellow=P12; /EW黄灯sbit EW_Red=P13; /EW红灯sbit SN_Red=P17; /SN红灯sbit EW_Green=P11; /EW绿灯sbit SN_Green=P15; /SN绿灯sbit EW_LGreen=P10; /EW左转绿灯sbit

29、SN_LGreen=P14; /SN左转绿灯sbit EW_ManGreen=P30; /EW人行道绿灯sbit SN_ManGreen=P31; /SN人行道绿灯bit Flag_SN_Yellow; /SN黄灯标志位bit Flag_EW_Yellow; /EW黄灯标志位bitflag1; /按键中断标志位bit flag2; /按键中断标志位bitSW1; /倒计时单元标志位intTime_EW; /东西方向倒计时单元intTime_SN; /南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; /程序初始化赋值,正常模式uchar EW1=40,SN1=6

30、0,EWL1=19,SNL1=19; /用于存放修改值的变量uchar code table10=0x3F,0x06,0x5B,0x4F, 0x66,0x6D,0x7D,0x07, 0x7F,0x6F; /09段选码uchar code S8=0XD7,0XB7,0XE7,0XB7, 0X7D,0X7B,0X7E,0X7B; /交通信号灯控制代码uint s1num=0,s2num=0,count,b,c,d,e;另外,为了编程方便,外部中断和定时中断模块的初始化放在主程序中10。3.3 系统运行的整体程序本系统主要由数码管显示程序,外部中断0外部中断1程序和定时器0中断程序和主程序组成。系统

31、自动运行流程如图3.4所示11:图3.4 系统自动运行流程图系统自动运行的状态切换程序如下12:/*S0状态*/if(Time_SN5&SW1=0&Time_EW20)EW_ManGreen=1; /EW人行道禁止SN_ManGreen=0; /SN人行道通行 Flag_EW_Yellow=0; /EW关黄灯显示信号 P1=S0; /SN通行,EW红灯 Display(); /数码管显示/*S1状态*/if(Time_SN=0&Time_SN=20)EW_ManGreen=1; /EW人行道通行SN_ManGreen=0; /SN人行道禁止EW_Green=1; SN_Green=1;SN_R

32、ed=1; Flag_SN_Yellow=1; /SN开黄灯信号位EW_Red=0; /SN黄灯亮,等待左拐信号,EW红灯 Display();/*S2状态*/if(Time_SN5&Time_SN20&SW1=1&Time_EW=0&Time_SN=5&SW1=1&Time_EW5&SW1=1&Time_SN20) EW_ManGreen=0; /EW人行道通行SN_ManGreen=1; /SN人行道禁止Flag_SN_Yellow=0; /SN关黄灯显示信号P1=S4; /EW通行,SN红灯Display();/*S5状态*/if(Time_EW=0&Time_EW=20)EW_ManG

33、reen=0; /EW人行道通行SN_ManGreen=1; /SN人行道禁止EW_Green=1; SN_Green=1; EW_Red=1; Flag_EW_Yellow=1; /EW开黄灯信号位SN_Red=0; /EW黄灯亮,等待左拐信号,SN红灯Display();/*S6状态*/if(Time_EW5&Time_EW20&SW1=0&Time_SN=0&Time_EW=5&Time_SN=5&SW1=0)EW_ManGreen=0; /EW人行道通行SN_ManGreen=1; /SN人行道禁止EW_LGreen=1; SN_LGreen=1; EW_Green=1; SN_Gre

34、en=1;EW_Red=1; Flag_EW_Yellow=1; /EN开黄灯信号位SN_Red=0; /EW黄灯亮,等待停止信号,SN红灯Display();两个按键分别用外部中断0和中断1,系统在自动运行过程中检测到任何外部中断则转为手动控制模式13。按键中断流程如图3.5所示:图3.5 按键中断流程图按键中断程序如下所示14:void EXINT0(void)interrupt 0 using 1EX0=0;s1num+; if(s1num=1) flag1=1;TR0=0;b=Time_EW; /存放自动运行状态数码管数值 c=Time_SN; Time_EW=99; Time_SN=

35、99; if(s1num=2) flag1=0; Time_EW=b; /恢复原来自动运行状态 Time_SN=c; s1num=0;TR0=1; EX0=1;124. 交通灯控制系统的仿真调试本系统在硬件和软件设计结束后,必须进行硬件仿真,以测试系统的可行性和运行稳定性。在以单片机作为本系统控制核心芯片的背景下,本设计完全可以在PROTEUS单片机硬件仿真设计软件的平台上实现系统的硬件仿真设计15。单片机最小系统如图4.1所示:图4.1 单片机最小系统点击仿真按钮,程序调用初始化函数,进入开机界面显示,当系统开机后,系统进行自动运行状态,此时SN绿灯,EW红灯,SN人行道绿灯,EW人行道红灯

36、,SN数码管以40秒倒计时,EW数码管以60倒计时。按下SN强制导通按键,LED指示灯状态不变,数码管变为99。再按一次SN强制导通按键,数码管跳回原来的状态继续自动运行。按下EW强制导通按键,EW变为绿灯,EW人行道变为绿灯。SN变为红灯,SN人行道变为红灯。再按一次EW强制导通按键,系统跳回原来的状态继续自动运行。系统仿真运行状态如图4.2所示:图4.2 系统仿真运行状态经过对各个状态的反复仿真调试,每个模块都能完美运行,基本达到了城市交通灯控制系统设计的要求。175. 结语本文设计的城市交通灯控制系统,通过对当前城市交通环境现状分析,阅读大量相关文献,对当前交通控制技术有了比较深入的了解,根据交通运输业和道路发展的需要,采用以STC89C51RD+单片机作为控制核心,并在此基础上进行了其他硬件选型和软件系统的设计,经过在多次调试,分析并验证了设计方案的可行性。在开发过程中,运用了PROTUES开发软件,在编程方面使用了C语言,最终实现城市交通灯自动控制。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1