单片机完成交通灯控制系统的设计与实现

上传人:仙*** 文档编号:89604764 上传时间:2022-05-13 格式:DOC 页数:40 大小:835.50KB
收藏 版权申诉 举报 下载
单片机完成交通灯控制系统的设计与实现_第1页
第1页 / 共40页
单片机完成交通灯控制系统的设计与实现_第2页
第2页 / 共40页
单片机完成交通灯控制系统的设计与实现_第3页
第3页 / 共40页
资源描述:

《单片机完成交通灯控制系统的设计与实现》由会员分享,可在线阅读,更多相关《单片机完成交通灯控制系统的设计与实现(40页珍藏版)》请在装配图网上搜索。

1、. . . . 题目: : 理工大学成人教育题 目 姓 名 永城职业学院专科毕业设计(论文)中图分类号:毕业设计(论文)题目 交通信号灯控制系统的设计 专业班级: 学生学号: 学生: 指导教师: 永城职业学院20 年 月 日附2:任务书 毕业设计(论文)任务书年级专业 学生学号 学生 一、设计(论文)题目:二、 设计(论文)任务与要求三、设计(论文)时间:年月日至年月日指导教师 (签名)主管院长(系主任) (签名)附3:评定书 毕业设计(论文)评定书年级专业 学生学号 学生 一、设计(论文)题目: 二、设计(论文)共 页,附图 三、 审阅意见与评语根据学院教学管理的有关规定,同意(不同意)该生

2、参加毕业答辩指导教师 (签名) 职 称 工作单位 附4:决议毕业设计(论文)答辩委员会(小组)决议年级专业学生学号学生 该生于 年 月 日进行毕业设计(论文)答辩设计(论文)题目:答辩委员会:主任委员(组长)委 员(成员)答辩学生向答辩委员会(小组)提交如下资料:设计(论文)说明书 共 页 设计(论文)图纸 共 页指导教师评阅意见 共 页 根据学生所提供的毕业设计(论文)材料和指导教师意见以与在答辩过程中学生回答问题的情况,毕业设计(论文)答辩委员会(小组)作出如下决议: 一、毕业设计(论文)的总评语 二、毕业设计(论文)的总评成绩: 毕业设计答辩委员会主席(组长) (签名) 委员(成员) (

3、签名) 年 月 日摘 要交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。本文在对目前交通控制进行深入分析的基础上,运用检测传感、实时调整智能化控制的实现技术,将传感器监测、实时调整车辆通行时间的算法与单片机控制作用相结合,提出了基于单片机的交通控制系统设计方案。8051单片机的交通灯控制系统由8051单片机、交通灯显示、LED倒计时、车流量检测与调整、违规检测、紧急处理、时间模式手动设置等模块组成。系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、车流量

4、检测与调整、交通异常状况判别与处理等相关功能。理论证明该系统能够简单、经济、有效地疏导交通,提高交通路口的通行能力。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以与系统应拥有的各项功能,二是进行传感器的硬件电路、显示电路等的设计和基本功能要求。三是进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,总体上完成了软件的编写。关键词:交通控制,传感检测,AT89C51,倒计时显示,异常状况判别32 / 40目录摘要0目录0前言1第一章单片机概述21.1单片机交通控制系统的选题背景21.2单片机交通控制系统选题的现实意义21.3国外研究

5、现状与其发展41.3.1国外交通控制技术41.3.2交通控制存在的问题41.4单片机交通控制系统主要研究的容5第二章单片机交通控制系统总体设计62.1单片机交通控制系统通行方案设计62.2单片机交通控制系统的功能要求72.2.1倒计时显示72.2.2 车流量检测与调整72.2.3时间手动设置82.2.4 紧急处理82.2.5违规检测82.3单片机交通控制系统的基本构成与原理8第三章系统硬件电路的设计103.1系统硬件总电路构成与原理103.1.1系统硬件电路构成103.1.2系统工作原理103.2单片机的选择123.2.1单片机的概述123.2.2 AT89C51芯片的主要性能123.2.3

