基于模糊控制的交通灯控制系统(单片机实现)_第1页
基于模糊控制的交通灯控制系统(单片机实现)_第2页
基于模糊控制的交通灯控制系统(单片机实现)_第3页
基于模糊控制的交通灯控制系统(单片机实现)_第4页
基于模糊控制的交通灯控制系统(单片机实现)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

内蒙古科技大学毕业设计说明书(毕业论文)PAGEPAGE59题目:基于模糊控制的交通灯控制系统(单片机实现)基于模糊控制的交通灯控制系统(单片机实现)摘要交通控制系统不仅是一个实时的控制系统,而且是一个具有随机性、非线性、不确定性的复杂系统。解决好公路交通信号灯控制问题将是保障交通有序、安全、快速运行的重要环节,现有的交通信号控制系统都是单一的固定时序控制,不能够根据实际交通状况进行调节控制。本设计运用两输入单输出的模糊控制模型,对被控对象的输入量及输出量进行了具体的模糊化,并根据模糊集合理论的计算结果得出了模糊控制表,并在此基础上提出了以单片机实现模糊控制器的硬件结构和程序流程。本系统采用单片机STC89C52为中心器件来设计交通灯控制器,采用超声波传感器检测车流量,把检测到的车流量送到单片机中。通过查询模糊控制表从而得出延时时间,再进行交通灯的控制。系统最大的优点就是能够很好的减少车辆的滞留量,提高了公路的通行效率。系统实用性强、操作简单、扩展性强。关键词:单片机;模糊控制;交通灯控制Basedonfuzzycontroloftrafficlightcontrolsystem(withMCU)AbstractTrafficcontrolsystemisnotonlyareal-timecontrolsystem,butalsoarandomness,misalignment,uncertainty,complexsystem.Solvingtheproblemofroadtrafficlightscontrolisanimportantpartwhichwillensurethetrafficorderly,safe,andkeepitfast,theexistingtrafficsignalcontrolsystemsaresingleandfixedtimingcontrol,notbasedonactualtrafficconditionstocontrol.Thedesignusesthefuzzycontrolmodelwithtwo-inputportsandsingle-outputports.Theinputvalueandoutputvalueofcontrolledplanthasbeencarriedontheconcretefuzzy.Thefuzzycontroltableisbasedontheresultsofthecalculationoffuzzysettheory.Thedesigngiveouthardwarestructureandprogramflowofafuzzycontrollerwhichisrealizedbysingle-chip.Thesystemusesasingle-chipSTC89C52deviceasthecentertodesignthetrafficlightcontrollerandappliesultrasonicsensorstodetectthetrafficflowwhichisgiventothesingle-chip.Throughinqueringfuzzycontroltable,wecanobtainthetimeofthedelay,andthencontroltrafficlights.Thebiggestadvantagesofthesystemisthatitcangreatlyreducethestrandedvehiclesandimprovetheefficiencyofhighwaytravel.Thesystemispracticalandsimple.Keywords:microcomputer;fuzzycontrol;trafficlightcontrol目录摘要 IAbstract II第一章引言 11.1研究背景 11.2目的及意义 21.2.1研究的目的 21.2.2研究的意义 2第二章总体设计的概述 42.1车辆检测传感器 42.1.1感应线圈检测传感器 42.1.2超声波检测传感器 42.1.3微波检测传感器 52.1.4红外线检测传感器 62.1.5视频检测传感器 72.2控制算法 72.3交通灯控制系统的设计方案 82.3.1用PLC实现控制系统的方案 82.3.2用单片机实现控制系统的方案 82.4串行通信总线 92.4.1RS-232总线 92.4.2RS-485总线 92.5本设计的总体设计方案 10第三章交通信号模糊控制器的设计 123.1智能控制原则 123.2模糊控制器中语言变量的选择 123.3输入输出隶属度函数 123.3.1输入量隶属度函数 133.3.2输出量隶属度函数 143.4模糊控制规则 153.5模糊推理算法与解模糊 153.6快速生成模糊控制查询表 16第四章系统硬件设计 184.1芯片介绍 184.1.1STC89C51/52RC/RD+系列单片机简介 184.1.2MAX485 214.1.3ULN2003 214.1.4固态继电器 234.1.5LED数码管 244.2车辆检测电路 264.2.1超声波发射电路 264.2.2超声波接收电路 274.3基于RS-485的多机通信 274.3.1通信规则 274.3.2RS-485方式构成的多机通信 284.4显示驱动电路 294.5交通灯驱动电路 29第五章系统软件设计 315.1软件总体设计流程图 315.1.1主机的流程图设计 315.1.2从机的流程图设计 315.2多机通信子程序流程图设计 325.2.1多机通信主机子程序流程图 335.2.2多机通信从机子程序流程图 345.3查表子程序设计 355.4交通灯显示子程序设计 355.5中断服务子程序设计 365.6显示子程序设计 37第六章程序调试 396.1程序调试的主程序流程设计 396.2键盘子程序设计 406.2.1键盘扫描子程序 406.2.2按键处理子程序 416.3系统操作说明 426.4调试 426.5各模块调试 43第七章总结 44参考文献 45附录A主机硬件原理图 47附录B从机硬件原理图 48附录C调试程序 49致谢 59第一章引言1.1研究背景随着城市化速度的加快,机动车日益普及,人们在赚取由机动车辆所带来的巨额利润以及充分享受汽车巨大便利的同时,也越来越受到交通拥堵、交通事故频发、环境污染加剧和燃油消耗上升所带来的困扰。解决交通问题最直接和最有效的办法是修建更多的路桥以提高路网的通行能力。然而,修建路桥的巨额投资和城市有限空间的严格限制,使这一方法的有效性大打折扣。因此,在现有道路条件下,提高交通管理水平,合理利用现有的交通设施,充分发挥其作用,增加道路的通行能力,是解决交通问题的有效方法之一。在交通管理和控制中,交叉口的管理是一个不可缺少的重要组成部分。交叉口管理和控制的好坏直接影响着交叉口的通行能力。由于交叉口的通行能力以及车辆通过交叉口时的受阻滞的程度,都直接受到信号控制方法的影响,所以进行交叉口信号控制方法和算法研究是十分必要的,而且道路交叉口的交通运行状态与整个交通运行状态密切相关,解决道路交叉口的问题也是解决道路交通问题的关键。城市中的交通阻塞主要发生在交叉口,交叉口是两条道路相互交叉而产生的作为方向转换的枢纽,是道路网中道路通行能力的“咽喉”,是交通阻塞和事故的多发地。世界上一些大城市如纽约、巴黎的市中心高峰时车速在16公里/小时左右,公共汽车速度则更低。在日本东京市内,早晚高峰时车速仅为9公里/小时,最低时只有4公里/小时,出现了乘车比步行还慢的情况。日本全国每年由于交通拥挤所造成的经济损失高达12兆3千亿日元(合人民币9000多亿元)。作为经济和科技发达的美国,每年因为交通问题导致的经济损失也高达2370亿美元,在美国交通事故约有一半左右发生在交叉口。我国国内百万人口以上的大城市,每年由于交通拥挤带来的直接和间接经济损失达1600亿元,相当于国内生产总值的3.2%1.2目的及意义1.2.1研究的目的交通控制就是控制交通,即通过对交通流的调节、警告和诱导以达到改善人和货物的安全运输,提高运营效力。其目的是要在确定的行政规范约束下,应用先进的技术手段,采用合适的运作方式来改善交通流的质量,更好的利用现有的运输能力,提高交通流的安全性、快速性和舒适性,以确保公共和私人运输方式具有最佳的交通条件。具体来说,交通控制的目的主要表现在以下几个方面[1]:第一,减少交通事故,增加交通安全。通过实施交通控制可以把发生冲突的交通流从时间和空间上进行分离,从而减少交通事故,增加交通安全。第二,缓和交通拥挤,提高交通效益。合理的交通控制可以对交通流进行有效的引导与调度,使城市交通流保持在一种平稳的运行状态,从而避免或减缓交通拥挤,缩短在路车辆的交通延误,提高交通运输的整体效益。第三,减少环境污染,降低能源消耗。实施良好的交通控制可以减少在路车辆的停车次数,保持车辆在较佳的状态下运行,大大减少尾气排放和能源消耗。1.2.2研究的意义交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。城市交通问题是困扰城市发展、制约城市经济建设的重要因素。城市道路增长的有限与车辆增加的无限这一对矛盾是导致城市交通拥挤的根本原因。城市街道网络上的交通容量的不断增加,表明车辆对道路容量的要求仍然很高,短期内还不可能改变。自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际进展,交通控制领域的控制逻辑方面始终没能取得重大突破。可以肯定的说,对于减轻交通拥塞及其副作用—特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现的。在少数几个例子中,一些新的控制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在。智能化和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。从长远来看该研究具有巨大的现实意义[2]。第二章总体设计的概述2.1车辆检测传感器随着经济的飞速发展,城市化速度的加快,城市车辆的急剧增长,使得交通状况日益恶化,这几乎成为所有城市的通病,改变目前这种交通现状的有效解决办法就是在城市交通管理部门建立完善的交通监控系统。交通监控系统的主要目标是适应动态交通状况的变化。即通过采集交通数据并将其传输到交通管理中心,在中心进行分析,根据分析结果,中心通过控制车辆出入和信号灯,从而更好地管制交通;中心还可以利用这些数据在发生交通事故时迅速采取措施。数据采集系统在交通监控系统中起着非常重要的作用,所以研究有更高应用价值的数据采集系统是必要的。车辆检测传感器是数据采集系统的关键部分,传感器的性能对数据采集系统的准确性起决定作用,下面综述了目前比较典型的车辆检测技术。2.1.1感应线圈检测传感器感应线圈检测器是交通中应用最广泛的检测传感器。其主要构成包括:埋于路面以下较浅处的绝缘线圈、路边拉紧盒到控制箱的数据输入线以及装于控制箱内的电子元件。其中,绝缘线圈是感应线圈检测器中振荡电路的电磁感应部分。其工作原理是:当汽车停在或驶过绝缘线圈时,车辆的金属部分产生涡流电流,且电流方向与线圈电流的方向相反,因此,引起涡流电流产生的磁场与线圈电流产生的磁场方向相反,使得线圈磁场场强减小,而线圈磁场场强的减小使得振荡电路的振荡频率增加,从而引发电子元件向控制箱发出脉冲,以表征车辆的出现和经过。感应线圈检测器能提供车辆经过、车辆出现、车辆计数及车道占有率等交通流信息。其优点是:线圈电子放大器已标准化;技术成熟、易于掌握;计数非常精确。其缺点是:安装过程对可靠性和寿命影响很大;修理或安装需中断交通;影响路面寿命;易被重型车辆、路面修理等损坏。2.1.2超声波检测传感器超声波检测器是波束检测装置的一种。波束检测装置有多种形式,一般都由波束发生器、接收器和时控电路组成。前两者为换能器,产生电—声或电磁波的正逆变换;时控电路对发生器和接收器进行调谐控制,使发生器每隔一定的时间间隔产生并发射出一束波;同时,又可在发射的间隙接反射回来的信号,即传感器集发射和接收功能于一身。当然,也可以分成2个器件,安装于两处。其工作原理是:由于超声波传感器的检测区域由超声波发射器的波幅决定,因此,利用超声波传感器发射脉冲波,通过测量由路面或车辆表面发射的脉冲超声波的波形,可确定从传感器到路面或车辆表面的距离;同时,因路上有车和路上无车时的传感器所测信号有差别,可借此确定车辆的出现;传感器再利用接收的声信号转换为电信号,通过信号处理模块进行分析和处理,就可以得出车辆数量、车速以及车道占有率等交通流参数。超声波检测传感器中对自动脉冲重复周期进行控制是非常重要的,因为其可减少多重反射脉冲波的影响,并能提高检测高速车辆的能力。在接收到路面反射的脉冲波后立刻反射下一个脉冲波,使脉冲重复周期尽可能缩短,较长的脉冲重复周期会降低高速公路上高速行驶车辆占有率的测量效果,这样,使得由传感器反射和接收到的脉冲数可以真正反映车辆数。其优点是:体积小,易于安装;使用寿命较长;可移动;可实现多车道检测。其缺点是:性能随环境温度和气流影响而降低。2.1.3微波检测传感器微波车辆检测传感器的工作原理是:通过对路面发射微波,同时接收物体反射回来的信号,经过相应的预处理,即放大、滤波后得到含有交通流信息频率段的信息,由A/D进行模数转换,相应的单片机或DSP处理器对转换后的数字信息进行相关的分析处理运算,处理后的结果再通过内部的通信接口发送回系统终端。大多数用于车辆检测的微波传感器以X波段反射信号,通过分析微波车辆检测传感器接收的波形,可获得车辆出现、车辆经过、流量、占有率、车速及车辆长度等信息。波速宽度,即其所能覆盖的区域决定于天线的尺寸和开口孔径。当车辆从该传感器覆盖区域穿过,波束由车辆反射回传感器天线,然后,进入接收器,通过接收器完成车辆监测并计算出流量、速度及车身长度等交通流数据。微波车辆检测传感器一般安装在单车道道路中央的上方来测量过往车流的交通参数;也可在多车道道路的路边安装以测量多条车道上车辆的交通参数。前视型宽波束范围的该类传感器可采集多条车道上的一个交通流方向的交通参数;而前视型窄波束范围的该类传感器可采集单车道上一个交通流方向的交通流参数。安装在路旁的多检测区域的微波检测传感器,其检测区域垂直于交通流方向。这种微波检测传感器可提供多条车道交通流的交通参,但其准确性要低于同种情况下前视型微波传感器。而安装在路旁的单检测区域的微波传感器一般被用来检测信号交叉口的单车道或多车道的车辆出现。微波传感器通过分析接收的反射波形可获取各种交通参数。其优点是:在恶劣气候下性能出色,全天候工作;可检测静止的车辆;可以侧向方式检测多车道。其缺点是:检测器安装精度要求高;道路具有铁制的分割带时,检测精度下降。2.1.4红外线检测传感器红外线检测传感器是波束检测装置的一种,有主动式和被动式,都可以用于交通管理。主动式红外检测器利用在红外线波长范围附近工作的激光二极管,发射低能红外线照射检测区域,并经过车辆的反射或散射返回传感器;若使用可调发光二极管的主动式红外线检测器可测量车速和进入高速公路曲线形交叉的高大货车的高度,主要是因为发光二极管在880nm的红外线波长范围附近工作,其信号调节装置可防止其他红外线的干扰,这样,通过2个发射—接收系统用于测量车速,有1个发射—接收系统用于测量车辆高度。被动式红外线检测传感器本身不发射红外线,而是接收来自2个来源的红外线:传感器检测范围内的车辆、路面及其他物体自身发出的红外线和它们反射的来自太阳的红外线。主动式红外线检测器:其功能与微波雷达检测器相似,通过红外线的发射、反射与接收来提供车流中的各种参数,如:流量、车道占有率、车速、车辆长度和车辆排队长度及车辆分类。可在一个交叉口上安装多个红外线检测器,而不存在发射红外线和接收红外线间的相互干扰。为适应车辆分类的需要,许多先进的红外线检测器能自动生成二维或三维的监视图像。被动式红外线检测器:能提供车辆通过和存在的数据,但没有速度数据。其实质为使用探测器来测量物体发出的红外线能量。当车辆进入它的检测范围,它测量的地表能量就发生变化。使用这种检测器的交通监管应用的典型距离大约是6.1m,在这个距离内大气的组成要素不会造成检测器明显的性能下降。其优点是:昼夜可采用同一算法而解决昼夜转换的问题;可提供大量交通管理信息。其缺点是:可能需要很好的红外线焦平面检测器,也就需要提高功率,降低可靠性来实现高灵敏度。2.1.5视频检测传感器视频检测传感器通过分析交通场景的图像来确定连续画面之间的变化,以达到检测车辆的目的。黑白图像的图像处理算法主要是检测画面像素的灰度变化,目前,这些图像处理算法已经可以去除由天气条件等造成的图像背景的灰度变化,从而由连续画面过滤而得的信息可计算出交通流参数。另一方面,通过彩色图像也可以来获得交通流数据。由彩色图像传递的信息可在以下情况下提高视频图像处理的识别能力:恶劣天气条件下、摄像机安装情况不理想、在有阴影的情况下,识别车辆、单个车辆和一组车辆的特征。然而,基于彩色图像的视频处理器的检测范围和灵敏度有所下降,从而影响了它的广泛采用。其优点是:可为事故管理提供可视图像;可提供大量交通管理信息;单台摄像机和处理器可检测多车道。其缺点是:大型车辆能遮挡随行的小型车辆;阴影、积水反射或昼夜转换可造成检测误差。2.2控制算法1、模糊控制交通系统是一个具有随机性、模糊性和不确定性的复杂系统,因此其数学模型的建立非常困难,有的甚至无法用现有的数学方法加以描述。即使经过多次简化已经建立的数学模型,它的求解还须简化计算才能完成。所以经典控制法很难取得满意的效果。模糊控制主要模拟人的思维,推理,判断的一种方法,它将人的经验常识等用自然语言表示出来,建立一种适合于计算机处理的输入输出过程模型,它是智能控制的一个重要研究领域。在交通控制领域,它能模仿有经验的交警指挥交通时的思路,取得很好的控制效果。2、神经网络控制神经网络控制是研究和利用人脑某些结构机理以及人的知识和经验对系统进行控制的方法。其显著特点是具有学习功能,不断修正神经元之间的连接权值并离散存储在连接网络中,因而对非线性系统和难以建模的系统具有良好映像功能和学习功能。由于神经网络具有很强的非线性近似能力,所以许多学者已经把它用于交通控制的研究之中。由于交通系统是一个时变的、具有随机性的复杂系统,不易确定精确有序的数学模型,而运用模糊控制方式不需要系统建立数学模型。因此,在本系统中,我们采用模糊控制算法。2.3交通灯控制系统的设计方案随着汽车总量的不断增加,城市交通越来越繁忙,因而城市交通指挥变得越来越重要。一套性能可靠、功能齐全、安全有效的交通灯控制系统对一个城市来说必不可少。交通灯的设计方法有多种实现方法,下面我们就用PLC和单片机实现作简单是的介绍。2.3.1用PLC实现控制系统的方案PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子控制装置,应该是一个较理想的控制器选择。PLC采用可编程的存储器,在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作指令,并能通过数字量或模拟量的输入和输出,控制各种类型的机械或生产过程。PLC具有可靠性高、抗干扰能力强、输入简易方便、适应性强、造价低等特点,选用PLC作为智能交通灯的硬件控制部分,能够在恶劣的电磁干扰环境下正常工作。基于PLC的智能交通灯控制系统,在一次绿灯时间内可能达不到智能控制的效果,因为车流量的增减是一个累积过程,但在连续的绿灯时间内,则能够根据车流量变化实时调节时间,使交通处于一直疏通而非堵塞的状态。这为完善城市交通管理,减少十字路口车辆平均停车延误时间,提高十字路口的通行能力,缓解交通堵塞提出了新的思路。2.3.2用单片机实现控制系统的方案由于MCS系列单片机集成了几乎完善的中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给我们利用单片机提供了极大的便利。单片机把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,运行速度更快,可靠性更高,抗干扰能力更强。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,工作亦相对稳定。因此,在测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。单片机的开发环境要求较低,软件资源十分丰富,开发工具和语言也大大简化。在本次设计中,我们选择了后一种方案。用单片机控制的交通灯控制系统比模拟电路有明显优势,即不用对电路有大改动就可以适应新的工作条件,升级也很方便,只需对CPU重新刷写一次程序就可以了。单片机选用STC89C52。STC89C52单片机具有加密性强、超强抗干扰、超低功耗、结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器/计数器、中断系统资源丰富,有应用价值。2.4串行通信总线2.4.1RS-232总线RS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。2.4.2RS-485总线RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,非常便于多器件的连接。不仅可以实现半双工通信,而且可以实现全双工通信。2.5本设计的总体设计方案由于交通系统是一个具有随机性、模糊性和不确定性的复杂系统,因此,其数学模型的建立非常困难,有的甚至无法用现有的数学方法加以描述。所以本设计采用模糊控制,而且本系统的硬件控制电路简单,采用单片机实现交通灯的控制可提高系统的可靠性和稳定性,缩小系统的体积,调试和维护方便,软件用C语言编程。总体设计系统框图如图2.1:图2.1总体设计系统框图该交通灯控制系统主要由倒计时显示电路、交通灯显示电路、车辆检测电路、多机通信等几个部分组成。其中,主单片机最小系统为整个系统的主控制器,用以控制其他模块协调工作。交通灯显示模块用以显示各车道的通行情况(红灯表示该车道禁止通行,绿灯表示该车道允许通行,黄灯为中间过渡时间);LED倒计时显示模块由单片机的P0口控制,东西方向和南北方向的放行时间的长短是依据路口的各个方向的车流量来设定的;车辆检测模块由超声波发射电路和接收电路组成,通过超声波传感器检测车流量,然后送到从单片机进行处理、存储;从单片机与主单片机之间通过由RS-485构成的多机通信连接,把四个从单片机里存储的数据送到主单片机进行计算、处理,然后送到交通灯控制电路显示。第三章交通信号模糊控制器的设计模糊控制系统设计的核心是模糊控制器的设计,一个模糊控制系统性能的优劣,主要取决于模糊控制器的结构、所采用的模糊规则、合成的推理算法以及模糊决策的方法等,设计模糊控制器主要是求取模糊控制表。3.1智能控制原则为实现模糊控制,需将绿灯时间分为两部分:其一是固定的10秒(经验值,因地而宜)作为路口车辆状态参数的采集时间T1;其二是根据两个方向车辆流量变化进行模糊决策的延时时间T2[3]。当某一方向的车辆流量比另一方向的车辆流量大,则这个方向的绿灯亮的时间长一些,即T2长一些,以保证这个方向的车辆尽量多的通过;当这个方向的车辆流量比另一方向的车辆流量小,则这个方向的绿灯亮的时间短一些,即T2短一些,以保证另一方向车辆尽快通过。3.2模糊控制器中语言变量的选择十字路口的交通灯,南北方向的车辆都是同时停止,同时流通的,东西方向也这样,所以只要取南、北方向车辆的最大值和东、西方向的最大值进行比较,而不是对南、北方向车辆总和与东、西方向的车辆总和进行比较。在该控制系统中,两个输入模糊变量是指采集时间到时绿灯和红灯方向的交通需求量X和Y。交通需求量是指采集时间到时,亮绿灯和亮红灯方向的两个方向尚未通过交通路口的车辆的最大值X和Y。实际运行时具体数据可由传感器采集。输出模糊量是指采集时间到时绿灯追加的延长时间T2。3.3输入输出隶属度函数将输入量模糊化的时候,必须考虑变量的基本论域和模糊论域。基本论域是变量实际的变化范围,一般由已知的理论知识和领域专家的经验来确定。模糊论域是语言变量的量化等级n。确定了基本论域和模糊论域以后,可以在FIS对输入模糊变量和输出模糊变量进行设置。内容包括变量的取值范围(range)和显示范围(DisplayRange),当然还要设置输入语言变量和输出语言变量的取值个数和隶属度函数类型(Type)。已知基本论域和模糊论域后,就可以确定量化因子和比例因子。量化因子定义为输入语言变量的量化等级与其实际变化值的比值,用数学式子表示为:,其中,n为输入语言变量量化等级;x为东西方向的实际变化范围;y为南北方向的实际变化范围。比例因子定义为输出语言变量的实际变化范围与其量化等级的比值,用数学式子表示为:其中,t2为输出语言变量的实际变化范围;n为量化等级。3.3.1输入量隶属度函数在十字路口的四个方向的停止线处以及距离停止线100米处各安置一个传感器来检测采集时间到时绿灯方向和红灯方向未通过路口的车辆数[3]。传感器的设置如图3.1图3.1传感器的设置取绿灯期间固定的车辆采集时间T1为10秒,取采集时间到时绿灯方向未通过路口的车辆数X的基本论域为(0~15),模糊论域为(0~5)。并将它分为5个模糊子集:很少(NM)、少(NS)、中(0)、多(PS)、很多(PM),其隶属度函数设计如图3.2所示。图3.2X的隶属度函数取红灯方向采集时间到时,未通过路口的车辆数Y的基本论域为(0~20),模糊论域为(0~5)。将其分为5个模糊子集:很少(NM)、少(NS)、中(0)、多(PS)、很多(PM),其隶属度函数设计如图3.3所示。图3.3Y的隶属度函数3.3.2输出量隶属度函数输出模糊量是指在车辆基本采集时间基础上追加的延时时间T2,取T2的基本论域为(10~30),模糊论域为(0~10)。将其分为5个模糊子集:很短(NM)、短(NS)、适中(0)、长(PS)、很长(PM),其隶属度函数设计如图3.4所示。图3.4T2的隶属度函数3.4模糊控制规则本系统模糊控制规则根据经验获得,共有25条模糊规则[3]。当两个方向的状态处于同一量级时,如同为很少,或同为少时,绿灯的延时T2均取“短”;如同为中,或同为多,或同为很多时,绿灯的延时T2均取“中”,其目的是保证双方流量相差不多的情况下,尽快地均衡疏散。T2的模糊控制表如表3.1所示。表3.1T2模糊控制规则表XY很少少中等多很多很少短很短很短很短很短少短短很短很短很短中等长适中适中短短多很长长适中适中适中很多很长很长长适中适中3.5模糊推理算法与解模糊从模糊规则得到的结果仍然是模糊量,还要经过模糊推理算法还原为精确量才能输出。本设计采用当今模糊控制算法的主流算法—简易模糊推理算法。对于每个确定的输入X和Y值对应不同的模糊子集,具有不同的从属度。由此而激活的多条模糊规则以取小的策略求出各输出于模糊集的从属度,然后再采用重心法(加权平均法)解模糊,求出T2的值[4]:式中:为确定的X、Y输入值所对应的不同模糊子集的从属度;为输出各模糊子集所对应的重心值。在MATLAB提供的模糊逻辑工具箱里的规则观测器里可方便的得出X=3且Y=2的T2值,如图3.5所示。图3.5规则观察器3.6快速生成模糊控制查询表不同的采样点X,Y对应不同的T2,由于X的模糊论域是(0~5),Y的模糊论域是(0~5),所以T2的个数一共是6×6=36个,每个数据都可以用上面的模糊推理和解模糊方法得到,但需要计算36次,比较麻烦。而利用evaifis函数即可一次性得到36个T2值,具体程序如下,其中“jiaotongdeng”,为本系统在MATLAB提供的FIS编辑器中的文件名。fori=0:1:5X=[iiiiii]Y=[012345]a=readfis('jiaotongdeng');evalfis([X;Y],a)end由程序得出的数值经四舍五入取整后得到模糊控制查询表,如表3.2所示。表3.2模糊控制查询表YX012345022788811258882114666311344441134445113444

