毕业设计(论文)-十字路口交通灯的柔性控制(软件).doc_第1页
毕业设计(论文)-十字路口交通灯的柔性控制(软件).doc_第2页
毕业设计(论文)-十字路口交通灯的柔性控制(软件).doc_第3页
毕业设计(论文)-十字路口交通灯的柔性控制(软件).doc_第4页
毕业设计(论文)-十字路口交通灯的柔性控制(软件).doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目:十字路口交通灯的柔性控制(软件)专 业:测控技术与仪器本 科 生: (签名)指导老师: (签名)摘 要本系统是针对十字路口交通管理的一个设计,运用模糊控制的思想,对交通灯进行柔性控制,将所测的车流量大小分为不同级别,不同级别对应会有绿灯不同时间的延时。设计的最终效果是:当红外传感器检测部分读取到车流量数值时,向单片机输入信号,单片机经过计算比较后对该方向的绿灯延时,以应对该方向车流量大的情况。系统采用MSC-51系列单片机ATSC51为中心器件来接收检测信息并发出延时控制命令;软件程序采用C语言编程。整个系统可以实现能根据实际车流量的变化来设置红、绿灯的切换时间。本系统实用性强、操作简单、扩展功能强。 关键词:单片机,交通灯,红外传感器Subject: Flexible control of the crossroads of traffic lights(Software)Specialty:Measure and Control Technology and InstrumentName: (Signature)Instructor: (Signature)AbstractThis system is the crossroads of traffic management design, It use the theory of Fuzzy to control the traffic lights flexibly. The traffic flow will be measured by size into different levels, and different levels of the corresponding will be have different green lighttime delay. The ultimate effect of the design is when the detection portion of the infrared sensor read to the traffic value then it will input signal to the MCU, and the MCU will calculate and compare the signal .At last, the MCU let the green delay of that direction in response to the traffic flow. The system uses the ATSC51 as the center to receive the detection information and issue control commands delay, and which from the MSC-51 series ; the software order programming in C language . The entire system can be achieved by according to the actual traffic flow changes to set the switching time of the red or green. The system is practical, simple operation, and strong extensions.KEY WORDS: singlechip,traffic lights,infrared sensor目录第一章 前 言11.1国内外交通控制发展概况11.2交通控制的应用和意义11.3立项依据和研究方案1第二章 总体方案设计32.1 交通灯控制的功能要求32.2.1 方案构想32.3 系统工作流程8第三章 系统硬件93.1 AT89C51单片机简介93.1.1 AT89C51单片机内部93.1.2 89C51单片机复位电路123.1.3 时钟电路123.2 八段LED数码管显示电路123.3 红外对管检测电路143.4 驱动电路153.5交通指示灯电路163.6 硬件电路总结16第四章 系统软件174.1 系统总流程图174.2 延时方法和定时器194.3 开始红灯均亮5S子程序194.4 红外传感器检测车流量204.5 LED数码管倒计时显示21第五章 制作与调试235.1 制作235.2 系统调试245.2.1 KEIL调试24第六章 结论306.1 系统综述306.2 心得体会30致谢31参考文献32附录1:总硬件电路图33附录2:程序344第一章 前 言1.1国内外交通控制发展概况从历史来看,交通灯控制经历了很多次变革。从1868年英国伦敦首次使用燃汽色灯信号以来,城市交通信号机由手动到自动,交通信号由固定周期到可变周期,系统控制方式由点控到面控,从无车辆检测器到有车辆检测器,经历了近百年的历史。到1963年加拿大多伦多市建立了一套使用IBM650型计算的集中协调感应控制信号系统,从而标志着城市道路交通信号系统的发展进入了一个新的阶段。之后,美国、英国、德国、日本、澳大利亚等多家相继建成数字电子计算机区域交通控制系统,这种系统一般还配备交通监视系统组成交通管制中心。在西方发达国家,交通控制系统基本上完成了由传统的交通控制系统向智能交通控制系统ITS(Intelligent Transport systems)的转变。而在我国,智能交通系统则刚刚处于起步阶段。在20世纪90年代初,我国的相关学者开始意识到研究和开发ITS的重要性。到90年代中期,由于受到国外ITS研发的影响,政府部门也开始重视对ITS的研究。1.2交通控制的应用和意义随着科技的飞速发展,交通运输显得越来越重要,已经被称为城市功能活动的命脉,它直接影响了社会经济、生产与生活的各个方面。科学合理的控制交通运输尤为重要,现代交通灯的控制就是通过红黄绿三种交通灯燃亮变化来提醒各个方向车辆的走与停,红灯亮时,车辆禁行,黄灯亮时,警示红绿灯将要切换,绿灯亮时,车辆通行。一个方向车辆行进,另外一个方向停止,这样交通有条不紊的控制,才能不会造成交通混乱甚至交通事故的发生。所以如何利用当今自动控制技术,设计出真正科学可行的控制系统是值得我们研究的新课题。交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关。随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。本设计旨在设计出一款良好的交通灯控制系统来改善交通紊乱问题,目的性强,也具有很强的现实意义。1.3立项依据和研究方案基于整个交通控制系统已经逐渐走向智能控制的情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的MCS-51系列单片机中的AT89C51为控制中心,设计出一套十字路口的交通控制系统,以指挥通行状态。本设计除了有红、黄、绿信号灯状态控制能实现基本的交通功能外,还增加了倒计时显示提示,基于实际情况,又要求了对车流量检测功能,基本构想是在东西南北方向上路口都安装有红外传感器检测车流量,实际当中一个方向则需要安装至少3个以上的红外传感器,因为实际检测当中,可能遇到传感器正好处在前后两辆车空隙之间,这样就会有较大误差,当然,在本设计中,只要安装一个来模拟代替即可,这样只要传感器发出信号之后,表明该方向车流量较大,单片机会在下一循环当中延长绿灯时间以应对实际要求。第二章 总体方案设计2.1 交通灯控制的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整功能。(1)倒计时显示倒计时显示可以提醒驾驶员在信号灯发生改变的时间里合理的选择“停止”和“通过”。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,认为有倒计时显示的路口更安全。通常用到的倒计时显示为双位数码管。(2)车流量检测车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如摄像头检测、压力传感器检测、红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。(3)智能调整当检测电路部分得出数值之后会向单片机核心控制单元输入信号,这样,单片机控制单元会比较东西向和南北向车流量的大小,更大的一方就会进行调节控制,将该方向的绿灯时间延长以适应实际要求,同时另外一方红灯就会延长相同的时间,以达到两个方向的交通灯的同步循环,单片机能够根据车流量数值的增加进行连续控制,交通灯的延时量会根据车流量增加量的变化而变化。2.2 交通管理方案2.2.1 方案构想一个十字路口中东西和南北两干道各有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯时间为东西、南北两干道的公共停车时间。本系统设定南北道为主干道东西道为支干道,主干道绿灯时间长。如图2.1示。主干道红外传感器组交通灯数码管显示图2.1 交通管理模拟图 结合目前常用的控制方案,这里主要讨论两种方案构想:第一种方案是采用连续控制方法。即随着车流量的增加而能够连续控制交通灯的延时长短,车流量越大,延时就越大,延时大小可以随着车流量的增加随时改变;第二种方案是采用模糊控制方法,即将车流量增量设为不同的等级,当达到一定的等级时才会延时对应的时间。以下具体讨论两种设计方案:方案一:核心控制单元采用AT89C51单片机;检测部分采用常用的红外对管检测器,LED数码管显示倒计时同时也会显示车流量大小。本方案重点和难点在于对交通灯的连续控制,红外对管检测电路对车流量进行检测,并在LED数码管显示具体车流量大小,达到设定值后,会通过P3口输入给单片机,单片机控制P0口会控制交通灯延时,车流量每增加一定数值(如5辆),延时会自动增加1秒,可用函数式表达二者关系,如公式2.1和公式2.2(公式均表示绿灯时间,单位为秒)。主干道: Z=30+X/5 (Z120S) 公式(2.1)式中Z为主干道绿灯总时间量,X为主干道车流量。当X为0时,即红外传感器没有读取到车流量信号,则主干道绿灯照常显示30S;当读取车流量大小为5时,主干道绿灯显示31S,依次类推,当然依据实际情况,Z上限设定为120S。支干道: Z=25+X/5 (Z115S) 公式(2.2)式中Z为支干道绿灯总时间量,X为支干道车流量。当X为0时,即红外传感器没有读取到车流量信号,则支干道绿灯照常显示25S;当读取车流量大小为5时,支干道绿灯显示31S,依次类推,Z上限设定为115S。 方案一总框图如图2.2示。东西和南北方向传感器组向单片机控制模块输入车流量信号,单片机通过计算比较后对车流量更大的一方的绿灯进行延时控制,LED数码管显示倒计时和车流量。东西方向传感器组LED倒计时显示单片机控制模块 交通灯南北方向传感器组LED显示车流量图2.2 方案一系统总框图方案二:以AT89C51单片机为核心控制,检测电路同样采用红外对管检测器,显示部分LED数码管是交通灯倒计时显示,不显示车流量大小。此方案设计思想采用模糊控制思想,将所测车流量大小的数值分为不同等级,当达到一定等级时延时一定时间(如30S),车流量增加到更高的等级时,延时增加(如60S)。指示灯切换的方案(以南北道车流量大为例)见表2.1。表2.1指示灯的切换方案25S3S60S3S25S3S90S东西道绿灯亮黄灯亮红灯亮黄灯亮绿灯亮黄灯亮红灯亮南北道红灯亮黄灯亮绿灯亮黄灯亮红灯亮黄灯亮绿灯亮 方案二的控制思想为模糊控制理论,下面详细介绍模糊控制。所谓模糊控制,就是在控制方法上应用模糊集理论、模糊语言变量及模糊逻辑推理的知识来模拟人的模糊思维方法,用计算机实现与操作者相同的控制。该理论以模糊集合、模糊语言变量和模糊逻辑为基础,用比较简单的数学形式直接将人的判断、思维过程表达出来,从而逐渐得到了广泛应用。应用领域包括图像识别、自动机理论、语言研究、控制论以及信号处理等方面。在自动控制领域以模糊集理论为基础发展起来的模糊控制为将人的控制经验及推理过程纳入自动控制提供了一条便捷途径。在日常生活中,人们的思维其实有很多模糊的概念,对一些大、小、冷、热等都没有明确的内涵和外延。只能用模糊集合来描述。人们常用的经验规则都是用模糊条件语句来表达,例如,当我们拧开水阀往水桶里注水时,有这样的经验:桶里没水或水较少时,应开大水阀;桶里水较多时,应将水阀关小些。其中“较多”、“较少”等,这些表示水位和控制阀门动作的概念都具有模糊性。模糊控制就是利用机器模拟人的思维方式,按照人的操作规则进行控制,实现人的控制经验。模糊控制理论是由美国著名学者加利福尼亚大学教授ZadehA于1965年首先提出,它以模糊数学为基础,用语言规则表示方法和先进的计算机技术,由模糊推理进行决策的一种高级控制策略。模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制的一大特点是具有系统化的理论,又有着大量实际应用背景。模糊控制器的基本结构:如图2.3所示。模糊控制器的基本结构包括知识库、模糊推理、输入量模糊化、输出量精确化四部分。输出量精确化知识库被控对象模糊推理输入量模糊化图2.3 模糊控制器的基本结构在方案二中,红外传感器检测车流量,当车流量较大时,交通灯延时,而车流量的大小就是个模糊概念。根据模糊控制的基本理论,本系统红外传感器于单片机相当于一个模糊控制器,被控对象即为车流量,应用当中,我们将设为三个车流量等级,进行模糊控制。这三个车流量等级可通过红外传感器安装位置不同而等级不同,在距离十字路口20米处安装3个传感器,此为一个等级,这里需要注意的是:之所以安装3个传感器是为了避免实际当中,所安装的传感器正好位于两辆车之间的空隙而无法真正检测到信号,故安装多个可避免出现此类问题。在40米同样安装3个传感器,此为更高等级。如表2.2示。表2.2 延时量等级控制车流量大小等级无车20米处有车40米处有车绿灯延时量不延时延时30S延时60S方案二总框图如图2.4示。LED倒计时显示东西方向传感器组单片机控制模块南北方向传感器组交通灯图2.4 方案二系统总框图两种方案对比:以上讨论的两种方案,相同点:两种方案都采用红外传感器来检测车流量;交通灯正常情况下的切换时间都由软件直接写入,没有额外增加一个键盘输入模块。不同点:方案一对于车流量的变化而引起交通灯延时更加精确,随着具体车辆的增加数值而同步的进行延时,方案二采用模糊控制,将车流量增加分档,对应的档位会有对应的延时,且LED显示部分省去了车流量大小的显示。方案二相比于方案一而言,虽然延时控制不够精确,但在实际设计中,更为简单,容易实现,且省去了车流量大小的显示,这样红外对管检测的时候单片机不用额外的计算车流量大小,只需要设定一个时间值(如5S),当在大于5S时红外传感器接收管无法收到发射管信号,则单片机控制交通灯延时(30S),随着车流量继续增大,若大于20S时红外接收管仍然无法收到发射管信号,延时增加30S,这样,不同档位的车流量大小,就会有对应的延时时间。鉴于我们实际设计条件的限制,本系统采用较为容易实现的方案二。2.3 系统工作流程(1)正常情况,交通灯按照初始时间变化。(2)由8051单片机的定时器通过P2口控制显示红、绿、黄灯的切换情况;由P0口控制显示每个灯的切换时间。(3)绿灯倒计时时间,交通指示灯绿灯亮,当绿灯时间倒计时完毕,黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。(4)红灯倒计时时间,增加每次红灯时间车流量检测的功能,若在距离十字路口20米处有车辆,在红外传感器通过P3口向单片机输入信号,进入相应的中断子程序,单片机P0口控制交通灯在绿灯时间延时;若40米红外传感器检测检测到仍然有车,则单片机控制绿灯延时增加。(5)红灯时间倒计时完毕,黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换,切换后的绿灯时间就为增加了延时量的时间。(6)以南北道为例,该方向车流量大,切换方案如表2.3示。表2.3 指示灯的工作流程表25S3S60S3S东西道绿灯亮黄灯亮红灯亮黄灯亮南北道红灯亮黄灯亮绿灯亮黄灯亮第三章 系统硬件本系统硬件有单片机、若干I/O接口、红外检测器件、8位共阳数码管、若干发光二极管及一些外围电路器件组成。其中单片机是整个系统的核心部件,能运行程序和处理数据。存储器用于存储单片机程序和数据。I/O接口是单片机与外部被控制对象交换的信息通道。数码管和发光二极管则可以直观的展示本系统的功能。3.1 AT89C51单片机简介3.1.1 AT89C51单片机内部AT89C51是8051系列单片机的典型产品,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,如图3.1所示。图3.1总线结构现在就软件编程方面对单片机说明如下:(1)中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU主要负责控制、指挥和调度整个单元系统协调的工作,完成运算功能和控制输入输出等操作。 (2)程序存储器(ROM) 程序存储器主要用于存放用户程序、原始数据或表格等。MCS-51系列单片机的程序存储器包括片内存储器和片外存储器。AT89S51单片机片内有4KB Flash ROM作程序存储器,片外程序存储器可扩展至64KB。(3)数据存储器(RAM)数据存储器主要用于存放运算的中间结果,进行数据暂存及数据缓冲等。MCS-51系列单片机的数据存储器包括片内和片外数据存储器。片内数据存储器暴扣128字节的用户存储单元和128字节的专用寄存器单元。片外数据存储器的寻址空间为64KB。(4)定时/计数器(ROM)AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。(5)并行输入输出(I/O)口AT89C51共有4组8位I/O口(P0、P1、P2和P3),用于对外部数据的传输。P0口既可以作为一般I/O口使用也可以作为地址/数据总线使用,需要注意的是作为地址/数据总线使用时既可以输出信息也可以输入数据;P1口从功能上看是通用I/O接口,具有输入、输出和端口操作三种工作方式,每一位口线能独立地用作输入或输出线;P2口作为通用I/O口使用,其工作原理和负载能力均与P1口相同,也具有输入、输出和端口操作三种工作方式,当系统扩展片外存储器系统时,P2口作为高8位地址线使用;P3口也是个准双向I/O口,比前三个多一个缓冲器,P3口除作为通用I/O口外,还具有第二功能。(6)全双工串行口AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(7)中断系统AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。(8)时钟电路AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但AT89C51单片机需外置振荡电容。3.1.2 89C51单片机的引脚MCS-51系列单片机的HMOS制造工艺的单片机大部分采用40引脚双列直插式封装(DIP)。CHMOS制造工艺的单片机有两种封装形式:双列直插式和方形PLCC封装,如图3.2所示。方形分装为44个引脚,但有40个引脚可分为电源线、外接晶体线、控制线、I/O端口线四部分。图3.289C51引脚分配图(1)主电源线 VCC:接+5V电源正端,正常操作和对EPROM编程及验证时均接+5V电源。 GND:接电源地端。(2)外接晶体线 XTAL1:接外部晶体振荡器的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。 XTAL2:接外部晶体振荡器的另一端。在单片机内部,它是片内振荡器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚接收振荡器的信号,即把该引脚接到内部时钟发生器的输入端;对于CHMOS单片机,该引脚悬空。(3)I/O端口线MCS-51系列单片机共有四组并行I/O端口P0P3,每个端口都有8条端口线,共有32条I/O端口线,每个接口的功能和用途有一定的差别。(4)控制线 RST/VPD:单片机复位/备用电源引脚,高电平有效。 :地址锁存允许信号。 :片外程序存储器读选通信号,低电平有效。 :片外程序存储器选用端。3.1.2 89C51单片机复位电路单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作。89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位.复位后,PC程序计数器的内容为0000H,片内RAM中内容不变.复位电路一般有上电复位和上电按键手动复位2种,本设计中复位方式采用上电按键手动复位方式。 3.1.3 时钟电路单片机的晶振电路,即所谓的时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟方式分为内部时钟方式和外部时钟方式,单片机的外部时钟方式由外接时钟源提供,频率范围较广。单片机的内部时钟方式由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,频率范围有限,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。3.2 八段LED数码管显示电路LED数码管显示器可以分为共阴极和共阳极两种结构。(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图3.3所示。 (2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图3.3所示。图3.3八段LED显示器本系统采用八段共阳管。其显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如dp,g,f,e,d,c,b,a管角上加上80H,因此dp上为1v,则二极管全亮显示为8。采用共阳极连接驱动代码,代码见表3.1。表3.1驱动代码表显示数值 dp g f e d c b a 驱动代码(16进制)0 1 1 0 0 0 0 0 0 C0H1 1 1 1 1 1 0 0 1F9H2 1 0 1 0 0 1 0 0A4H3 1 0 1 1 0 0 0 0B0H4 1 0 0 1 1 0 0 199H5 1 0 0 1 0 0 1 192H6 1 0 0 0 0 0 1 182H7 1 1 1 1 1 0 0 0F8H8 1 0 0 0 0 0 0 080HLED8段数码管的设置为每个方位上的一对双位数码管。四个方位上总共用4个LED数码管接在单片机的P0口上。虽然东、西或南、北道路口不一样,但是显示的时间在数字上是一样的,即两边连接的数码管是对称的,所以实际当中只需要两个数码管即可。如图3.4示。 图3.4 LED双位数码管显示电路其中P00P07作为段选码,S1S2作为位选码。P0P7=a f b g c dp d e3.3 红外对管检测电路目前我国对于交通车流量检测的设备主要是摄像头和压力传感器,鉴于本系统属于模拟实际十字路口交通灯管理的设计,对比通常所见到的检测器,红外对管检测器的电路连接更为简易,且成本低,功能容易实现,则在本系统中采用红外对管检测器来作为车流量的检测器件。设计中的红外对管检测电路如图3.5所示。F1、J1分别作为东西路口红外发射和接收管;F2、J2分别作为南北路口红外发射和接收管。其中P3.2口接南北路口红外对管,用来检测南北方向车辆情况;P3.3口接东西路口红外对管,用来检测东西方向车辆情况。当南北方向有车辆经过时,单片机外部中断0中断,进入相应的中断服务子程序;当东西方向有车辆经过时,单片机外部中断1中断,进入相应的中断服务子程序执行,记录车流量。 (1)东西向红外检测管 (2)南北向红外检测管图3.5红外对管检测电路3.4 驱动电路为了提高系统性能,常使用驱动电路。本系统采用74LS04作为反相驱动芯片芯片,代替三极管驱动LED数码管显示,同时74LS04也可以提高单片机的驱动能力。74LS04管脚图如图3.6示。图3.6 74LS04引脚图74LS04芯片是6个非门的集成,作用是使输入和输出反相。8位共阳数码管S1、S2接两个非门,使数码管显示。电路连接如图3.7示。图3.7 74LS04电路连接图3.5交通指示灯电路在本设计中,交通灯共四组,实际控制的灯只有6个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯。其中均是低电平有效。实际编程过程中共有3钟状态:东西红灯亮,南北绿灯亮;东西黄灯亮,南北黄灯亮;东西绿灯亮,南北红灯亮。单片机中的P2口作为控制交通灯的切换情况。本系统中还加入了两个警示灯,当红外检测部分产生信号时,警示灯亮,提醒来往车辆该方向车流量大,会进行智能调节。3.6 硬件电路总结 本系统较为简单,所要用到的芯片少,功能模块主要有红外传感器模块、单片机模块、LED模块、交通灯模块。由于在实施方案阶段简化了电路,使得本系统操作性和可行性加强,图3.8是最终电路框图。东西方向传感器组LED时间显示交通灯警示灯单片机控制模块南北方向传感器组图3.8 实际电路总框图第4章 系统软件本设计软件方面采用C语言编程,根据系统需要分为定时器延时方法计算、系统初始化并定义变量、确定系统状态等编程步骤。4.1 系统总流程图 系统流程主要包括传感器读取车流量信号,然后输入到单片机,单片机控制延时,根据最初的方案设计,延时量的不同是根据车流量大小来控制的,而车流量大小又可以按照传感器安装距离的远近来区别。由于条件限制,延时量为三档的方案构想最后没能实现,最终本系统只是将车流量设为两档来实现。设定南北道为主干道,南北道先红灯,即南北道先检测车流量。系统总流程图如图4.1示。开始初始化南方向红外发射器发射红外信号收到红外信号否绿灯延时30S 是 否 等待绿灯时间北方向红外发射器发射红外信号收到红外信号否 是 否 东方向红外发射器发射红外信号 绿灯延时30S收到红外信号否 是 否 等待绿灯时间西方向红外发射器发射红外信号 收到红外信号否 是 否 结束 图4.1 软件流程图4.2 延时方法和定时器1S的延时方法可以有两种,一种是利用MCS-51内部定时器产生溢出中断来确定1秒的时间,另一种是采用软延时的方法。本设计采用定时器方法来设定1S时间。其中T0定时器定时方法又有两种方法:中断和查询。这里采用T0定时器中断方法。(1)定时器工作原理定时器工作的基本原理就是给初值,让它不断加1直至达到为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式: TC=M-C 公式(4.1)式中:M为计数器模值。计数值并不是最终所求的数值,目的是得到一个时间值,设计1次的时间,即定时器计数脉冲的周期为T(计数),它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T(计数)。计算通式变为: T=(M-TC)T(计数) 公式(4.2)模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256,就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0,最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因。显然1秒钟已经超过了计数器的最大定时时间,所以可以采用定时器和软件相结合的办法来解决这个问题。(2)1秒的方法我们采用在主程序中设定一个初值为20的软件计数器,然后使T0定时50毫秒这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先重装入定时器初值,再使软件计数器减1,然后判断它是否为零,为零表示1秒已到可以返回到输出时间显示程序。4.3 开始红灯均亮5S子程序 系统上电之后,南北和东西方向的红灯均亮5S,此为系统初始化阶段,包括变量定义阶段和流量的设定以及定时器初始化阶段。此段程序状态为红灯亮,即RED_ZHU和RED_ZHI均为1,其余均为0,赋初始值5S需注意单片机扫描周期为50MS,所以1S则需要扫描20次,即time=20,而temp为6时,递减到1,时间正好是5S流程图如图4.2示。开始赋初始值5S主干道、支干道均亮红灯5S定时完成一次后清零变量清零 图4.2 红灯亮5S子程序流程图4.4 红外传感器检测车流量红外传感器安装于东西南北四条干道两端,距离十字路口20米左右,实际当中需要安装多个传感器,红灯阶段,发射端发射信号,接收端接收信号,若有车辆,接收端无法接收信号,表明等红灯的车辆已经达到20米的距离,则认定车流量较大。以南北道为例,流程图如图4.3示。开始红灯时间南方向红外发射器发射红外信号收到红外信号否绿灯延时30S 是等待绿灯时间 否北方向红外发射器发射红外信号收到红外信号否 是 否绿灯时间结束图4.3红外传感器检测车流量4.5 LED数码管倒计时显示本设计采用动态显示方式,动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清,但也不能太大,因为要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。该系统的时间显示子程序流程图如图4.4所示。开始将显示值分隔为个位和十位调用字形表显示十位延时1ms调用字形表显示个位结束延时1ms 图4.4 时间显示子程序流程图第五章 制作与调试5.1 制作 系统硬件制作方面,主要是利用电烙铁将所用元器件焊接到PCB板上,常用的PCB板也称为“洞洞板”,一面每个插口都有焊接需要的铜圈,只需要将所用器件的引脚用焊锡固定在铜圈上即可,然后用导线按照电路图连接起来。本系统制作图如下。图 5.1系统完成视图图 5.2 系统焊接图5.2 系统调试当硬件焊接和软件编程都已经结束之后,我们需要做系统调试,调试对于一个系统设计来说至关重要,只有调试没有出现差错之后,一个完整的系统才全部完成。系统调试步骤如下:第一步 结合硬件设计,对软件有整体构思,并确定流程框图。第二步 按照流程框图编写软件程序。第三步 在硬件电路焊接好之后,对电路板进行仔细的检查,并认真调试。第四步 当硬件调试完成并且正常后,进入整机调试阶段。对各部分硬件电路和软件程序做进一步调整。第五步 全部调试正常后,对整个程序做出统一的编排,撰写论文。系统硬件调试相对简单,下面重点介绍软件调试,软件调试我们通常使用KEIL软件。5.2.1 KEIL调试Keil C51是美国Keil Software公司出品的基于80C51系列兼容单片机C语言软件开发系统,可以完成从工程建立和管理、编译、连接目标代码的生成、软件仿真等开发流程。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。Keil C51软件通过uVision集成开发环境将C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案组合在一起。程序可以直接在编辑器上输入,然后再用编译器编译,方便了对程序的调整,而当编译链接过程中出现错误,会在Build Output窗口显示,并注明错误所在位置和错误原因,用户只需鼠标双击提示语句就能找到错误语句。KEIL软件操作简单,容易上手。下面就是具体调试的过程。(1)工程的建立:打开Keil软件,首先建立一个工程文件,在Project下拉菜单里选择“New uVision”,如图5.1示。图5.1 建立工程 (2)为所建工程命名,然后在Project的下拉菜单里选择“Select Device.”为系统选择单片机类型,如图5.2示。图 5.2 选择单片机类型 (3)创建程序文件,在File菜单中选择“NEW.”建立程序文件,在打开的TEXT窗口输入程序,并保存为“.C”文件。如图5.3示。图 5.3 创建程序文件 (4)程序文件建立好之后就可以运行这段程序,即进行编译,在Keil软件中,直接点击编译当前文件按钮即可,如图5.4示。图5.4 KEIL调试文件 (5)在点击编译之后,编译过程也会在编译窗口显示,如有错误,会提醒错误和警告个数,以及所在位置。编译窗口如图5.5示。 图5.5 编译运行软件如上图示编译后显示12个错误,6个警告,即程序出现错误,按照错误提醒,原因在于主函数所在位置的问题,之前主函数在子函数前面,在后面所有的子函数并没有在主函数里提到,故在运行子函数时,变量init1、init2等没有被定义,需要重新定义,故出现了错误,在同学的帮助下,我将主函数置于5个子函数之后,再次编译,窗口如图5.6示。图5.6 修改后的编译窗口(6) 如图5.6示,修改后没有错误,则要生成HEX文件,在工程文件下的Source Group点击右键然后选择“Add Files to Group.”如图5.7示。 图5.7 添加程序文件(7) 在弹出的窗口中选择之前建立的“.C”文件,然后在Project菜单里选择“Options For.”如图5.8示。图5.8 生成HEX文件在图5.8中将频率改为我们之前设置的11.0592Hz或者也可为12.0Hz,并在Output选项卡里勾选Create HEX File选项,就会在之前建立的文件夹里生成HEX文件了。 据此,调试程序工作全部完成,最后需要将生成的HEX文件用专业下载软件存储在单片机芯片的ROM中,通过单片机来运行程序就可以得到本系统所要得到的最终效果。 第六章 结论6.1 系统综述本系统是以MSC-51系列单片机AT89C51为核心,LED数码管作为倒计时显示,红外传感器作为车流量的检测器件。实现了能根据实际车流量的变化,然后通过AT89C51芯片的P0口设置红、绿灯切换时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示;在红灯时间内检测车流量。系统不足之处是方案构想中能实现三个等级车流量的延时控制,可最终由于自身能力的不足,编程无法很好的实现,所以只能减为两个等级的,即一个方向的车流量超过设定值时就对该方向绿灯延时30S。没能很好的实现模糊控制的核心思想,望谅解!综合而言本系统较好地完成了设计的各项要求,主要体现在:主干道和支干道可以独立地设置交通灯时间,控制更加灵活;体现了模糊控制的思想,且做到了柔性控制的课题要求。在设计中我们认真考虑了系统操作简单、可靠性高、稳定性好等要求。所以最终本系统的所有功能可以在实际应用当中很好地实现。6.2 心得体会 在这次毕业设计中,我受益匪浅!本次系统设计需要我们用所学的专业知识、专业技能合理地分析和解决问题。相信这次毕业设计之后会对我今后的学习以及工作积累下宝贵的经验。虽然在设计初的时候我遇到很多困难,但在老师和周围同学的帮忙下,还有自身不懈的努力,我都克服了困难并顺利地完成了设计。现在回想一下这段时间,觉得自己真的是进步不小!尤其对单片机的基本原理、应用系统开发过程有了更加深入的了解,并在编程过程中掌握了一些好的思路技巧,特别是对C语言的掌握方面向前迈了一大步!现在毕业设计结束了,我明白了一个很重要的道理,那就是我们学习知识不能仅仅限制于书本,而更应该以解决实际问题为目的,将理论和实际结合,理论指导实践,实践中又体现了理论知识,这样我们就能一步一步走向成功! 致谢 岁月如梭,光阴似箭。几个月的毕业论文设计也即将结束。在结尾之际,我要向在毕业设计过程中给予我支持和帮助的指导老师和专业里的同学们表示衷心的感谢!首先要感谢的是一直孜孜不倦帮助我的指导老师陈毅静老师。陈老师作为我校的教授,能在繁忙的事务中抽出时间从始至终都一直指导我,帮助我如何入手课题,以及重点需要注意的问题,同时陈老师也会指出我的不足及错误,这些都对我最后顺利完成课题帮助很大。其次我要感谢我们测控专业的同学们,在此期间我没少得到你们的帮助,正是由于你们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论