6、AT89C51芯片的部结构框图123.2.4 AT89C51芯片最小系统133.3其它硬件介绍与连接143.3.1车流量检测电路与模拟143.3.2违规检测电路与模拟153.3.3八段LED数码管163.3.4其它器件17第四章系统软件程序的设计194.1程序主体设计流程194.2理论基础知识204.2.1 定时器原理204.2.2软件延时原理204.2.3 中断原理214.2.4红绿灯时间调整原理214.3子程序模块设计224.3.1按键扫描程序224.3.2状态灯显示与判断234.3.3 LED倒计时显示234.3.4车流量检测中断服务子程序244.3.5紧停与违规中断服务子程序244.3

7、.6红绿灯时间调整程序254.3.7消抖动程序264.4源程序264.5系统软件调试314.5.1 TKS仿真器314.5.2集成开发环境KEIL314.5.3系统软件调试32结论34致35参考文献36引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表

8、示“注意”。1969年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量

9、、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。第一章 单片机概述1.1单片机交通控制系统的选题背景随着人口快速的增多,交通工具的爆炸性的发展,以与道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,

10、交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构。交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的技术手段加以实现。现代人类科学技术,特别是电子科学技术的发展和成熟能比较好的解决系统建立中硬软件方面要求的技术难题。目前,交通控制方面的研究能完全实现自动智能化,甚至将整个区域整合成一个统一的系统围,还能根据正常时段以与特定突发时段的情况进行科学的自动调整。交通对于社会的工业经济和人们的生活生产

11、中有着十分重要的意义。随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,交通自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的交通控制措施。1.2单片机交通控制系统选题的现实意义城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。在其各个发展阶段,由于交通的各种矛盾不断出现,人们总是尽可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,186

12、8年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年与稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。早期的交通信号灯使用“固定配时”方式实行自动控制,这种方式对于早期交通流量不大的情况曾起过一定的作用。但随着汽车工业的发展、交通流量增加、随机变化增强,采用以往那种单一模式的“固定配时”方式已不能满足客观需要,于

13、是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方案的控制器。 20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制方式有更大的灵活性。车辆感应控制的这一特点刺激了车辆检测器技术的发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以与环形线圈等检测器相继问世。当今在城市道路交通自动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器。超声波检测器主

14、要在日本等少数国家得到广泛应用。计算机技术的出现为交通控制技术的发展注入了新的活力,更是实现了以一个城市或者更域,而非简单的一个路口的交通总体控制系统。1952年,美国科罗拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方案自动选择式信号灯控制,而加拿大多伦多市于1964年完成了计算机控制信号灯的实用化,建立了一套由IBM650型计算机控制的交通信号协调控制系统,成为世界上第一个具有电子数字计算机城市交通控制系统的城市。这是道路交通控制技术发展的里程碑。可以说,在近百年的发展中,道路交通信号控制系统经历了手动到自动,从固定配时到灵活配时,从无感应控制到有感应控制,从单点控制

15、到干线控制,从区域控制到网络控制的长远过程。交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分必要。交通网络是城市的动脉,象征着一个城市的工业文明水平。交通关系着人们对于财产,安全和时间相关的利益。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。1.3国外研究现状与其发展1

16、.3.1国外交通控制技术当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系统有英国的TRANSYT与SCOOTS交通控制系统和澳大利亚的SCATS系统。在信号机的发展历程中,自适应理论一直受到各研究机构的欢迎,比如上面所述的SCOOTS和SCATS系统。最近几年,国外仍偏向于引进自适应理论来对交通信号控制系统进行研制,特别是美国有十几个大学或研制机构正在研制自适应交通信号控制系统,具有代表性的有美国亚利桑那大学研制的RHODES。我国交通领域的发展起步较晚,基本是从新中国建国之后,随着各方面的条件的成熟以与社会发展的要求,才建立与健全交通控制系统的。城市交通是一个高度综合而又复杂