第四章系统硬件设计4.1芯片介绍4.1.1STC89C51/52RC/RD+系列单片机简介STC89C51/52RC/RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。1、STC89C51/52RC/RD+系列单片机的特点:(1)增强型6时钟/机器周期,12时钟/机器周期8051CPU(2)工作电压:5.5V—3.4V(5V单片机)/3.8V—2.0V(3V单片机)(3)工作频率范围:0-40MHz,相当于普通8051的0-80MHz,实际工作频率可达48MHz(4)用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节(5)片上集成1280字节/512字节RAM(6)通用I/O口(32/36个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。(7)ISP(在线可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片(8)EEPROM功能(9)看门狗(10)内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路(11)共3个16位定时器/计数器,其中定时器0还可以当成2个8为定时器使用(12)外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒(13)通用异步串行口(UART),还可用定时器软件实现多个UART(14)工作温度范围:0—75℃/-40—+(15)封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44本设计中用到的单片机为STC89C52,PDIP-40。与STC89C51不同之处是内部Flash变大:STC89C51有4K字节的内部Flash程序存储器,而STC89C52的内部Flash程序存储器增加1倍,达到8K。其引脚图如下图:图4.1STC89C52RC引脚图2、STC89C52RC单片机的主要功能特性:兼容传统8051单片机指令系统8k可反复擦写(>100000次)FlashROM32个双向I/O口512x8bit内部RAM

3个16位可编程定时/计数器中断

2个串行中断可编程UART串行通道

2个外部中断源共6个中断源

2个读写中断口线3级加密位

低功耗空闲和掉电模式软件设置睡眠和唤醒功能3、STC89C52RC单片机的引脚功能P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。4.1.2MAX485MAX485接口芯片是Maxim公司的一种RS-485芯片。采用单一电源+5V工作,额定电流为300μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。其引脚结构图如图4.2所示。图4.2MAX485引脚结构图从图中可以看出,MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选120Ω的电阻。4.1.3ULN2003美国TexasInstruments公司、美国Sprague公司生产的ULN2003是高耐压、大电流达林顿陈列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003在各种控制电路中常用它作为驱动继电器的芯片,其芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC电流200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。根据集成电路驱动器2003的输入输出特性,有人把它简称叫“驱动器”、“反向器”、“放大器”等。当2003输入端为高电平时,对应的输出口输出低电平,继电器线圈通电,继电器触点吸合;当2003输入端为低电平时,继电器线圈断电,继电器触点断开。ULN2003芯片的管脚排列如图4.3所示,内部功能如图4.4所示:图4.3ULN2003引脚图图4.4ULN2003功能框图4.1.4固态继电器固态继电器(SolidStateRelay,缩写SSR)是用分离的电子元器件、集成电路(或芯片)及混合微电路技术结合发展起来的一种具有继电特性的无触点式电子开关,可以实现控制回路(输入电路)与负载回路(输出电路)的电隔离及信号耦合,由固态器件实现负载的通断切换功能,内部无任何可动部件。具有寿命长、可靠性高、开关速度快、电磁干扰小、无噪声、无火花等特点。1、固态继电器的组成固态继电器主要由输入(控制)电路,驱动电路和输出(负载)电路三部分组成。固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器的触发信号源。固态继电器的输入电路多为直流输入,个别的为交流输入。固态继电器的驱动电路可以包括隔离耦合电路、功能电路和触发电路三部分。隔离耦合电路,目前多采用光电耦合器和高频变压器两种电路形式。常用的光电耦合器有光—三极管、光—双向可控硅、光—二极管阵列(光—伏)等。高频变压器耦合,是在一定的输入电压下,形成约10MHz的自激振荡,通过变压器磁芯将高频信号传递到变压器次级。功能电路可包括检波整流、过零、加速、保护、显示等各种功能电路。触发电路的作用是给输出器件提供触发信号。固态继电器的输出电路是在触发信号的控制下,实现固态继电器的通断切换。输出电路主要由输出器件(芯片)和起瞬态抑制作用的吸收回路组成,有时还包括反馈电路。目前,各种固态继电器使用的输出器件主要有晶体三极管(Transistor)、单向可控硅(Thyristor或SCR)、双向可控硅(Triac)、MOS场效应管(MOSFET)、绝缘栅型双极晶体管(IGBT)等。2、固态继电器的工作原理固态继电器是用半导体器件代替传统电接点作为切换装置的具有继电器特性的无触点开关器件,单相SSR为四端有源器件,其中两个输入控制端,两个输出端,中间采用隔离器件实现输入输出的电隔离,输入端加上直流或脉冲信号到一定电流值后,输出端就能从断态转变成通态。固态继电器的控制信号所需的功率极低,因此可以用弱信号控制强电流。SSR成功地实现了弱信号(Vsr)对强电(输出端负载电压)的控制。由于光耦合器的应用,使控制信号所需的功率极低(约十余毫瓦就可正常工作),而且Vsr所需的工作电平与TTL、HTL、CMOS等常用集成电路兼容,可以实现直接联接。4.1.5LED数码管LED数码显示是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。其内部结构如图4.5所示。图4.5LED数码管内部结构图1、LED数码显示器有两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下:表4.1数字、字母与7段代码关系表字型共阳极段码共阴极段码字型共阳极段码共阴极段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHb83H7CH3B0H4FHCC6H39H499H66HdA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H2、单片机与LED数码显示器有以硬件为主和以软件为主的两种接口方法。硬件接口方法:LED数码管与译码器相连,通过硬件译码。软件接口方法:它是以软件查表代替硬件译码,不但省去了译码器,而且还能显示更多的字符。但是驱动器是必不可少的,因为仅靠接口提供不了较大的电流供LED显示器使用。对于以软件为主的接口电路来说,其显示方法有静态显示和动态显示两种。动态显示:如果要在同一时刻显示不同的字符,从电路上看,这是办不到的。因此只能利用人眼对视觉的残留效应,采用动态扫描显示的方法,逐个地循环点亮各位数码管,每位显示1ms左右,使人看起来就好象在同时显示不同的字符一样。在进行动态扫描显示时,往往事先并不知道应显示什么内容,这样也就无从选择被显示字符的显示段码。为此,一般采用查表的方法,由待显示的字符通过查表得到其对应的显示段码。这种方式耗电少、硬件成本低,但需占用较多的CPU时间,故在工业控制中应用较少。静态显示:所谓静态显示,就是在同一时刻只显示1种字符,或者说被显示的字符在同一时刻是稳定不变的。其显示方法比较简单,就是利用锁存器将各显示单元锁定,直到更新显示内容为止。它的优点是软件不必动态扫描,送出段码后可锁存,直到需更改显示字符,软件简单,占用CPU时间较少,工作可靠,同时由于始终保持显示而亮度较好。由于本系统需要对控制信号进行实时操作,故采用静态显示方式以减少CPU的负担。4.2车辆检测电路车辆检测电路由超声波的发射电路和接收电路组成。由于超声波传感器的声压能级、灵敏度在40kHz时最大,所以本系统采用40kHz作为传感器的使用频率[5]。其工作原理如下:工作时由超声波发射器发射超声波,同时开始计时,超声波在空气中传播,当碰到障碍物时,发生反射并由超声波接收器接收,此时停止计时。单片机通过P0.0引脚来控制超声波发射器发射40kHz的超声波,每次发射包含10个脉冲左右,当第一个超声波脉冲发射后,计数器开始计数,在检测到第一个回波脉冲的瞬间,计数器停止计数,计数器所计的时间就是超声波往返的时间。4.2.1超声波发射电路图4.6超声波发射电路超声波发射电路包括超声波振荡器和超声波发射探头两部分,如图4.6所示。晶体管VT1、VT2组成强反馈式稳频振荡器,VT2集电极输出的微小变化,通过超声波发射探头反馈到VT1的基极,VT1放大后又直接加至VT2的基极作进一步放大。如此循环下去,结果形成了电路的振荡。电路中,超声波发射探头既是超声波发射元件,又是振荡器的反馈元件和谐振元件。探头一方面将VT2的输出反馈到VT1的基极;另一方面可将振荡器的振荡频率稳定在自身的固有频率上,作为振荡器的谐振稳频元件。超声波发射探头两端的振荡波形近似于方波[6]。4.2.2超声波接收电路图4.7超声波接收电路前置放大器选用低功耗通用集成运算放大器LM324,对超声波接受器接收到的微弱信号进行放大。其中U1A作为电压跟随器输出2.5V电压为其它放大器提供偏置;考虑到超声波接收器输出阻抗较高,U2A设计成电压跟随器以提高放大电路的输入阻抗;由U3A组成有源带通滤波器,中心频率40kHz,增益20倍,它可以滤除各种干扰信号;U4A组成反相放大器,增益10,放大电路总体增益200倍。LM393低功耗双路双极比较器是系统的回波整形部分,它将接收到的经放大、滤波后的回波整形为方波输入到单片机中[4.3基于RS-485的多机通信4.3.1通信规则由于MAX485是一种半双工通信,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通信对主机和从机的发送和接受时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通信瘫痪,无法正常工作。上电复位时,由于硬件电路稳定需要一定的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息。因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入MAX485的控制端,使上电时MAX485处于接收状态。4.3.2RS-485方式构成的多机通信整个多机通信系统设计的关键在于系统通信模块的实现。一对多的通信模式有别于单一的一对一通信,它采用主从工作模式:从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通信,即使有信息交换也必须通过主机转发。采用RS-485构成的多机通信原理框图,如图4.8所示。图4.8多机通信原理框图在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。匹配电阻的取值应该与总线的特性阻抗相当。位于总线两端的差分端口VA与VB之间应跨接120Ω匹配电阻,以减少由于不匹配而引起的反射、吸收噪声,有效地抑制了噪声干扰[8]。4.4显示驱动电路本设计中采用的是2位共阳极LED数码管,用PNP三极管驱动。数码管的笔段码由单片机的P0口输出,位码由单片机的P1.0、P1.1引脚控制,只要P1.0、P1.1有一个引脚为低电平就选通相应的位进行显示。也就是说,P1.0输出为0时三极管VT1导通,与其相连的共阳极数码管显示器开始工作;P1.0输出为1时三极管VT1截止,与其相连的数码管显示器停止工作。这里采用动态显示。显示驱动电路如图4.9:图4.9显示驱动电路4.5交通灯驱动电路目前常用的交通信号灯为交流220v的工作电压,为了提高装置的驱动能力和抗干扰能力,交通灯控制电路采用固态继电器驱动,交通灯的驱动电路如图4.10所示。图4.10交通灯驱动电路J2是接在STC89C52的P2端口上的插座,单片机的P2口通过反相器与达林顿陈列芯片相连,作为控制信号的输出I/O。达林顿陈列芯片采用的是ULN2003芯片,用来做功率驱动,提高控制信号的驱动能力,驱动固态继电器队列。交通信号灯是用继电器队列来驱动的,ULN2003芯片的每一个输出脚控制一个固态继电器[9]。固态继电器内部有隔离耦合电路,可以实现输入电路与输出电路的电隔离及信号耦合。单片机在上电后程序执行前是输出高电平的,而在ULN2003内部已集成起反向续流作用的二极管,为了使上电时交通灯处于熄灭状态,单片机需要通过反相器与ULN2003芯片相连。第五章系统软件设计5.1软件总体设计流程图5.1.1主机的流程图设计软件总体设计主要完成各部分的软件控制和协调。本系统主机的主程序模块主要完成的工作是对系统的初始化,然后调用多机通信子程序,把各个从机检测到的车流量送到主机进行处理,经比较后得出东西方向、南北方向车流量的最大值X、Y,然后将这两个输入状态量模糊化,根据这个转换后的模糊量在论域中元素的取值,在控制表中可以查出相应输出量的以论域元素表现形式表现的控制量,再将其乘以比例因子就进行交通灯控制显示了。其流程图如图5.1所示。图5.1主机的程序流程图5.1.2从机的流程图设计系统程序流程如图5.2所示,在设计中,STC89C52对发射的控制就是对40kHz方波产生电路的控制。由STC89C52的P0.0口控制超声波发射电路以10个脉冲的序列发射出去,在程序中用延时实现。脉冲发射同时打开定时器T0开始计时,发射后等待1ms打开外部中断INT0,等待回波反射到接收探头。等待1ms的原因是,超声波发射探头发射的超声波一般都会存在余波干扰,有部分声波会直接传到接收探头,经接收电路放大后,系统就会把它误认为是检测的回波信号,发射后等待1ms可以避免检测到余波信号。图5.2从机的程序流程图5.2多机通信子程序流程图设计在主从式多机通信系统中,主机和从机只能工作在方式2或方式3中,主机的SM2位必须位0,以确保主机能够接收从机发送的地址信息(第9位为1)和数据信息(第9位为0)。主机发出的信息有两类:地址信息(用于与主机通信的从机地址,特征是发送的第9位TB8为1)和数据信息(发送的第9位TB8为0),即在多机通信系统中,方式2、3只有8位数据,第9位(即TB8)是地址/数据标志位。在监听阶段,从机的SM2位为1,以便接收主机发出的地址信息,当发现主机送出的地址与本机地址相同时,即认为主机要与自己通信。这时,从机将本机地址信息发送给主机,然后使SM2位为0,以便接收主机随后送出的数据信息[10]。5.2.1多机通信主机子程序流程图主机的通信过程如下:(1)主机发送地址信息,然后进入接收状态,接收从机应答信号(实际上就是相应从机的地址信息)。(2)主机听到从机应答信号后,核对应答地址。若地址相符,然后发送命令;若地址不相符,则重新发送地址。(3)地址相符,主机发送命令,要求从机发送数据,然后主机进入接收数据状态。(4)主机正确接收从机数据信息后,发送确认信号给从机,此时,主机与从机通信过程结束。主机子程序流程图如图5.3所示:图5.3多机通信子程序的主机子程序流程图5.2.2多机通信从机子程序流程图从机的通信过程如下:(1)所有从机均接收主机发出的地址信息,并与本机地址比较,当接收到的地址信息与本机地址相符时,表示被选中。(2)被选中的从机将本机地址信息回发给主机,然后使本机的SM2位为0,以便接收主机发送的命令。对于未被选中的从机,SM2位依然位1。(3)接收到主机的命令信息后,再发送数据信号给主机。(4)当从机收到主机发来的确认信号,则表明通信过程结束,这时可将SM2位置1,以便从机能接收主机发送的地址信息。从机子程序流程图如图5.4所示:图5.4多机通信子程序的从机子程序流程图5.3查表子程序设计通过设计模糊控制器求取一个模糊控制查询表。本设计在编程时,X的变化范围为0~15,Y的变化范围为0~20。把模糊控制查询表看成是16×21的矩阵,在编程时,以二维数组的形式存储在单片机中,其中的a[i][j]表示当X=i,Y=j时T2=a[i][j]。这样,只要检测到X、Y的值,就可以查出相应的延时值T2,从而完成查表工作。于是在控制过程中,单片机只需直接将采集到的输入状态量模糊化以后,根据这个转换后的模糊量在论域中元素的取值,在控制表中可以查出相应输出量的以论域元素表现形式表现的控制量,再将其乘以比例因子就用于控制过程,以达到控制目的。5.4交通灯显示子程序设计对于交通灯我们在日常生活中非常熟悉,设在十字路口,其控制的过程为:当南北方向通车时绿灯亮,而东西方向红灯亮,同时有双位数码显示剩余时间并进行倒计时;当时间显示为零时,南北方向的绿灯熄灭,而黄灯亮,同时双位数码显示5秒倒计时时间,黄灯亮后由南北方向切换到东西方向通车。此时南北方向黄灯熄灭,而红灯亮,东西方向红灯熄灭,而绿灯亮,东西方向开始通车。通车的时间到后,东西方向的绿灯熄灭,而黄灯亮,黄灯亮后由东西方向切换到南北方向,东西方向黄灯熄灭,红灯亮;而南北方向红灯熄灭,绿灯亮,如此不断循环[11]。交通灯显示子程序流程图如图5.5所示。第一状态为东西红灯亮,南北绿灯亮;第二状态为南北绿灯熄灭,黄灯亮;第三状态为南北黄灯熄灭,红灯亮,东西红灯熄灭,绿灯亮;第四状态为东西绿灯熄灭,黄灯亮。交通灯控制中使用的时间是由定时器产生的。定时器定时的时间设置为50ms,再经软件计数方法使定时器重复定时20次,计为1s,并用flag做标志位,即flag位由0变1,为1s时间。在交通灯函数中,是通过检测flag位的变化次数,来获得延时的时间。图5.5交通灯显示子程序流程图在交通灯控制过程中任何灯的点亮都对应的有倒计时显示,除去黄灯是固定以5秒显示外,红绿灯显示倒计时的时间应该根据检测到的车流量的不同而改变,而红绿灯实际点亮的时间长短也应该随着显示时间的改变而改变,也就是说指示灯点亮和熄灭与时间显示必须同步。本设计在交通灯显示子程序设计时让其在延时的同时进行倒计时显示,显示的时间为延时时间。5.5中断服务子程序设计在中断服务子程序中实现的内容:重装定时器初始值;产生1s标准时间,并用flag做标志位。定时器设置的初值为50ms,再经软件计数方法使定时器重复定时20次,计为1s,设置一个变量count用于计数,程序执行时判断count是否计到20,若count等于20,则1s时间到,count清0,标志位flag置1。中断服务子程序流程图如下:图5.6中断服务子程序流程图5.6显示子程序设计本系统使用2位数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,

温馨提示

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

评论

0/150

提交评论