行人过街手动交通灯控制器的设计_第1页
行人过街手动交通灯控制器的设计_第2页
行人过街手动交通灯控制器的设计_第3页
行人过街手动交通灯控制器的设计_第4页
行人过街手动交通灯控制器的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊XX大学行人过街手动交通灯控制器的设计页共34页第1章概述1.1研究背景随着我国国民经济的迅猛发展,城市的经济贸易和社会活动日益繁忙,人员与社会交往日渐增多,使得原本就比较落后的交通基础设施供需矛盾更加突出,交通拥挤问题尤为严重,其中原因之一就是行人和机动车之间的冲突。在现代交通系统中,步行交通系统无论是作为满足人们日常生活需要的一种独立的交通方式,还是作为其他各种交通方式相互连续的桥梁和补充,都是其他方式无法替代的辅助系统。人类的活动还不能完全离开步行这种本能交通,在城市里上班、购物等活动中步行还占有相当大的比重。目前,我国各大中城市都在紧张地进行人行立交设施的规划和建设,完善步行系统,尝试解决人车冲突问题,以期做到“以人为本”、“可持续发展”,但是现有的立交设施都不同程度的存在着问题。主要体现在以下两个方面: (l)大中型城市步行系统基础设施供需矛盾突出,普遍存在过街难的问题,行人车辆混行,事故频发。 (2)穿越马路现象严重。城市交通状况日益复杂,原有的“以车为主、以机动车交通为中心”越来越不能适应现有的交通状况,各种问题凸现出来。在以人为本的城市交通理念下,关于城市道路过街立交设施设置的研究探讨己成为城市交通工程研究者面临的重要课题。目前我国城市步行基础设施建设严重不足,供需矛盾突出,行人过街交通状况混乱,现有城市道路多采取人行横道的方式,虽然交通法规规定,车辆应自觉避让人行横道上的行人,但是对于我国一直以机动车交通为设计中心的现状,人车抢道问题严重,造成行人意识中人行横道概念淡漠,行人过街多随意穿越马路。行人过街行为地点和时间的随意性,使多数路段存在人车混行,行人的安全得不到保障,同时横向步行交通的无规律性,也严重影响车辆的通行速度。这也是我国城市道路上交通混乱与交通事故频发的重要原因之一。现有步行交通问题主要体现在如下几个方面:(1)人车冲突,带来安全隐患,交通事故频发。很多车流量很大,车头间距不能满足过街行人安全穿行需要的路段,无人行立交设施建设,行人通过人行横道或直接穿越,交通混乱,机动车辆严重危及过街行人安全,引发交通事故。(2)人车冲突,交通延误增加,通行能力减小。过街行人与车辆交通的交汇严重影响城市道路路段与交叉口的通行能力。现状路段行人过街一般都无信号控制,行人从车间安全间隔穿越,由于行人穿越的随意性,大量的行人交通横穿道路,大幅度增加了交通延误,甚至造成路段交通暂时性的拥堵、停滞。在有信号控制的路段问题依然存在,右转车辆不避让行人,阻碍行人通过,车辆也易造成拥堵。(3)人车冲突,频繁停车,交通污染严重。机动车辆在行人平面过街处频繁地减速停车和加速时,尾气排放量大幅度增加,其中有害物质的种类和数量也都有所增加,对城市的局部气候造成不利影响。由上面的问题不难看出,现状人行立交设施建设不足,平面横向交通带来的问题严重影响城市交通的发展,也与“以人为本,可持续发展”相抵触,急需对行人过街设施进行大量规划建设。1.2设计的实际目的与意义1.2.1设计的目的设计一个单片机控制的行人过街手动控制交通灯模块的设计,从而锻炼自己的动手能力,深入了解一下交通灯的工作原理。综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,熟练掌握单片机仿真系统的使用方法,达到提高综合应用相关知识的能力,掌握单片机系统设计全部设计过程的目的。 ⑴通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 ⑵通过行人过街手动控制交通灯模块的设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。 实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。因此,在本次设计中采用单片机技术,应用目前广泛应用的汇编语言描述,实现交通灯系统控制器的设计,完成系统的控制作用。 本系统选用AT89C51单片机,配合一些外围电路完成交通控制系统。由于该单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。实现同样的功能,这个方案既简单又经济!该灯控制逻辑可实现3种颜色灯的交替点亮、时间的倒计时,指挥车辆和行人安全通行,实时地控制当前交通灯时间,使LED显示器进行倒计时工作并与状态灯保持同步,可在保证交通安全的前提下最大限度地提高交通效率,而且允许处理紧急情况的发生.由于本设计还有计时调整功能,最大限度提高了本设计的交通灯应用的范围。经PROTEUS仿真模拟的试验,该系统得到了预期的实时控制效果.本论文针对道路交通拥挤、交叉路口经常出现拥堵的情况,利用单片机控制技术,从硬件设计和软件设计两个方面分别介绍通用小型实时交通监控系统的设计方法。1.2.2设计的意义随着社会的发展,人们的消费水平不断的提高,私人车辆不断的增加。人多、车多道路少的道路交通状况已经很明显了。车辆的增加反映出了国家的整体进步,但是也给人民带来了其他的一些负面的影响。我国是13亿多人口的大国,到2006年,全国的机动车保有量超过了8000万,而全国公路通车总里程只有14.8万公里。静态比例为:人均车辆约0.5辆,而人均道路只有0.00011公里;每辆车均道路占有量约为0.002公里;且其中90%的道路属于机动车与非机动车和行人混杂。今后几年机动车辆数字还在急剧增加,道路超负荷承载,致使交通事故逐年增加。因此我们需要开发新型的交通控制系统。随着社会经济的发展,城市化、城镇化进程的加快,道路交通堵塞问题也日趋严重,除了改善道路设施外,如何对交通进行合理的管理和调度也是重中之重。单行道、各种交通灯的诞生都成了有效的措施,已经在国外不少大城市成熟运用的手动按钮行人信号灯近几年也陆续现身于国内各大城市的街头。其出现曾被誉为将根本解决行人在非十字路口没有过街天桥、地下通道的路段顺利过马路问题的通行灯。在国外的马路上,面对川流不息的车辆,想过马路的行人只要在斑马线旁按一下自控式红绿灯按钮,数十秒钟后,机动车道上红灯亮起,车辆停下让行人先过斑马线,等绿灯亮时再启动。若无人过马路时,机动车道上的信号灯长时间亮绿灯,人行横道信号灯为长时间红灯,不影响机动车通行。这一信号灯的诞生无疑对道路交通的有效疏导是一个革命性的进步,手动按钮行人信号灯的首要特点在于手控,它需要行人自己去控制信号灯以实现其价值。手动按钮行人信号灯的诞生被誉为城市文明的产物,其普及程度也几乎等同于城市文明的试金石1.3行人过街设施行人交通是城市交通的重要组成部分,而行人过街设施则是城市交通设施的重要组成部分。然而目前中国重视城市交通系统中的车辆交通,轻视步行交通,对行人交通研究不足,许多城市存在行人过街设施设置不合理的现象,这是导致行人违章穿越街道,造成交通混乱与交通事故的重要因素之一。1.3.1跑道灯当行人步入人行横道时,跑道灯照亮人行横道,汽车驾驶员在将近300米处就能看到。这种系统通常使用在飞机跑道上,故称跑道灯。跑道灯只有在行人通过人行横道时才会亮,所以它既可以提醒行人注意,又能使驾驶员保持警惕状态。在一些国家,这种装置广泛地用于没有交通信号的十字路口和人行横道。1.3.2倒计时灯倒计时灯既可与信号灯配合使用,也可单独使用。其作用是告诉行人和过往车辆距离信号灯变化还有多少时间,以便做出准确地判断,同时也避免了因犹豫不决而造成的心理恐慌。倒计时灯的形式多种多样,既可以用计数器显示,也可以用进展条、饼形图等形式显示。我国一些城市也已经安装了这种倒计时灯。