17、的问题,必须从政策,机构,体制,管理,收费价格,基础设施建设和投资各个方面同时入手解决。我国城市经济和社会的高速发展使得社会对交通的需求急剧增加。也对此提出了严峻的挑战,一句城市发展的规划,建设以与运行原照,在广泛借鉴和吸取国外先进经验的基础上,建立并完善适合我国国情的城市交通系统1.3.2交通控制存在的问题我国城市交通运输的现状和存在的问题,借鉴国外城市交通管理的先进经验,强调建立城市交通管理体制的重要性,提出加强城市交通研究的交通规划,建立稳定的交通基础设施建设的资金出道,实行公交优先政策,建立先进的交通信息系统等对策。随着城市机动车增长速度的加快。1994年卧轨城市机动车保有量已接近50

18、0完辆。20世纪90年代以来,经济的发展加快,从1985年到1995年,机动车增长率达13%左右,近几年更是增多。然而,在此同时,城市道路建设规模也在加大,我国城市普遍存在道路密度,道路面积率偏低的问题,这是我国城市哟其是大城市有机的一个重要原因。我国城市道路的密度只有6.8km每平方千米,而在20世纪80年代,世界发达国家就已到达20km每平方千米。20世纪90年代,我国部分城市道路面积率,为5.9%,为6.4%,而国外东京为13.8%,巴黎为25%,普遍高于我国。近几年,国家虽不断加大城市道路建设的力度,但仍赶不上车辆的增长速度,且与世界其他国家相比,差距仍很大。出租车以与公交的发展运营情

19、况并不尽如人意,虽然车辆和线路长度增长,但运营速度成了瓶颈,新增的运力被运输效率低下所抵消。交通管理方面水平还欠发展,随着交通需求越来越旺盛,而我国城市中小交通管理和交通安全的现代化设施却做得不足。在车辆,道路和交通管理系统,城市交通信号控制系统,城市交通管制中应用人工智能技术,信息 采集和信息提供技术等方面都与发达国家有很大差距。近几年,虽然有部分城市研究和引进一些国外先进的交通信号管理系统,但是由于交通管理设施不足等原因,我国交通事故率居高不下。城市车流行驶速度逐年下降,目前不少城市交通运量年年增长,但运输速度普遍下降,这都源于交通通行不佳。1.4单片机交通控制系统主要研究的容基于整个交通

20、控制系统的发展情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以与系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又要求了对车流量检测与自调整模拟功能,违规检测与处理,紧急状况处理和键盘可设置等强大功能。 二是进行智能传感器的硬件电路,显示电路等的设计对各器件的选择与连接,大体分配各个器件与模块的基本功能要求。三是进行软件系统设计,

21、对本系统,本人采用单片机汇编语言编写,对单片机部结构和工作情况做了充足的研究,了解定时器,中断以与延时原理,总体上完成了软件的编写。第二章 单片机交通控制系统总体设计2.1单片机交通控制系统通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图2.1所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:图2.1 交通状态东西方向红灯灭,同时绿灯亮

22、,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下面我们可以用图表表示灯状态和行止状态的关系如下:状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西

23、绿灯0010南北红灯0011南北绿灯1000南北黄灯0100表2.1 交通状态与红绿灯状态东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态与红绿灯状态如表2.1所示。说明:0表示灭,1表示亮。2.2单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测与调整,交通违规处理和紧急处理等功能。2.2.1倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示

24、的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。2.2.2 车流量检测与调整随着我国经济建设的蓬勃发展,城市人口和机动车拥有量在急剧增长,交通流量日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。一般车流量检测器采用传感器+单

