基于车流量检测的多相位智能交通灯控制器设计毕业论文.doc_第1页
基于车流量检测的多相位智能交通灯控制器设计毕业论文.doc_第2页
基于车流量检测的多相位智能交通灯控制器设计毕业论文.doc_第3页
基于车流量检测的多相位智能交通灯控制器设计毕业论文.doc_第4页
基于车流量检测的多相位智能交通灯控制器设计毕业论文.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

基于车流量检测的多相位智能交通灯控制器设计毕业论文目 录第一章 绪论 1 第一节 交通灯控制系统的发展 1 第二节 课题研究背景和目的 3 第三节 课题研究的意义 4 第四节 课题研究的任务 4 第五节 课题研究的内容 4第二章 方案设计 6 第一节 交通灯的通行规则 6 一、 相位的概念 6 二、 交通灯的基本运行状态 6 第二节 交通灯控制系统的功能要求 8 一、 LED 信号灯 8 二、 倒计时显示 8 三、 车辆数显示 9 四、 车流量的检测及控制 9 第三节 交通灯控制系统的结构和基本原理 9第三章 硬件电路的组成及连接 11 第一节 通讯电路的组成及连接 11 第二节 车流量检测电路的组成及连接 12 第三节 车辆数显示电路的组成及连接 13 第四节 状态灯电路的组成及连接 14第五节 倒计时电路的组成及连接 15第四章 交通灯控制系统的程序设计 16 第一节 程序主体设计流程 16 一、发送程序的总流程图 16 二、接收程序的总流程图 17 第二节 各功能块的程序设计 18 一、按键模块的程序设计 18 二、延时子程序的设计 20 三、显示程序的设计 21 四、LED 灯程序设计 23 五、中断程序的设计 24 六、车流量计算公式的程序设计 25 七、发送与接收的程序设计 26第五章 仿真及实物制作简介 29 第一节 系统制作与调试 29 第二节 硬件制作与调试 29结束语 31致谢 32参考文献 33附录一 整体仿真图 34附录二 实物电路板核心控制板图 35附录三 交通灯立体模型图 35附录四 发送单片机部分程序 36附录五 接收单片机部分程序 41II第1章 绪 论第1节 交通灯控制系统的发展当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。从1868年英国伦敦首次使用燃汽色灯信号以来,城市交通信号机由手动到自动,交通信号由固定周期到可变周期,系统控制方式由点控到面控,从无车辆检测器到有车辆检测器,经历了近百年的历史。到1963年加拿大多伦多市建立了一套使用IBM650型计算的集中协调感应控制信号系统,从而标志着城市道路交通信号系统的发展进入了一个新的阶段。各个时期典型交通信号系统得特征如附表所示。之后,美国、英国、德国、日本、澳大利亚等多家相继建成数字电子计算机区域交通控制系统,这种系统一般还配备交通监视系统组成交通管制中心。到80年代初,全世界建有交通管制中心的城市有300多个,代表了未来交通控制的发展方向。表1.1 交通信号系统发展状况简称国别城市名称控制路口数信号周期检测器控制方式点控1868英国伦敦燃气色灯单/1914美国克利夫兰电力色灯单/1926英国各城市单点定周期自动信号机单定/自动1928美国各城市感应式自动信号机单定气压式自动线控1917美国盐湖城手控干道协调系统6个定/人工线控1922美国休斯顿电子计时干道协调系统12个定/电动1928美国各城市步进式定时干道协调系统多个(线)变/电动面控1952美国丹佛市模拟计算机交通信号控制系统多个(网)变气压式计算机1963加拿大多伦多数字计算机集中协调感应控制信号系统多个(网)变电磁式计算机信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。在西方发达国家,交通控制系统基本上完成了由传统的交通控制系统向智能交通控制系统ITS的转变,而在我国,智能交通系统则刚刚处于起步阶段。对于传统的交通控制系统而言,对红绿灯一般采用定时控制,无法对实际的交通流进行识别优化,以至于不能适应交通量的不确定性和随机性的原因,往往造成交通资源的浪费和道路的梗阻。而智能交通控制系统则在不产生大的硬件改动的情况下有效的提高效率。ITS:Intelligent Transport systems。这一国际性术语于1994年被正式认定。在此之前,美国称这类技术或相关研究项目为“智能车辆道路系统(IVHS)”(Intelligent VelIiele Highway System)。日本将这类技术称为UTMS、VICS等:欧盟则称之为“道路交通信息技术(RTI)”。国际标准化组织(ISO)为ITS设立的专项叫ISOTC204,使用的术语是“1rICS(交通运输信息与控制系统)”。智能交通系统强调的是系统性、信息交流的交互性以及服务的广泛性,其核心技术是电子技术、信息技术、通信技术、交通工程和系统工程。智能交通系统ITS是在较完善的道路设施基础上,将先进的电子技术、信息技术、传感器技术和系统工程技术集成运用于地面交通管理所建立的一种实时、准确、高效、大范围、全方位发挥作用的交通运输管理系统。在国内,受客观条件的制约,ITS起步比较晚,在20世纪90年代初,我国的相关学者开始意识到研究和开发ITS的重要性。到90年代中期,由于受到国外ITS研发的影响,政府部门也开始重视对ITS的研究,随后,又得到中央部门和部分地方政府的支持。1999年,我国成立了全国智能交通系统(ITS)协调指导小组及办公室,同年,又成立了全国智能交通运输系统(ITS)专家咨询委员会,其中,同济大学、清华大学、北方交通大学、北京航空航天大学、吉林工业大学、东南大学等高校的有关专家为咨询委员,并启动了国家“九五”科技攻关课题和国家“十五”科技攻关课题。目前,在对一些大中型城市引入的国外ITS进行研究的基础上已经逐渐开始摸索开发设计适合自己国情的ITS系统。第2节 课题研究背景和目的随着城市机动车辆的不断增加,许多大城市出现了交通超负荷运行的情况。因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制。高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路。缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。目前,国内大部分中小城市仍采用传统的交通灯控制模式,但随着城市的不断发展,基于车流量的智能交通灯控制系统必将受到广大人民的青睐。传统的交通信号灯,通常采用定时分配方式控制,主要存在三方面的缺陷:(1)车道放行车辆时,十字路口经常出现不同相位上车辆放行时问相同,车辆多的一方容易出现车辆堆积,造成下一路口的交通阻塞;(2)当某相位上无车时,恰好是该相位上的车辆通行时间,则在这段时间内,就出现了交通指挥盲点;(3)当一路口车流量很大时,不能够自动延长口的绿灯时间,导致在一个周期内此路口的车辆不能完全通过。对基于车流量检测的多相位智能交通灯控制系统进行设计目的在于,更好的解决上述问题,以及对所学知识的综合运用,将理论知识与实际应用相结合。本系统利用按钮模拟传感器检测车流量状态,用单片机AT89S52对路口车流量进行统计,并执行相应的处理程序,来实现智能交通灯控制系统,达到了根据车流量大小实时控制路口的通行情况。第3节 课题研究的意义本文设计的交通信号控制系统利用按钮模拟传感器检测车流量状态,用单片机AT89S52对路口车流量进行统计,并执行相应的处理程序,来实现智能交通灯控制系统,达到了根据车流量大小实时控制路口的通行情况。本系统可用在单个路口实现独立的智能交通控制功能,易于维护,运行稳定。基于车流量的智能交通灯控制系统设计意义重大,特别在人口密度集中的中国,它起着更重要的作用。最直接的作用是改善车辆的堵塞状况,减少车辆的等待时间,增加单位时间内的通行量,从而解决交通拥挤的问题。另外的社会经济效益是:减少交通事故的发生率、人员的死亡率;推动相关产业的发展,增加就业岗位,促进社会经济的健康发展;减少能源消耗量,降低环境污染程度。此设计尤其适合中、小城市的十字路口交通控制,具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,具有广泛的应用前景。所以,基于车流量检测的多相位智能交通灯有现实的社会意义。第4节 课题研究的任务设计一个交通灯控制系统,能够实现基于车流量检测的多相位智能交通灯,根据十字路口车流量的变化相应改变东西南北直行和左行的通行时间。第5节 课题研究的内容基于整个交通控制系统的发展情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。本设计主要做了如下几方面的工作:(1)是确定系统交通控制的总体设计,包括十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,为了便于答辩演示这里增加了车流数量显示。(2)是用按钮代替智能传感器设计车辆检测与记录,显示电路等的设计对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。(3)是进行软件系统的设计,对于本系统,本人采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。并用ISIS 7 Professional软件进行仿真,使得程序调试更加直观。(4)是本设计用到两片单片机,一块负责车辆数检测与记算出通行时间并显示出来,同时发送数据到另一块单片机进行处理,另一块单片机负责接收通行时间并用于进行交通灯LED状态和倒计时控制。(5)是实物模型的制做。第2章 方案设计第1节 交通灯的通行规则一、相位的概念为保证交通系统的严谨性和公平性,本设计规定“相位”概念。相位的定义如下:在单个十字路口,整个状态周期每个绿灯亮起的时间为一个固定值。相位的意义在于在一个循环状态周期内,根据每个路口车流量大小可以分配适时适当的绿灯时间以保证时间的充分利用,保证车流大的干道可以通过足够多的车辆,车流小的干道不用浪费时间。从总体上提升系统的效率。2、 交通灯的基本运行状态设在十字路口,分为东西直行向、东西左行、南北直行和南北左行向,在任一时刻只有一个方向通行,剩下方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其简单状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态8然后循环至状态1,周而复始,即如下图所示:状态2状态1 状态3状态4 状态5状态6 状态7状态8 图2-1-2 交通灯运行状态图通过图2-1-2具体的路口交通灯状态的演示分析我们可以把这8个状态归纳如下:状态1东西方向红灯亮,其他灯灭。南北方向直行灯亮,同时南北人行道绿灯亮,并倒计时。此状态下,东西向禁止通行,南北向车及行人允许直行。状态2东西方向红灯亮,其他灯灭。南北方向直行灯灭,黄灯亮,南北人行道绿灯亮,并倒计时。此状态下,东西向禁止通行,南北方向除了已经正在通行中的车辆和行人其它都需等待状态转换。状态3东西方向红灯亮,其他灯灭。南北方向左行灯亮,同时南北人行道红灯亮绿灯灭,并倒计时。此状态下,东西向禁止通行,南北向车允许左行。状态4东西方向红灯亮,其他灯灭。南北方向左行灯灭,黄灯亮,南北人行道红灯亮绿灯灭,并倒计时。此状态下,东西向禁止通行,南北左行方向除了已经正在通行中的车辆其它都需等待状态转换。状态5南北方向红灯亮,其他灯灭。东西方向直行灯亮,同时东西人行道绿灯亮,并倒计时。此状态下,南北向禁止通行,东西向车及行人允许直行。状态6南北方向红灯亮,其他灯灭。东西方向直行灯灭,黄灯亮,东西人行道绿灯亮,并倒计时。此状态下,南北向禁止通行,东西方向除了已经正在通行中的车辆和行人其它都需等待状态转换。状态7南北方向红灯亮,其他灯灭。东西方向左行灯亮,同时东西人行道红灯亮绿灯灭,并倒计时。此状态下,南北向禁止通行,东西向车允许左行。状态8南北方向红灯亮,其他灯灭。东西方向左行灯灭,黄灯亮,东西人行道红灯亮绿灯灭,并倒计时。此状态下,南北向禁止通行,东西左行方向除了已经正在通行中的车辆其它都需等待状态转换。在以上状态变换过程中的倒计时是不定的,它是由车流量决定倒计时间的值,车多时倒计时长,车少时倒计时短。第2节 交通灯控制系统的功能要求从要用到单片机I/O口的数量及程序和硬件电路的简化方面考虑,本设计用到两片单片机通迅的方式共同模拟完成基本的交通控制,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测。具体分工为:一块负责车辆数检测与记算出通行时间,可显示,同时发送数据到另一块单片机。另一块单片机负责接收通行时间并用于进行交通灯LED状态和倒计时控制,本设计能模拟基本的交通控制系统,1、 LED信号灯由前文的交通灯运行状态,本设计要设计的是一个路口要有五种信号灯,一种常亮的右行绿灯,一种直行绿灯,一种左行绿灯,一种状态转换灯黄灯,一种停止灯红灯。对于这些信号灯的排放一般有两个方案:(1)是行三个灯,列三个灯,最下面一个从左到右分别是左行绿灯、直行绿灯、右行常亮绿灯。中间一行从左到右分别是状态转换灯黄灯、状态转换灯黄灯、无灯。最上面一行从左到右分别是停止灯红灯、停止灯红灯、无灯。(2)是只有一行,一共五个灯,从左到右分别是停止灯红灯、状态转换灯黄灯、左行绿灯、直行绿灯、右行常亮绿灯。其实这两种方案是现在交通灯用得最多的,对于用哪一个基本上都差不多,本设计考虑到做模型美观及节省灯数量,故选择第二种方案。2、 倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。对于倒计时的选择目前来说可以有三种方案:(1)完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。(2)完全采用数码管显示。这种方案只显示有限的符号和数码字符,只限于一些对显示要求不高的交通灯,本设计不是那种要求比较高的交通灯,不需要显示各种英文字符,汉字,图形等,故选择第二种方案。(3)采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案减少了系统实现的复杂度,功能相对也比较强大。三、车量数显示对于车量数的显示,这里选用数码管显示,主要是方便模型的演示,或是在实际应该用中便于监控、统计等。4、 车流量的检测及控制随着我国经济建设的蓬勃发展,城市人口和机动车拥有量在急剧增长,交通流量日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。一般车流量检测器采用传感器+单片机+外围器件来实现车流量的检测、计算和控制状态。 但是本设计由于各条件的限制,只是做出一个模型,并没有选用任何的传感器来作为车流量的检测设备,而是用按钮来代替各个检测设备。对于车流量检测和控制的方式,大的方面一般有两个方案:(1)是在各个路口的直行道和左行道各装一个检测设备,用于检测车流的密度和流速,从而通过单片机处理并控制相应的通行时间,这种方式实现的精确度不高。(2)是地各个路口的直行道和左行道各装两个检测设备,一个作用是有车通过时自加,一个作用是有车通过时自减,通过两个检测设备的配就可以得出在等待的车准确的数量,然后根据车的数量通过单片机自动计算相应数量的车应给多长的通行时间,从而实现交通灯禁行的完美控制,故本设计选择第二种方案。第三节 交通灯控制系统的结构和基本原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥。单片机单片机红黄绿信号灯车流量检测电路 AT 89S52 AT 89S52数码管显示数码管显示 通讯图2-3 系统的总体框图据此,本设计系统以两片单片机为控制核心,连接成最小系统,由车流量检测模块产生输入负责检测车流量及处理数据的发送单片机(这里自己给作为发送的单片机命名为发送单片机),发送单片机处理车流量显示模块的输出。然后,接收单片机把发送单片机发送过来的数据接收进行应用,控制信号灯状态模块和LED倒计时模块。系统的总体框图如上所示。最终,本系统将不断调用车流量检测模块对车流量进行检测统计,到达一定时间将修正通行时间一满足不同路况的需要。第3章 硬件电路的组成及连接上一章本设计对交通灯控制系统的功能、原理及结构进行了详细的说明,这一章本设计将在上一章的结构图的基础下针对交通灯控制系统硬件电路的组成及连接作详细的介绍,以便于更好的为编程服务。本设计交通灯控制系统主要用到的元器件有:AT89S52单片机两片、74LS138一片、两位8段数码管8个、8550三极管16个、各种颜色LED灯若干等。第1节 通讯电路的组成及连接在本设计中,一块单片机端口是不够用的,因为其中检测车流量要用到16个端口,用数码管显示车流量要用到16个端口,数码管倒设计时要用到12个端口,信号灯控制要用到8个端口,一块单片机的端口是32个,现在要用到的已经远远的超了,所以本设计考虑到用两块单片机通讯的方式来共同实现控制,这样不仅解决了端口不够用的问题,也大大简化了原有的程序。在这一节让我们了解两片单片机的组成及连接。图3-1为通讯电路的组成及连接图。图3-1 通讯电路组成及连接图从图3-1我们已经很直观的看出所用的的硬件和连接,这里说明一点要注意的问题,两片单片机的这样通讯一定要共地,所以在做板时无论这两片单片机是在一块板上还是不在一块板上,都要共地才行。我们看图中所示,发送单片机数据发送端口是P3.1/TXD和接收单片机P3.0/RXD连起来的,发送单片机数据发送端口是P3.0/TXD和接收单片机P3.1/RXD连起来的,我们用到的是P3口的第二功能,P3.1/TXD为串行数据输出口,用于把SBUF里的数据输出。P3.0/RXD为串行数据输入口,用于接收数据,然后把接收到的数据存入SBUF。只要我们按照这样编一个串行通讯的控制程序就可以实现通讯了。第二节 车流量检测电路的组成及连接在本设计中发送单片机的P1和P2口用作16个车流量检测点(用按钮代替车流量检测传感器)的数据入口。其中:P1.0作为东边直行车道车辆数加的检测点P1.1作为东边直行车道车辆数减的检测点P1.2作为东边左行车道车辆数加的检测点P1.3作为东边左行车道车辆数减的检测点剩下P1.4到P1.7和P2口都是类似的用法,这里不做一一例举。图3-2为东边的检测连接方式。图3-2 车流量检测电路图如图3-2所示,传感器(用按钮模拟)是低电平起作用的,当东边直行车道有车进来经过PB10的检测点的时候,也就是我们模拟按钮按下的时候,发送单片机的P1.0口就有一个低电平信号输入,这样就可以在程序里处理东边直行道车量数自加1。当东边直行车道有车出去经过PB11检测点的时候,也就是我们模拟按钮按下的时候,发送单片机的P1.1口就有一个低电平信号输入,这样就可以在程序里处理东边直行道车量数自减。其他的控制都是这样的形式完成。全部连线完整之后我们就可以着手于编程了。第三节 车量数显示电路的组成及连接本设计加的车量数显示,主要是方便模型的演示,当然在现实中也可以让相关部分门能能够知道准确的车量数,由于各种原因本设计所显示车量数是比较大小后的数,而不是东南西北直行左行都全显示,比如说本设计只显示东直行和西直行比较大小之后得出一个最大值,显示东西方向最大值的车辆数。剩下的也同理。另一个问题是,剩下的端口已经不够4个两位一体的数码管好用了,用所本设计用到一个74LS138译码器进行端口扩展,其中P0.0到P0.7分别与数码管的a-g和dp,P3.3、P3.6和P3.和74LS138的输入口相连,74LS138的8个输出口与相应数码管的扫描端相连接,图3-3为车量数显示电路的组成及连接图。图3-3 车量数显示电路的组成及连接图从图3-3我们看行出具体的连线,本设计所用到的是共阳的数码管,编写显示子程序时,只要给P0口输出与共阳及显示内容相关的代码。然后单片机从P3.3、P3.6和P3.7输出相应的高低扫描电平,用以控制74LS138的输出口以低电平从Y0口到Y7口循环扫描,为什么是低电平有效呢?因为本设计用到了PNP三极管来驱动数码管,当低电平扫描过三极管的时候就有一个VCC电源从三极管输出进入共阳数码管,点亮这个数码管。所以在我们编写显示子程序的时候注意这几点就可以进行车量数显示的子程序的编写了。第四节 状态灯电路的组成及连接状态灯是车辆以及人行道禁行的指示灯,本设计是用接收单片机进行控制的,其中具体用到的控制口如下:P1.0为东西直行道的绿灯通行指示灯,P1.1为东西左行道的绿灯通行指示灯,P1.2为东西方向状态转换的黄灯指示灯,P1.3为东西方向红灯指示灯,P1.4为南北直行道的绿灯通行指示灯,P1.5为南北左行道的绿灯通行指示灯,P1.6为南北方向状态转换的黄灯指示灯,P1.7为南北方向红灯指示灯,P2.4为南北走向的人行道红灯。P2.5为南北走向的人行道绿灯。P2.6为东西走向的人行道红灯。P2.7为东西走向的人行道绿灯。图3-4为状态灯电路的组成及连线图图3-4 状态灯电路的组成及连线图如图3-4所示为电其电路组成的一部分,只有东边示图,剩下南西北及人行道的组成及接法同理,只要我们在程序中控制相应端口输出低电平,相应的灯就会亮。由此我们就可以进行状态灯控制的程序编写了。第五节 倒计时电路的组成及连接本设计中倒计时也是用数码管动态扫描的,和第三节的差的多,不过第三节用到74LS138,本节所讲的倒计时电路没有用了,故也作说明。倒计时也是和灯状态控制一样用接收单片机进行控制的,一共用到4个两位一体的共阳数码管,并肯是两两并连的,就是东和西并连,南和北并连,所以扫描端口只用到4个就可以,用到的控制端口如图3-5 倒计时电路组成及连接图。图3-5 倒计时电路组成及连接图图3-5即为倒计时的电路组成及连接,其P0口作为数据输出,输出与共阳数码管及内容相关的代码,P2.0到P2.3口连接4个三极管,当低电平扫过相应三极管时,就会有VCC电源进入数码管,点亮相应的数码管,所以本设计用于送数据的P0口是以低电平有效的代码,扫描口也是以低电平有效来进行扫描,编写程序的时候注意这点才可以避免出错,能更好更快的完成整个设计。第四章 交通控制系统的程序设计第一节 程序主体设计流程全部控制程序实际上分为两部分:发送单片机系统部和接收单片机部分。其中发送单片机部分包括车流量检测程序,LED显示程序,键盘程序,发送数据程序。其中接收单片机包括状态灯控制程序,次状态判断及处理程序,中断服务子程序,红绿灯时间调整程序等。整个软件程序方面主要分发送程序和接收程序两大部分。一、发送程序的总流程图图4-1-1 发送程序的总流程图如图4-1-1所示,首先是按键处理程序,AT89S52通过对I1和I2口的扫描,确定是否有键按下,是那个键按下,从而程序判断是相应的东边直行有车过来、东边直行有车出去、东边左行有车过来、东边左行有车出去、南边直行有车过来、南边直行有车出去、南边左行有车过来、南边左行有车出去、西边直行有车过来、西边直行有车出去、西边左行有车过来、西边左行有车出去、北边直行有车过来、北边直行有车出去、北边左行有车过来、北边左行有车出去,并储存相应的车辆数值。然后分别对较东西方向直行车数量的大小、东西方向左行车数量的大小、南北方向直行车数量的大小、南北方向左行车数量的大小,取出最大的值(即车辆数)进行储存。其次拿这个最大值来代入公式Y=7+2X计算出Y值(即相应绿灯通行时间初值)储存起来并放入SBUF寄存器,然后通过P3.1口发送。最后,是数码管处理程序,主根通过按钮选择用数码管显示最大值的车辆数还是通行时间初值。二、接收程序的总流程图 图4-1-2 接收程序的总流程图如图4-1-2所示,开始之后,首先是启到定时器T0和串行口中断,将定时器T0设为50ms一次中断,在串行中断里面执行的程序主要是完成数据的接收及从SBUF里取出数据进行储存,循环接收循环刷新覆盖,同时状态灯模块和倒计是模块进入初值工作状态。然后,用取得的初值,判断黄灯倒计时为0时,对倒计是模块进行初值赋值,通过20次中断对倒计时值进行一次减1,实现倒计时工作,然后判断倒计时间的状态以控制相应状态灯模块的状态,如此控制下去,从南北直行到南北左行,从南北左行到东西直行,从东西直行到东西左行,再回到南北直行,如此循环下去。第二节 各功能模块的程序设计这一节将对各功能模块的程序设计,如果实现控制作出说细的说明。本节对应相应模块的功能只是选一小段程序作说明,完整的程序请看附录四 发送单片机总程序与附录五 接收单片机总程序。1、 按键模块的程序设计在讲这个之前先讲一下消抖处理,在按键计数的过程中,还存在机械抖动与软件方面的矛盾,即当程序检测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起,然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题,可以在检测到首次闭合时,调用一定时间的延时程序。此处延时程序完全用软件完成,利用程序执行一条指令的时间,再加上两次累减嵌套。本设计所用到的按键有17个,其中16个与发送单片机的P1口和P2口连接用来模拟车流量的检测的传感器,其中一个是作为切换数码管所显示内容的选择。它们的外电路的连接都是一端接地一端接单片机相应的口,用的是独立式接法,低电平对单片起作用。它的程序工作原理为,开始进入扫描按钮后,首先是扫按钮,哪个按钮下了就作出自加自减的相应处理,最后返回。它的流程图如图4-2-1 按钮模块流程图。开始东直行(加)传感器东直行(加)自加1东直行(减)传感器东直行(减)自减1NYNY 返回图4-2-1 按钮模块流程图程序控制方式如下(附解释):/*东直行*/ if(P10=0&ip10!=1) /当P10按下ip10不等于1时 delay(10); /消抖动处理 if(P10=0&ip10!=1) ip10=1; /把ip10置为1 作用为锁按钮 dongzhi=dongzhi+1; /东直行车辆数加1 if(P10!=0) /等待按钮放开,如果放开重新把ip10置为0 ip10=0; /解除按钮封锁 if(P11=0&ip11!=1&dongzhi=1) /当P11按下ip11不等于1东直行车辆数时 delay(10); /消抖动处理if(P11=0&ip11!=1&dongzhi=1) ip11=1; /把ip11置为1作用为锁按钮 dongzhi=dongzhi-1; /东直行车辆数减1 if(dongzhi=0) dongzhi=0; if(P11!=0) /等待按钮放开,如果放开重新把ip11置为0 ip11=0; /解除按钮封锁 这种设计方式比用消抖处理好,因为消抖处理有时会由于延时子程序的原影响到其他模块的正常控制,而且也解决了按钮一直按着不放还会一直加或减下去的问题。2、 延时子程序的设计本设计单片机的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1ms的时间。它的工作原理是:首先这里有一个While和一个For循环的嵌套,先给While循环的i赋值,然后到For循环里的j赋值0,其次判断j是否小125,如果小于则j自加1再循环回来比较,如果不小于125则跳出,i自减1,如此循环直到i减到为0整个延时才结束,其程序流程图如图4-2-2 延时子程序流程图。开始给i赋初值给j赋初值0判断j是否小于125j自加1i自减1i是否等于0返回NNYY图4-2-2 延时子程序流程图以下为12M晶振下的1ms延时子程序:/*/void delay(unsigned int i) unsigned char j; while(i-) for(j=0;j=20)Y=47;if(X=0)Y=0;说明:这里用到的X和Y在程序里面没有用到,而是用其他的变量来代替X和Y,为了简要说明这里才能X和Y进行说明而以。以上公式的由来:一句话,来源于实践,为什么这样说呢?因为这个数据是我到十字路口用秒表测的,测出多组数据总结出来的结论,虽然达不到一些专业的数学统计学者作出来的那些的准确性,但也是大概可行的,先说一下2X,由测量和总结发现,一般在路上算上车与车的间隔平均一辆车占地6米左右,而在交通路口,一辆车的通过时速一般大概是3米每秒左右,

温馨提示

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

评论

0/150

提交评论