开拓杯学生课外学术科技作品竞赛基于单片机交通灯控制系统的开发与制作_第1页
开拓杯学生课外学术科技作品竞赛基于单片机交通灯控制系统的开发与制作_第2页
开拓杯学生课外学术科技作品竞赛基于单片机交通灯控制系统的开发与制作_第3页
开拓杯学生课外学术科技作品竞赛基于单片机交通灯控制系统的开发与制作_第4页
开拓杯学生课外学术科技作品竞赛基于单片机交通灯控制系统的开发与制作_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、序号: 编码: 第十八届“开拓杯”学生课外学术科技作品竞赛参赛作品 作品名称:基于单片机交通灯控制系统的开发与制作 作品类别:b科技发明制作 类别:a自然科学类学术论文 b 科技发明制作c哲学社会科学类学术论文与社会调查报告摘 要交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。本文在对目前交通控制进行深入分析的基础上,运用检测传感、实时调整智能化控制的实现技术,将传感器监测、实时调整车辆通行时间的算法与单片机控制作用相结合,提出了基于单片机的交通控制系统设计方案。基于stc89c

2、52单片机的交通灯控制系统由stc单片机、交通灯显示、led倒计时以及时间模式复位等模块组成。理论证明该系统能够简单、经济、有效地疏导交通,提高交通路口的通行能力。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括各个模块的总体功能要求及电路设计;二是具体模块如时间发生器、电源模块、显示电路以及主控电路等的设计。三是进行软件系统的设计,对于本系统,对于人采用单片机c语言编写,总体上完成了软件的编写。关键词:交通控制 stc89c52倒计时显示 交通灯 led数码管30目 录摘 要0目 录0前 言1第一章 单片机概述21.1单片机交通控制系统的选题背景31.2单片机交通控制系统

3、选题的现实意义21.3国内外研究现状及其发展41.4单片机交通控制系统主要研究的内容6第二章 单片机交通控制系统总体设计62.1单片机交通控制系统通行方案设计72.2交通灯各部分功能分析及各逻辑器件描述82.3单片机交通控制系统的基本构成及原理12第三章 系统硬件电路的设计13第四章 系统软件程序的设计174.1程序主体设计流程174.2理论基础知识194.3子程序模块设计214.4系统软件调试23参考文献24 前 言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式

4、信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1969年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按

5、一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但

6、车辆已十分接近停车线而不能安全停车时可以进入交叉路口。第一章 单片机概述1.1单片机交通控制系统的选题背景随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构。交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的技术手段加以实现。现代人类科学技术,特别是电子科学技术的发展和成熟能比较好的解

7、决系统建立中硬软件方面要求的技术难题。目前,交通控制方面的研究能完全实现自动智能化,甚至将整个区域整合成一个统一的系统范围,还能根据正常时段以及特定突发时段的情况进行科学的自动调整。交通对于社会的工业经济和人们的生活生产中有着十分重要的意义。随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,交通自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的交通控制措施。1.2单片机交通控制系统选题的现实意义城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。在其各个发展阶段,由于交通的各种矛盾不断出现,人们总是尽可能地把各个历史阶段

8、当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制

9、的起点。早期的交通信号灯使用“固定配时”方式实行自动控制,这种方式对于早期交通流量不大的情况曾起过一定的作用。但随着汽车工业的发展、交通流量增加、随机变化增强,采用以往那种单一模式的“固定配时”方式已不能满足客观需要,于是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方案的控制器。 20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制方式有更大的灵活性。车辆感应控制的这一特点刺激了车辆

10、检测器技术的发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形线圈等检测器相继问世。当今在城市道路交通自动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器。超声波检测器主要在日本等少数国家得到广泛应用。计算机技术的出现为交通控制技术的发展注入了新的活力,更是实现了以一个城市或者更大地域,而非简单的一个路口的交通总体控制系统。1952年,美国科罗拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方案自动选择式信号灯控制,而加拿大多伦多市于1964年完成了计算机控制信号灯的实用化,建立了一套由ibm650型计算机控制的交通信号协调

11、控制系统,成为世界上第一个具有电子数字计算机城市交通控制系统的城市。这是道路交通控制技术发展的里程碑。可以说,在近百年的发展中,道路交通信号控制系统经历了手动到自动,从固定配时到灵活配时,从无感应控制到有感应控制,从单点控制到干线控制,从区域控制到网络控制的长远过程。交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分必要。交通网络是城市的动脉,象征着一个城市的工业文