25、片机+外围器件来实现。 而且,目前国使用的红绿灯都是固定的红绿灯时间,并自动切换。红灯时间和绿灯时间,是根据道口东西向和南北向的车流量,利用统计方法确定的。交通警察不断观察十字路口的两个方向,根据车辆密度和流速决定是否切换红绿灯,以保证最佳的道路交通控制状态。2.2.3时间手动设置 除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费I0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场

26、合,但是在单片机I0 口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且I0口足够,可直接采用独立式。2.2.4 紧急处理交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。2.2.5违规检测 交通规则必须人人遵守,但是违反规则,如闯红灯等,也时有发生,交警等交通管理人员虽然可以进行实时监管,但是耗费精力,在路口设置检测传感器就可以进行自动的警报提示。2.3单片机交通控制系统的基本构成与原理单

27、片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,与时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。图2.2 系统的总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,LED倒计时模块和蜂鸣器状态模块接受输出。系统的总体框图如上所示。键盘设置模块对系统输入模式选择与具体通行时间设置

28、的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。在模式选择上,若为自动模式,将不断调用车流量检测模块对车流量进行检测统计,到达一定时间将修正通行时间一满足不同路况的需要。第三章 系统硬件电路的设计3.1系统硬件总电路构成与原理实现本设计要求的具体功能,可以选用AT89C52单片机与外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,车流量检测传感器采集流

29、量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以与用1个蜂鸣器进行报警。3.1.1系统硬件电路构成本系统以单片机为核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED显示,按键,蜂鸣器组成。其具体的硬件电路总图如图3.1所示。其中P0,P1,用于送显两片LED数码管,P2用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3.2即INT1接违规检测电路和紧停东西时间设置键J,P3.3即INT1接车流量检测电路,P3.6接南北时间设置键S,P3

30、.7接自动模式选择返回键F,P3.4接蜂鸣器。3.1.2系统工作原理系统上电或手动复位之后,系统等待模式选择设置键按下,模式分两种:红绿灯时间自动和红绿灯时间设置。若此时F键按下,则设置为自动模式,若此时按下的是S键,则设置为时间设置模式,依次按S若干次,J键若干次可设置好两个方向的红绿灯时间,再按F键确认。其实这个过程就是将存储时间值的寄存器进行设置,以与标志是否要进行车流量检测与调整。接下来,系统必须先显示状态灯与LED数码管,将状态码值送显P2口,将要显示的时间值的个位和十位分别送显P0和P1口,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。时

31、间到达一个状态所要全部时间,则要进行下一状态判断与衔接,并装入次状态的相应状态码值以与时间值,当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下F键,中断结束返回。其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的寄存器加1,然后中断结束返回。每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。图3.1 基于单片机的交通灯控制系统电路图3.2单片机的选择3.2.1单片机的概述单片微

32、型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。它把中央处理器、存储器、输入/输出接口电路以与定时器/计数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国大多数人所接受,所以仍沿用“单片机”这一名称。单片机的主要特点有:1)具有优异的性能价格比。2)集成度高、体积小、可靠性高。3)控制功能强。3.2.2 AT89C52芯

33、片的主要性能芯片AT89C52是ATMEL公司生产的带2K字节快闪存储器的8位单片机。它具有如下的一些特性:指令和89C51产品兼容 含2K字节可重复编程快闪存储器耐久性1,000写/擦除周期 2.7V6V的工作电压围全静态操作0Hz24MHz 二级程序存储器加锁含128*8位部RAM 15根可编程I/0引线2个16位的计数器/定时器 6个中断源带有可编程串行通讯口 可直接驱动LED输出片模拟电压比较器 低功耗空载和掉电方式另外,该单片机还具有体积小,价格低等特点。3.2.3 AT89C51芯片的部结构框图AT89C51是一带有2K字节快闪可编程可擦除存储体(EEPROM)的低电压、高性能8位