第2章系统设计方案2.1系统总体方案交通灯在工作时应具有如下特点:红灯亮表示该条道路禁止通行;黄灯亮表示该条道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯亮表示该条道路允许通行。通过老师的辅导,在规定的时间内完成行人过街手动控制交通灯模块的设计。该行人过街手动交通灯模块的设计能够进行正常的交通模拟,能够在行人要过马路的情况下作出适当的处理,能够在车流特别拥挤的情况下使人顺利通行。(1)A道没有人要经过的时候,B道上车辆可以一直行驶,B道一直显示绿灯。(2)当A道有行人要经过的时候,在行人按键(实验时用开关K0、K1控制)15秒后交通灯显示开始变化,变成绿灯后行人可以经过,给行人过路的时间设为30秒。(3)绿灯转换为红灯时黄灯亮15秒钟。2.2硬件设计2.2.1单片机简介单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。1971年,Intel公司和日本的商业通信公司研发了微处理器。微处理器、存储器加上I/O接口电路组成微型计算机,微型计算机开始走上历史舞台。2.2.2单片机发展的三大阶段 单片机经历了SCM、MCU、SoC三大阶段。 (1)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。

(2)MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。

Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。 (3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。2.2.3单片机的发展趋势目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。(1)CMOS化近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。(2)低功耗化单片机的功耗已从Ma级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。低电压化几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在3~6V范围内工作。低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。(3)低噪声与高可靠性为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。(4)大容量化以往单片机内的ROM为1KB~4KB,RAM为64~128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。(5)高性能化主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(MillionInstructionPerSeconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。(6)小容量、低价格化与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。(7)外围电路内装化这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。(8)串行扩展技术在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(OneTimeProgramble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是IC、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将列强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS–51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。2.2.4单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:单片机在智能仪器表中在应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。单片机在机电一体化中的应用

机电一体化是械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。单片机在实时控制中的应用

单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。单片机在分布式多机系统中的应用

在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。单片机在人类生活中的应用

自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。2.2.6本设计中所用单片机AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.7AT89C51的主要特性主要特性:·8031CPU与MCS-51兼容·4K字节可编程FLASH存储器(寿命:1000写/擦循环)·全静态工作:0Hz-24KHz·三级程序存储器保密锁定·128*8位内部RAM·32条可编程I/O线·两个16位定时/计数器·6个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路

2.2.8AT89C51引脚排列及功能管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口特殊功能如表2-1所示:表2-1P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)2.2.9AT89C51最小系统电路单片机最小系统是指没有外围器件及外设接口扩展的单片机应用系统,包括以下几个部分(1)最小系统选择单片机处理器选择ATMEL公司的微处理器89C51,具备4KB的FlashMemory,128B的RAM,32个I/O口,2个16位的定时/计数器,6个中断源。(2)时钟电路设计时钟电路设计采用内部时钟方式,在单片机的XTAL1和XTAL2端外接振荡频率为12MHz的石英晶体作为定时元件。(3)复位电路设计单片机的复位电路采用上电复位方式,在/RST上端接一去耦电容,防止因干扰窜入复位端引起的寄存器错误复位。AT89C51最小系统图如图2-2所示:图2-2AT89C51最小系统图图2-2为单片机AT89C51的最小系统电路图。图中AT89C51采用的是内部时钟电路,单片机外部接12MHz晶振作为定时元件。复位电路使用的是上电复位方式。

2.3主电路模块简介 系统硬件电路如图3-1所示图3-1系统硬件电路(1)系统设计所用器件:AT89C51,共阳LED显示器,电阻若干,74LS373(带三态门的8D锁存器),电容、三种颜色(红、绿、黄)的LED(用来模拟交通灯的三种状态),开关,晶振(12MHz)、共阳LED显示器,用来显示延时的时间。 (2)器件简单介绍①共阳LED显示器7段LED由7个发光二极管按“日”字形排列,本电路中所有发光二极管的阳极连在一起,一般情况下应外接限流电阻。②发光二极管信号灯采用超高亮度发光二极管开发的道路交通灯。LED应用简单、可靠性高、成本低。LED显示方式为共阳极动态显示方式。③74LS373简要说明:373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构型式。373的输出端O0~O7可直接与总线相连。当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,输入端的数据锁存入O0~O7当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。引出端符号:D0~D7数据输入端OE三态允许控制端(低电平有效)LE锁存允许端O0~O7输出端极限值:电源电压:7V输入电压54/74S373:5.5V54/74LS373:7V输出高阻态时高电平电压:5.5V工作环境温度54XXX:-55~125℃74XXX:.0~70℃存储温度:-65~150℃2.4AT89C51电路各功能模块的设计(1)采用AT89C51微处理器为核心器件AT89C51片内数据存储器(RAM)空间为128B;片内程序存储器(ROM)空间为4KB。本系统所用到的数据单元不多,系统程序所占的空间也不大,利用AT89C51片内的RAM与ROM就足够,不用外扩数据存储器与程序存储器。(2)AT89C51振荡电路的设计本系统采用内部时钟方式。外接石英晶体,电容C1与C2的值为30PF左右;如果外接陶瓷谐振器,电容C1与C2的值为47PF左右。在实际设计中采用的是外接晶体的方式。为提高温度的稳定性采用温度稳定性较好的电容,晶体频率在1.2MHz—12MHz之间[3]。(3)AT89C51复位电路的设计系统采用的是按键复位的方式。按下键后,通过R5形成回路,使RESET端产生高电平。(4)时间显示LED是由发光二极管组成的显示字符段,一般为七段数码显示管(含小数点为八段)。这些显示二极管的一端连接在一起,形成公共端,另外的端子a~g、dp则通过引脚与外部总线相连,通过对公共端与输入端施加一定的电压,点亮其中的一些发光二极管来构成需要的显示字符。用LED显示红、黄、绿灯延时时间的倒计时,给行人和车辆以提示。采用并行输入静态显示的方法,4位并行输入静态数码显示电路,数码管选用共阳的LED,数据锁存器选用74LS373地址锁存信号采用线进法,将4路的地址锁存信号分别按至P2.0P2.1P2.2P2.3。(5)按键设置两个按键实现功能相同,采用软件查询方法,判断按键是否按下。当P3.2为高电平(初始化,把P3.2清零),才判为按下。(6)信号灯的设置P1口接红、黄、绿三色LED。为简化电路,各个路口红、绿、黄信号灯的控制使用与倒记时显示采用相同的电路,灯亮时送全亮代码,灯灭时,送灭代码。2.5硬件系统功能原理在我设计的行人过街手动控制模块的设计中是利用p1口作为红黄绿灯信号的控制口,即p1.0,p1.2,p1.1分别控制A通道上面的(下文也以南北方向代替)红黄绿灯信号,p1.3,p1.5,p1.4分别控制B通道下面(下文也以东西方向代替)的红黄绿灯信号,p0口作为驱动电路的输入,p2.0,p2.1,p2.2,p2.3作为锁存器74LS373输入锁存信号的控制端,p3.2作为按钮信号的输入端。我们采用上电+按钮复位的方式。一开始A通道绿灯亮,B通道红灯亮,当单片机通过软件检测的方法判断到按键按下时,A道黄灯亮,B道依然是红灯亮;15秒后,A道红灯亮,B道绿灯亮。延时20秒后,A道仍然是红灯亮,B道黄灯亮;延时10秒后,回到初始状态,A道绿灯亮,B道红灯亮。

人行道与行车道的交接处如图3-4所示:图3-4人行道与行车道的交接处行车道行车道行车道人行道人行道 交通灯状态图如表3.3所示:表3-3交通灯状态图状态北西南东绿黄红绿黄红绿黄红绿黄红0100001100001101000101000120011000011003001010001010 1)注:其中,1代表灯亮,0代表灯灭 程序不仅显示子程序,而且还要查键,看是否按下。在处理按键时,因为按键的一次动作不仅包含按下,还包含弹开,所以在处理按键,我不仅考虑按下,还考虑弹开,当可靠按下,一边调显示子程序,一边等待键松开,当可靠松开后,仍在运行子程序。这样每按下一次键只会有一次动作,而且就是键被按下松开,也不会出现数码管没有显示的现象。

第3章软件系统设计3.1设计中所用到的编程语言3.1.1KeilC51简介C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。目前,C语言已是单片机应用系统的主流编程工具,它具有代码可靠性高,可移植性好,易于维护的特点.特别是德国KEIL公司推出功能强大的基于WINDOWS平台的51系列单片机集成开发工具μVision之后,这一趋势越发明显.采用C语言几乎可以完成江编语言的所有工作,可以大在提高程序的开发效率。(1)\o"返回页首"C语言的优点①简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。②运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。③数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。④C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。⑤C语法限制不太严格,程序设计自由度大

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。6.C语言允许直接访问物理地址,可以直接对硬件进行操作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。7.C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ20%。8.C语言适用范围大,可移植性好

C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。KeilC51交叉编译器是一个基于ANSIC标准的针对8051系列MCU的C编译器,生成的可执行代码快速、紧凑,在运行效率和速度上可以和汇编程序得到的代码相媲美。和汇编语言相比,用C语言这样的高级语言有很多优势,比如:对处理器的指令集不必了解,8051CPU的基本结构可以了解,但不是必须的。寄存器的分配以及各种变量和数据的寻址都由编译器完成。程序拥有了正式的结构(由C语言带来的),并且能被分成多个单独的子函数。这使整个应用系统的结构变得清晰,同时让源代码变得可重复使用。选择特定的操作符来操作变量的能力提高了源代码的可读性。可以运用和人的思维很接近的词汇和算法表达式。编写程序和调试程序的时间得到很大程度的缩短。C运行连接库包含一些标准的子程序,如:格式化输出,数字转换,浮点运算。由于程序的模块结构技术,使得现有的程序段可以很容易的包含到新的程序中去。ANSI标准的C语言是一种丰常方便的,获得广泛应用的,在绝大部分系统中都能够很容易得到的语言。 因此,如果需要,现有的程序可以很快地移植到其他的处理器上,节省投资。(2)软件开发流程①创建一个项目,从器件库中选择目标器件,配置工具设置。②用C语言或汇编语言创建源程序。③用项目管理器生成你的应用。④修改源程序中的错误。⑤测试,连接应用.3.1.2汇编语言简介汇编语言(AssemblyLanguage)是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言”作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言编译器把汇编程序翻译成机器语言的过程称为汇编。

汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。(1)汇编语言的特点:①面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。②保持了机器语言的优点,具有直接和简捷的特点。③可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。④目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。⑤经常与高级语言配合使用,应用十分广泛。(2)汇编语言的应用:①70%以上的系统软件是用汇编语言编写的。②某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。③某些高级绘图程序、视频游戏程序是用汇编语言编写的。人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。

所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。

汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。3.1.3KeilC51与汇编语言的接口 编程过程中,可以很容易在C程序中调用汇编程序,反之亦然。函数参数通过CPU寄存器传递,或使用NOREGPARMS参数指示编译器通过固定的存储器传递。从函数返回的值总是通过CPU寄存器传递。除了直接产生目标代码外,你还可以用SRC编译参数指示编译器产生汇编源代码文件(供A51 汇编器使用)。例如下面的C语言源代码: unsignedintasmfunc1(unsignedintarg) { return(1+arg); } 用SRC指示C51编译器编译时产生以下汇编文件: ?PR?_asmfunc1?ASM1 SEGMENTCODE PUBLIC asmfunc1 RSEG ?PR?_asmfunc1?ASM1 USING0 asmfunc1: ;Variable'arg?00'assignedtoRegister'R6/R7' MOVA,R7 ;loadLSBoftheint ADDA,#01H ;add1 MOVR7,A ;putitbackintoR7 CLRA ADDCA,R6 ;addcarry&R6 MOVR6,A ?C0001: RET ;returnresultinR6/R7 可以用#pragmaasm和#pragmaendasm预处理指示器来在C语言程序中插入汇编指令。3.2主要程序与流程交通信号灯控制系统的程序流程如图4.1所示:图4.1交通信号灯控制系统的程序流程由初始状态状态(行车道一直是可以行走车的),A道(行车道)显示绿灯,B道(人行道)显示红灯,如果没有人按键,就继续显示初始状态;当有人按键的时候A道变为黄灯车辆还可以继续行驶,B道仍是红灯;经过15秒后,A变为红灯B道变为绿灯此时行人可以安全通过;在经过20秒后,A道变成红灯B道显示仍为黄灯此时行人还可以在10秒内通过;10秒后反回初始状态,即A道显示绿灯B道显示红灯,直至在下次有人按键之前的时候,如果有再次有人按键则执行以上程序。下面我解释一下程序里的延时采用的方法是:先以15秒为例,分别把15送入寄存器R3、R4中,调用DISPLAY显示函数,在执行DISPLAY的同时嵌套调用延时函数。每当执行一次延时函数,R3、R4的值减一直至为零,实现延时15秒,同时完成倒计时显示15秒的功能。这时A车道显示变为红灯,B道显示变为绿灯。20秒延时和10秒延时的功能也是和这个一样实现的。3.3各主要部分的软件设计3.4Proteus软件仿真图4.2A道显示绿灯,B道显示红灯如图4.2所示:此时状态为初始状态,也就是没有行人按键的时候,行车道一直显示绿灯,人行道的显示为红灯。图4.3A道显示黄灯,B道显示红灯如图4.3所示:当有行人按键的时候,行车道由红灯转换为黄灯,黄灯亮15秒。人行道的显示仍为红灯此时车辆还可以通过。图4.4人在按键15秒后的显示图如图4.4所示:经过15秒后行车道变为红灯,人行道显示为绿灯。此时行人可以安全通过。

图4.5人在按键30秒后的显示图如图4.5所示:经过30秒后行车道变为绿灯,人行道显示为红灯。

结论通过这次交通信号灯控制系统的制作,我看到了知识和应用之间的差距。通过这次的训练,我对单片机的I/O口的使用,对单片机的各个管脚功能的理解都加深了,对编程设计思路也有了很多的认识。我不但将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事,使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。最终,在老师的指导和同学们的帮助下,这个设计比较成功。这对我以后参加工作或者继续学习将会产生巨大的帮助和影响。实践是一笔财富。一分付出,一分收获,有付出,就一定会有收获。在仿真实践中可以学到在书本中学不到的知识,它让我开阔了视野,有助于我们更新观念,吸收新的思想与知识。一晃而过的单片机毕业设计,让我从中领悟到了很多的东西,而这些东西将让我终生受用。致谢经过几个月的忙碌和学习,本次毕业论文设计已经接近尾声。作为一个本科生的毕业设计,由于经验和相关知识的匮乏,难免有许多考虑不周全的地方,如果没有指导教师的的督促指导,想要完成这个设计是难以想象的。在这里首先要感谢我的论文指导老师XXX老师。李老师平日里工作繁多,但在我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。除了敬佩李老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。最后还要感谢大学四年来所有的任课老师,是在他们的教诲下,我掌握了坚实的专业知识基础,为我以后的扬帆远航注入了动力。

参考文献[1]杨凌霄.微机原理.中国矿业大学出版社.2000[2]余发山.单片机原理及应用技术.中国矿业大学出版社.1996[3]张迎春.单片机中级教程.北京航空航天大学.2004[4]付家才.单片机控制工程实践技术.化学工业出版社.2004.5[5]余锡存.单片机原理及应用技术.西安电子科大出版社.2000.7[6]尹念东.单片机基础实用教程.中国地质大学出版社.1999[7]李广弟.单片机基础.北京航空航天大学.1996[8]姚君遗.汇编语言程序设计.南京大学出版社.1995[9]沈美明.汇编语言程序设计.清华大学出版社.1991[10]顾淑平.微机原理及MCS-51单片机应用.北京煤炭工业出版社.1991[11]MotorolaInc.MC68HC11ReferenceManual.1991[12]MuhammadAliMazidiJaniceGikispieMazidi.The80x86IBMPCandCompatibleComputers.清华大学出版社.1998[13]徐爱均彭秀华.单片机高级语言编程与应用实践.北京电子工业出版社.2004[14]深圳市计算机行业协会年.全国单片机与嵌入式系统学术交流会论文集.北京:北京航空航天大学出版社.2005[15]钱能C++程序设计教程.[M].北京:清华大学出版社.2002[16]马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社1999.[17]魏连雨,中国城市交通系统现状及发展对策,交通工程,1997,2[18]张锦,高世廉,蒲云,中国城市道路交通控制系统发展研究,西南交通大学学报,1997,32,44-49[16]刘红军城市交通监控系统分析与研究,[硕士学位论文],武汉,武汉理工大学,2003[17]冯蔚东贺国光,刘豹,交通流理论评述,系统过程学报,2000,13(3)[18]王明棋交通流理论的研究进展,力学进展,1999,25(3),15-17[19]杨晓光行人交通控制信号设置方法研究,中国公路学报,2001,第14卷第1期,69-73[20]ATMEL.8bitMicrocontrollerwith4KBytesInSystemProgrammableFlashAT89C51.2001[21]RichardStevensW.TCP/IPIllustratedVolume1:theProtocol[Z].AddisonPublishingCompany,1994.[22]DromsR,BoundJ,VolzB,etal.DynamicHostConfigurationProtocolforIPv6(DHCPv6)[Z].draftietfdhcdhcpv6附录A程序代码#include<reg51.h>#defineuintunsignedint#defineuintunsignedint#defineucharunsignedcharsbit Ared=P1^0;sbit Agreen=P1^1;sbit Ayellow=P1^2;sbit Bred=P1^3;sbit Bgreen=P1^4;sbit Byellow=P1^5;sbitrequest=P3^7;sbitconvert=P3^6;sbitvehicle=P3^5;sbitwalkway=P3^4;sbitA10=P2^0;sbitA1=P2^1;sbitB10=P2^2;sbitB1=P2^3;ucharnum;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,};voiddelayms(uintxms){ uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}voidautomation(){ Agreen=1; Bred=1; delayms(30); if(request==0) { Agreen=0;

温馨提示

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

评论

0/150

提交评论