12、明水平。交通关系着人们对于财产,安全和时间相关的利益。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。1.3国内外研究现状及其发展1.3.1国内外交通控制技术当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系统有英国的transyt与scoots交通控制系统和澳大利亚的scats系统。在信号机的发展历程中,自适应理论一直受到各研究机构的欢迎,比如上面所述的scoots和scats系统。最近几年,国外仍偏向于引进自适应理论来对交通信号控制系统进行研制,特别是美国有十几个大学或研制机构正在研

13、制自适应交通信号控制系统,具有代表性的有美国亚利桑那大学研制的rhodes。我国交通领域的发展起步较晚,基本是从新中国建国之后,随着各方面的条件的成熟以及社会发展的要求,才建立及健全交通控制系统的。城市交通是一个高度综合而又复杂的问题,必须从政策,机构,体制,管理,收费价格,基础设施建设和投资各个方面同时入手解决。我国城市经济和社会的高速发展使得社会对交通的需求急剧增加。也对此提出了严峻的挑战,一句城市发展的规划,建设以及运行原照,在广泛借鉴和吸取国外先进经验的基础上,建立并完善适合我国国情的城市交通系统1.3.2交通控制存在的问题我国城市交通运输的现状和存在的问题,借鉴国外城市交通管理的先进

14、经验,强调建立城市交通管理体制的重要性,提出加强城市交通研究的交通规划,建立稳定的交通基础设施建设的资金出道,实行公交优先政策,建立先进的交通信息系统等对策。随着城市机动车增长速度的加快。1994年卧轨城市机动车保有量已接近500完辆。20世纪90年代以来,经济的发展加快,从1985年到1995年,机动车增长率达13%左右,近几年更是增多。然而,在此同时,城市道路建设规模也在加大,我国城市普遍存在道路密度,道路面积率偏低的问题,这是我国城市哟其是大城市有机的一个重要原因。我国城市道路的密度只有6.8km每平方千米,而在20世纪80年代,世界发达国家就已到达20km每平方千米。20世纪90年代,

15、我国部分城市道路面积率,北京为5.9%,上海为6.4%,而国外东京为13.8%,巴黎为25%,普遍高于我国。近几年,国家虽不断加大城市道路建设的力度,但仍赶不上车辆的增长速度,且与世界其他国家相比,差距仍很大。出租车以及公交的发展运营情况并不尽如人意,虽然车辆和线路长度增长,但运营速度成了瓶颈,新增的运力被运输效率低下所抵消。交通管理方面水平还欠发展,随着交通需求越来越旺盛,而我国城市中小交通管理和交通安全的现代化设施却做得不足。在车辆,道路和交通管理系统,城市交通信号控制系统,城市交通管制中应用人工智能技术,信息 采集和信息提供技术等方面都与发达国家有很大差距。近几年,虽然有部分城市研究和引

16、进一些国外先进的交通信号管理系统,但是由于交通管理设施不足等原因,我国交通事故率居高不下。城市车流行驶速度逐年下降,目前不少城市交通运量年年增长,但运输速度普遍下降,这都源于交通通行不佳。1.4单片机交通控制系统主要研究的内容基于整个交通控制系统的发展情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提

17、示,基于实际情况,又要求了对车流量检测及自调整模拟功能,违规检测及处理,紧急状况处理和键盘可设置等强大功能。 二是进行智能传感器的硬件电路,显示电路等的设计对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。三是进行软件系统设计,对本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。第二章 单片机交通控制系统总体设计2.1单片机交通控制系统通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:

18、黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图2.1所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:图2.1 交通状态东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒

19、计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下面我们可以用图表表示灯状态和行止状态的关系如下:状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯01002.1 交通状态及红绿灯状态东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2.1所示。说明:0表示灭,1表示亮。2.2交通灯各部分功能分析及各逻辑器件描述(1)时钟定时控制部件由于at89c52单片机内