34、CMOS微型计算机。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和快闪存储器,ATMEL公司生产的AT89C52是一强劲的微型计算机,它对许多嵌入式控制的应用,提供了一种高度灵活和成本低的解决办法。图3.2为AT89C52的部结构框图。图3.2 AT89C2051部结构图3.2.4 AT89C52芯片最小系统一个最简单的单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,以与其他外围模块(如通信、数据采集等)。(1)时钟电路首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条

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

36、取程序。由于现在单片机部的flash容量都很大,因此基本都是从部的存储器读取程序,即不需要外接ROM来存储程序,因此,EA脚必须接高电平。本设计中复位方式采用上电按键手动复位方式,时钟采用部时钟。如下图3.3所示。图3.3 本系统复位与时钟方式第四章 系统软件程序的设计4.1程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断与处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图4.1所示。图4.1 系统总流程图首先是

37、按键处理程序,89C51通过对IO扫描,确定是否有键按下,再判断具体是那个键按下,根据键值跳转到按键处理程序。按键处理结果可设置两种工作模式:红绿灯时间设置模式和红绿灯时间自动模式,次程序相当于系统的模式设置,若想重新设置则要按下复位键。设置过后进入50ms扫描程序。50ms扫描程序开始后,先刷新显示模块,若为自动模式则接下来要计数车流量,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。50ms已到则重新扫描。扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区容。在半个状态对换时,车流量计数程序在一个状态变换循环先后计数两个方向的车

38、流量,然后调用红绿灯时间调整程序,更新红绿灯时间。当前状态时间已到,则判断其状态装入相应数据,然后进入下一状态。4.2理论基础知识4.2.1 定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC 可得到如下计算通式:TC=M-C式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算

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

40、的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。我们设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减,然后判断它是否为零。为零表示秒已到。设定定时器需要定时50毫秒,故T0必须工作于方式。要求初值:TC=M-T*T0=216-50ms/1us=15536=3CBOH,程序如下:WAIT: JNB TF0,WA

41、IT1CLR TF0MOV TH0,#01HMOV TL0,#0B01HDJNZ R2,WAIT4.2.3 中断原理本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。IE中的EA为允许中断的总控制位,为1开启,EX0为外部

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

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

44、个确定数值,究竟多少为多,多少为少,这就必须设定模糊规则,划定几个值域围,分别对应到具体的调整时间上,系统就调用具体的输出值了。4.3子程序模块设计4.3.1按键扫描程序首先程序不断扫描模式设置键,分别记为:S键,J键,F键对应端口的3.6,P3.2,P3.7,低电平有效,按键顺序是指定的,若直接按F键,则为自动调整模式,然后进入下一程序;若先按S键,再按J键,F键则为设置时间模式,然后进入下一程序。程序的开始要判断是否有键按下,可以不断将S键值和F键值相与,与值为1则表示没有键按下,为0则表示有键按下,程序如下:K1: MOV C, P0.0 ANL C, P0.1 C, K1接下来要判断具

45、体是那个键,若为F键,则将自动标志位置1,进入下一程序,否则为S键,则表示设置南北绿灯时间,用R0存值,按1下加1,同时还需判断此时J键是否按下,若按下,则表示南北绿灯时间设置完毕,开始设置东西绿灯时间,用R1存值,同样按1下加1 ,同时判断此时F键是否按下,若按下,则表示时间设置完毕,进入下一程序。在这个过程中,S,J键的计数是循环的,从初值20开始,加到40则循环回到20。如判断S键程序如下:CJNZ R0, #40, V1MOV R0, #20V1: INC R04.3.2状态灯显示与判断在本设计中,实际控制的灯只有6个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯。定

46、义IO端口如下,其中均是低电平有效。H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_GREEN BIT P2.5L_YELLOW BIT P2.6共有4钟状态:东西红灯亮,南北绿灯亮(11011101/DDH);东西红灯亮,南北黄灯亮(10111101/BDH);东西绿灯亮,南北红灯亮(11101101/EDH);东西黄灯亮,南北红灯亮(11100111/E7H)。括号中是P2端口8个引脚值P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0以与对应的十六进制码。在用于显示发光二极管时,直接由MOV指令将十六进制码送入

47、P2口。刚才的4个状态是依次变换的,这就要涉与到状态的判断和衔接了。先把P2端口的值与所有的4个状态码比较,若一样则判断成功当前状态,再把下一状态的状态码送显P2即可。程序如下:MOV A, P2CJNZ A, #0DDH,D1MOV P2, #BDHD1: CJNZ A, BDH,D2MOV P2, #EDHD2: CJNZ A, #EDH,D3MOV P2, #E7HD3: CJNZ A, #E7H,YMOV R2, #DDH4.3.3 LED倒计时显示LED计时每1秒都要刷新1次,那么计时满1秒时就要将存储时间的工作寄存器R4减1,然后送入LED显示程序中显示。下面要将时间数据R4的十位

48、,个位分开送显P1,P0端口,首先将R4除以10,整数即十位放在A中,余数即个位放在B中,设置7段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的首地址,再加上A中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。具体程序如下:MOV A, R4 MOV B, #10DIV A, BMOV DPTR, #LEDMAPMOVC A, A+DPTRMOV P1, AMOV A, BMOVC A, A+DPTRMOV P3, ALEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH4.3.4车流量检测中断服务子程序车流量检测是用外部中

49、断引脚P3.3即INT1捕获到一个低电平,则进入相应的中断服务子程序,在子程序中,用R5计南北向车流量,用R6计东西向车流量,设车向标志位为01H,判断车向,程序如下:JNB 01H, U INC R5U: INC R64.3.5紧停与违规中断服务子程序紧停按键和违规信号传感器均连接到外部中断引脚P3.2,即INT0捕获到一个低电平,则进入该中断,中断程序中先把蜂鸣器P3.4端口置0,启动蜂鸣。并且等待恢复键F键P3.7按下,然后关闭蜂鸣返回。INT0: SETB P0.5 P0.0, $LCALL DELAYCLR P0.5RETI4.3.6红绿灯时间调整程序根据红绿灯时间调整原理,一个周期

50、下来,R5,R6中分别存储着南北,东西的车流量,接下来求单位时间车流量,此时南北向时间,东西向时间分别存储在R0,R1中,则两个方向的流量比例为(R5/R0)/(R6/R1)=(R5*R1)(R6*R0),显然该比例是1左右带小数的值,然而单片机程序中只取整数,重要的数据信息就会丢失,所以本设计中首先将(R5*R1)乘以10,比例就变为10左右的值。将该比例值放在A,然后进行时间调整。由于受到多方面的限制,时间调整在此只划定3个围。比例0到0.7为一个围,0.8到1.5为一个围,1.5以上为一个围。第一围显然表明东西向交通严重,应将时间调长;第二围表明两向相当,可设置一样的时间,第三围表明南北

51、向交通严重,应将该向时间调长。具体设置如下表4.1.南北与东西向比例00.70.81.51.5与以上调整南北向时间203040调整东西向时间403020表4.1 比例与调整时间由表可知,对应的时间调整也只有三种,分别是20,40;30,30;40,20.显然在实际应用中这样简单的处理难以尽如人意,但在此处,本设计只是模拟大致的调整过程,以上要求的程序如下:CJNZ A, #7 M1M2: MOV R2, #20MOV R1, #40SJMP OUTM1: C, M2CJNZ A, #15 N1N2: MOV R0, #30MOV R1, #30SJMP OUTN1: C, N2MOV R0,

52、#40MOV R1, #20OUT: CLR R5CLR R6RET4.3.7消抖动程序另外,在按键计数的过程中,还存在机械抖动与软件方面的矛盾,即当程序检测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起,然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题,可以在检测到首次闭合时,调用一定时间的延时程序。此处延时程序完全用软件完成,利用程序执行一条指令的时间,再加上两次累减嵌套,程序如下:DELAY: MOV R2, #14H A1: MOV R7, #0FFHDJNZ R2, $DJNZ R7, A1RET4.4源程序H_RED BIT P2.1 ;