20、部有一个用于构成振荡器的高增益反向放大器,此放大器的输入和输出端分别是引脚xtal1和xtal2,在xtal1和xtal2上外接时钟源即可构成时钟电路,该电路采用的是内部方式,如图2所示:图2在xtal1和xtal2的两端接石英晶体振荡器,与内部反向器构成稳定的自激振荡器,发出的时钟脉冲直接进入片内定时定时控制部件。用以提供交通灯时钟信号。在该电路的设计过程中,c1、c2的选取对频率有微调作用,选取值是20pf。为了减少寄生电容,保证振荡器稳定和可靠的工作,在接线时将晶振和电容的管脚接在单片机最近的地方。(2)led数字显示电路图3如上图3所示为其管脚配置,该电路选用的led显示器是共阳极,采

21、用动态显示。(3)89c52单片机89c52提供以下标准功能:8k字节flash闪速存储器,256字节内部ram,32个i/o口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时, 89c52可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其管脚如图4所示图4(4)上电加按钮电平复位电路如下图5所示:我们采用上电+按钮复位的方式。当开关打开时,rst通过电阻接地,

22、当有开关闭合时由于电容的作用使电源vcc通过电阻施加在单片机复位端rst上,实现单片机复位。 vccrst/vpd图5(5)红黄绿灯显示电路:红黄绿灯显示电路如下图6所示。二极管的正极通过上拉电阻接+5v的电源vcc,负极分别接89c52单片机的外部接口p1.0、p1.1、p1.2、p1.3、p1.4、p1.5口,我们可以通过控制单片机p1口的数据输出来控制二极管的亮灭。例如为p1口送值为#0deh,则南北红灯亮禁止通行,东西绿灯亮允许通行。南 北vccp1.0p1.1p1.2p1.3p1.4p1.5东 西图6当系统上电时,实验电路开始工作。七段数码管开始40秒倒计时,计时起始信号由主控电路给

23、出,定时结束信号也输入到主控芯片,由主控芯片启、闭三色信号灯或启动另一计时电路。在这里正确的程序是核心,应该完成一个时序电路的工作。其状态表(1)为:状态南北干道东西干道时间 1红灯亮,禁止通行绿灯亮,允许通行30秒 2红灯亮, 禁止通行黄灯亮,停车3秒 3绿灯亮,允许通行红灯亮,禁止通行33秒4黄灯亮,停车红灯亮,禁止通行3秒2.3单片机交通控制系统的基本构成及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入led数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片

24、机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。图2.2 系统的总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,led倒计时模块和蜂鸣器状态模块接受输出。系统的总体框图如上所示。第三章 系统硬件电路的设计3.1系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用stc 89c52单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,4个led东西南北各两个构成倒计时显示模块.3.1.1系统硬件电路构成本系统以

25、单片机为核心,组成了一个集时间发生器、led显示、信号灯显示以及时间复位的交通灯控制系统。系统硬件电路由时间发生器电路、单片机、状态灯,led显示,按键等组成。其中p0,p1,用于送显两片led数码管,p2用于控制红绿黄发光二极管,xtal1和xtal2接入晶振时钟电路,rest引脚接上复位电路,图3.1 基于单片机的交通灯控制系统电路图3.1.2 stc89c52芯片最小系统一个最简单的单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,以及其他外围模块(如通信、数据采集等)。(1)时钟电路首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执

26、行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6mhz、110592mhz、12mhz、本系统采用110592mhz晶振,电容选22pf或30pf均可。(2)复位电路系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时,也需要进行系统复位。复位电路有很多种,有上电复位,手动复位等。 (3) ea脚的功能及接法单片机的ea脚控制程序从内部存储器还是从外部存储器

27、读取程序。由于现在单片机内部的flash容量都很大,因此基本都是从内部的存储器读取程序,即不需要外接rom来存储程序,因此,ea脚必须接高电平。本设计中复位方式采用上电按键手动复位方式,时钟采用内部时钟。如下图3.3所示。图3.3 本系统复位与时钟方式3.2其它硬件介绍及连接3.2.1八段led数码管led显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。led数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sp,即点),每个发光二极管的阳极连在一起,如图3.6所示。这样,一个led数码

28、管就有i根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段led数码显示管,其他类形的显示管与其类似。图3.6 led数码管led 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为,采用共阳极连接驱动代码,代码表如下表3.1所示。显示数值dp,g,f,e,d,c,b,a驱动代码011010000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h7111110

29、00f8h81000000080h91001000090h表3.1 驱动代码表相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有dptr调取ledmap的代码。led8段数码管的设置为每个方位上的一对2为显示器。四个方位上总共用8个led接在单片机的io口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的io口是对称的。如图3.7所示,其中a,b分别是p0,p1的网络标号。图3.7 led连接图3.2.2其它器件发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮

30、,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图3.8所示。图3.2.2信号灯的连接(第四章 系统软件程序的设计4.1程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,led显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图4.1所示。主程序开始剩余时间是否为3秒程序初始化南北红灯东西绿灯n南北红灯东西黄灯剩余时间是否为0秒n南北绿灯东西红灯剩余时间是否为3秒南北黄灯东西红灯剩余时间是否为0

31、秒nn图4.1 系统总流程图4.2理论基础知识4.2.1 定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到th和tl中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为c,把计数初值设定为tc 可得到如下计算通式:tc=m-c式中,m为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为t0,它是单片机系统主频周期的12倍,设要求的时间值为t,则有c=tt0。计算通式变为:t=(mtc)t0模值和计数器工作方式有关。在方式0时m为8192;在方式

32、1时m的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12mhz,经过12分频后,若采用方式最大延时只有8.129毫秒,采用方式最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。4.2.2软件延时原理mcs-51的工作频率为12mhz,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12mhz)=1us。我们可以知道具体

33、每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。4.2.3 中断原理本系统主要使用了外部中断,中断信号有引脚int0和int1输入,低电平有效,cpu每个时钟周期都会检测int0和int1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置tcon中it0和it1位的状态来实现。以it0为例,it0=0,为电平触发方式,it0=1,为负边沿触发方式,本设计采用电平方式,ie0为其中断标志位,有中断信号则置位,中断服务子程序响应后,ie0自动清零。ie中的ea为允许中断

34、的总控制位,为1开启,ex0为外部中断允许控制位,为1开启。在优先级的允许下,一旦有外部中断信号产生,单片机cpu首先保护断点,pc值进栈,然后执行相应的中断服务子程序,执行完后,用reti指令返回,此时cpu会从堆栈中取保存的断点地址,送回pc,程序再正常执行。4.2.4红绿灯时间调整原理车流量检测传感器可对单片机控制系统提供实时数据,系统对所获数据进行模糊处理。实现红绿灯模糊控制必须解决对当前十字路口的交通状况的检测,并完成如下工作:1.输入量的采集,系统采集两个输入量,即两个方向的车流量。2.输出量的确认,即红绿灯时间值。3.设计将输入映照到输出的模糊规则。4.决定被激活模糊规则的组合方

35、式和清晰处理,生成精确的输出控制信号。为了采集上述数据,在十字路口的四侧共设置2个传感器。分别检测两个方向的车流量,车流量检测不是最终目的,在每半个循环周期,系统会检测到两个方向的车流量数据,除以时间,那么就可以得到单位时间的车流量,然后比较两个方向单位时间车流量多少,以确定下一次循环红绿灯时间,达到调整的目的。如,在一次循环过后,检测到南北向车流量(设此时南北绿灯,东西红灯时间为20s)为100辆,东西向车流量(设此时东西绿灯,南北红灯时间为30s)为90辆,则单位时间车流量南北向和东西向的比例是:(100/20)/(90/30)=1.6,显然南北向交通严重,那么现在就可以把南北绿灯,东西红

36、灯时间调长。上面的比例1.6还是一个确定数值,究竟多少为多,多少为少,这就必须设定模糊规则,划定几个值域范围,分别对应到具体的调整时间上,系统就调用具体的输出值了。4.3程序模块设计交通灯控制程序(基于c语言):#include /头文件#define uchar unsigned char/宏定义#define uint unsigned intsbit r1=p02;sbit y1=p01;sbit b1=p00;sbit r2=p07;sbit y2=p06;sbit b2=p05;uchar count,count2;uchar counth,countl,counth2,countl

37、2;const uchar table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delay (uint x) /延迟函数 uint i,j;for(i=x;i0;i-)for(j=100;j0;j-);void display(void) /显示函数 uint i; for(i=0;i280;i+) counth=count/10;countl=count%10;counth2=count2/10;countl2=count2%10;p1=tablecounth; p2=0x04;delay(1);p2=0x00;p1=tablecountl; p2=0x08;delay(1);p2=0x00;p1=tablecounth2;p2=0x01;delay(1);p2=0x00;p1=tablecountl2;p2=0x02;delay(1);p2=0x00;d

温馨提示

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

评论

0/150

提交评论