53、定义IO端口H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_GREEN BIT P2.5L_YELLOW BIT P2.6;主程序,选择设置红绿灯时间模式或自动调整模式ORG 0000HLJMP MAINORG 0003H ;中断入口LJMP INT0ORG 0030HMAIN: MOV R3, #20 ;用于嵌套50ms软件方法计时1sMOV R0, #20 ;预设值红绿灯时间MOV R1, #20CLR EX0K1: MOV C, P3.7 ;等待检测何种模式按键按下ANL C, P3.2 C, K1JNB P3.7, F ;F键按下为自动

54、模式,进入扫描K2: JNB P3.2, S ;S键按下并等待计数次数SJMP K2F: LCALL DELAYMOV R0, #30MOV R1, #30SETB 00HSETB EASETB EX1SJMP STARTS: LCALL DELAYCJNZ R0, #40, V1MOV R0, #20V1: INC R0JNB P0.1, $JNB P3.6, J ;J键按下并等待计数次数SJMP K2J: LCALL DELAYCJNZ R1, #40, V2MOV R1, #20V2: INC R1JNB P3.6, $JNB P3.7, START ;设置完毕为设定时间模式,进入扫描J

55、NB P3.6, JMOV P2, #0DDH ;预设信号灯状态,时间和车向MOV R4, R0SETB 01HSETB EX0;程序开始,进行每50ms扫描START: MOV TMOD, #01HMOV TH0, #3CHMOV TL0, #0B0HCLR TF0SETB TR0 ;开始50ms计时DJNZ R3, Y ;1s是否计时完毕MOV R3, #20DJNZ R4, Y ;本状态是否结束,并进行下一状态设置MOV A, P2CJNZ A, #0DDH,D1MOV P2, #BDHMOV R4, #5D1: CJNZ A, BDH,D2MOV P2, #EDHMOV R4, R1C

56、LR 01HD2: CJNZ A, #EDH,D3MOV P2, #E7HMOV R4, #5JNB 00H, D3LCALL DATAD3: CJNZ A, #E7H,YMOV R2, #DDHMOV R4, R0SETB 01HY: MOV A, R4 ;LED倒计时显示MOV B, #10DIV A, BMOB DPTR, #LEDMAPMOVC A, A+DPTRMOV P1, AMOV A, BMOVC A, A+DPTRMOV P0, ALEDMAP: DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90HJNB 00H, WAIT ;判断是否要计数车

57、流量 P3.3, WAIT ;判断是否有车经过WAIT: JNB TF0, WAIT ;50ms一次扫描完毕SJMP STARTINT1: JNB 01H, U ;判断车向INC R5U: INC R6RETIINT0: SETB P3.4 ;中断服务子程序,闯红灯或紧停按键 P3.7, $LCALL DELAYCLR P3.4RETIDATA: MOV A, R6 ;车流量数据处理与红绿灯时间调整MOV B, R0MUL A, BMOV R6, AMOV A , R5MOV B, R1MUL A, BMOV B, #10MUL A, BMOV B, R6DIV A, BCJNZ A, #7 M1M2: MOV R2, #20MOV R1, #40SJMP OUTM1: C, M2CJNZ A, #15 N1N2: MOV R0, #30MOV R1, #30SJMP OUTN1: C, N2MOV R0, #40MOV R1, #20OUT: CLR R5CLR R6RETDELAY: MOV R2, #14H ;延时程序,用于按键消抖动A1: MOV R7, #0FFHDJNZ R2, $DJNZ R7, A1RETEND程序中部分端口说明:P2 状态灯P0 LED个位P1 LED十位P3

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!