




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计〔论文〕报告题目智能交通信号灯机电工程学院〔系〕电气工程及其自动化专业学号100616036学生姓名@@@@@@@@@指导教师@@@@@@@起讫日期2014.1——2014.5设计地点@@@@@@@学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得井冈山大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何奉献均已在论文中作了明确的说明并表示了谢意。论文作者签名:日期:2014年 5月 14日学位论文使用授权声明井冈山大学有权保存本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布〔包括刊登〕论文的全部或局部内容。论文的公布〔包括刊登〕授权井冈山大学教务处办理。论文作者签名:导师签名:日期:年月日日期:年月日摘要交通灯是现代交通非常重要的一个组成局部,一套好的交通灯系统往往对提升城市交通运输效率,降低事故发生率有至关重要的影响。本系统由单片机系统、双电源供电系统、交通灯演示系统、中断系统组成。选用单片机作为此次设计的控制系统主要是考虑到单片机的通用性和廉价性。通用性是指单片机的电路以及编程语言相比照其他控制模块来说更加简单和通用,廉价性是单片机相对于其他的控制模块来说本钱更低,一块成熟的STC89C52的本钱不过10元,加上其他的外围电路本钱也不超过100元,无论是开发本钱和维护本钱都能够得到很好的控制。本设计选用STC89C52主要也就是基于上述的两个原因。本交通灯系统选用了LED灯和双位数码管来模拟显示的交通灯。两种状态,一种正常十字路口红绿灯智能转换,一种紧急情况〔交通意外或者领导巡查经过〕。八个按键,一个系统复位按键,一个紧急键,一个设置按键,一个确认按键,一个南北通行时间加,一个南北通行时间减,一个东西通行时间加,一个东西通行时间减〔通行时间可通过按键设置〕。2个两位数码管显示剩余时间,12个LED指示灯,红色灯停止指示灯,绿色灯为通行指示灯,黄色灯闪烁为提醒过线车辆平安经过未过线车辆停止继续前进指示灯。按下设置按键,经过按键加减可设置车辆通过时间,按下确认按键可确认设置。当遇到特殊情况〔如领导巡查经过〕时,按下紧急键,东西南北均为红灯,等待领导经过,经过后按下确认按键可解除紧急情况显示,进入按下按键前状态继续显示。关键词:单片机;STC89C52;交通灯;分时系统ABSTRACTTrafficlightsisacomponentofthemoderntransportationisveryimportant,agoodsetoftrafficlightssystemtendtoimproveurbantransportationefficiency,reducetheaccidentratehascrucialeffect.Thissystembysinglechipmicrocomputersystem,thedualpowersupplysystem,trafficlightsofthedemosystem,interruptsystem.Choosesinglechipmicrocomputerasthecontrolsystemforthisdesignismainlyconsideringtheuniversalityandcheapofthemicro-controller.Versatilityreferstothecircuitandsingle-chipmicrocomputerprogramminglanguagerelativelyismoresimpleandgeneralthanothercontrolmodules,cheapsexissinglechipmicrocomputerrelativetootherlowercostcontrolmodule,amatureSTC89C52cost10yuanonly,andotherperipheralcircuitcostsarelessthan100yuan,bothindevelopmentcostsandmaintenancecostscanbeverygoodcontrol.ThisdesignchoosesSTC89C52mainlyisbasedontheabovetworeasons.ThistrafficlightsystemUSESLEDlightsandon-offdigitaltoanalogdisplayoftrafficlightswitchingstate.Twokindsofstate,akindofnormalintersectiontrafficlightsintelligenttransformation,anemergency(trafficaccidentorleadingsearchthrough).Eightkey,asystemresetbutton,anemergencybuttonandaSettingsbutton,aconfirmationkey,addanorth-southtraffictime,anorthandsouthpassageoftime,apassageoftime,apassageoftimereduction(passageoftimecanbesetupthroughthebuttons).2twodigitaltubedisplaytheremainingtime,12LEDlights,redlightstoplights,greenlightsforthetrafficlights,yellowlightsflashtoremindthelinewithoutalineofvehiclesisvehiclesafetylightstoptomoveon.Pressthesetkey,aftercanbesettoaddandsubtractvehiclesthroughtime,presstheconfirmbuttontoconfirmSettings.Whenspecialcircumstances(suchasleadingpatrolpassed),presstheemergencybutton,northandsouth,eastandwestarearedlight,waitingfortheleadership,maybedischargedafterpresstheconfirmbuttonaftertheemergencysituation,accordingtoenterthestatecontinuetoshowbeforepressthebutton.Keywords:singlechipmicrocomputer;STC89C52;Thetrafficlight;Time-sharingsystem目录22172第1章绪论1309971.1交通灯的历史和现状19931.2单片机相关介绍171101.3课题意义315974第2章课题内容和实现状态47691第3章系统设计 5218253.1交通灯5263993.1.1相位的概念规那么方案574793.1.2交通灯状态5167103.1.3上下峰分时管理机制 796733.2软件设计 8233263.3硬件设计局部8214273.3.1单片机系统 873343.3.2交通灯演示系统 15297973.3.3中断系统 15136513.4其它硬件介绍八段LED数码管1614905第4章原理图1820345第5章系统调试19158425.1软件调试19241765.2断电调试19276085.3通电调试1979595.4根本要求局部的测试与分析 2014561结论2116162参考文献 229970致谢 2324438附录241793附录A仿真图2431310附录B交通灯程序262826附录C元器件清单35HYPERLINK第1章绪论1.1交通灯的历史和现状当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能发觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能平安停车时可以进入交叉路口。本设计的单片机控制交通灯就是基于信号灯。1.2单片机相关介绍单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的根本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3代的开展,目前单片机正朝着高性能和多品种方向开展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。本设计选用了市面上较为常见的STC89C52单片机,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52的管脚图如图1.1所示。图1.1STC89C52管脚图1.3课题意义使用单片机作为本设计的控制方案主要是考虑到其低廉的本钱和易学易用的特性,相较于类似ARM这类性能更为强大的控制方案,单片机的性能并非其优势所在。但是如何充分利用单片机已有的功能进行最大化的开发才是本设计的重点。总的来说,本设计意义有如下4个方面:1、对单片机这一成熟的解决方案在交通灯领域的应用进行研究和开发;2、探究分时管理系统在交通灯系统中的应用,对分时管理系统的C语言算法进行开发。举一反三,延伸到其他类似领域的应用。3、探究全新的交通灯管理系统;第2章课题内容和实现状态2.1课题内容本课题的主要内容包括如下几个方面:1、设计交通灯状态的管理方案;2、设计单片机最小系统和周边电路;3、设计交通灯系统、中断系统的电路结构;4、设计整个系统的电路分布和接线;5、使用C语言编写整个系统运行所需要的程序,重点是分时管理系统和紧急中断系统的程序。2.2实现状态两种状态,一种正常十字路口红绿灯智能转换,一种紧急情况〔交通意外或者领导巡查经过〕。八个按键,一个系统复位按键,一个紧急键,一个设置按键,一个确认按键,一个南北通行时间加,一个南北通行时间减,一个东西通行时间加,一个东西通行时间减〔通行时间可通过按键设置〕。2个两位数码管显示剩余时间,12个LED指示灯,红色灯停止指示灯,绿色灯为通行指示灯,黄色灯闪烁为提醒过线车辆平安经过未过线车辆停止继续前进指示灯。按下设置按键,经过按键加减可设置车辆通过时间,按下确认按键可确认设置。当遇到特殊情况〔如领导巡查经过〕时,按下紧急键,东西南北均为红灯,等待领导经过,经过后按下确认按键可解除紧急情况显示,进入按下按键前状态继续显示。HYPERLINK第3章系统设计HYPERLINK3.1交通灯本设计的交通灯以十字路口为模型,在实现根本的功能前提下增加了上下峰分时管理机制和人工干预机制。HYPERLINK3.1.1相位的概念规那么方案为保证交通系统的严谨性和公平性,本设计规定“相位”概念。相位的定义如下:在单个十字路口,整个状态周期每个绿灯亮起的时间为一个固定值。相位的意义在于在一个循环状态周期内,根据每个路口车流量大小可以分配适时适当的绿灯时间以保证时间的充分利用,保证车流大的干道可以通过足够多的车辆,车流小的干道不用浪费时间。从总体上提升系统的效率。HYPERLINK3.1.2交通灯状态为方便说明交通灯状态,交通灯系统的示意图如图3.1所示。如图3.1,交通道路系统是由常见的双车道加人行道组成,由南向北行驶的车辆所看的交通灯是北路口的车行道交通灯,由北向南的车辆所看的交通灯是南路口的车行道交通灯,由西向东行驶的车辆所看的交通灯是东路口的车行道交通灯,由东向西行驶的车辆所看的交通灯是西路口的车行道交通灯。图3.1交通灯示意图现规定如下状态:S1:南北方向车辆通行,东西方向禁行,东西方向人行道通行、南北方向人行道禁行。S1状态如图3.2所示。图3.2S1状态示意图S2:东西方向车辆通行,南北方向禁行,南北方向人行道通行、东西方向人行道禁行。S2状态如图3.3所示。图3.3S2状态示意图图3.4S3状态示意图S3:全红灯,紧急事件状态。S3状态如图3.4所示。HYPERLINK3.1.3上下峰分时管理机制本设计为提升交通灯系统效率,设置了上下峰分时管理机制。上下峰分时定义如下:顶峰时段:8点到10点,一般为上班上学出行的顶峰期,18点到20点,一般为下班放学出行顶峰期,此时主干道车流量高于次干道的车流量;低峰时段:除顶峰时段的其他时段。在顶峰时段,采取增加主干道绿灯通行时间,减少次干道绿灯通行时间以最大限度的通过车辆。在低峰时段,采取减少主干道绿灯通行时间,增加次干道绿灯通行时间以平衡通过车辆。上下峰时段状态如表3.1所示。表3.1上下峰时段状态表时期S1S2低峰时期南北向车行道绿灯时长15s东西向车行道绿灯时长20s顶峰时期南北向车行道绿灯时长25s东西向车行道绿灯时长30s在发生突发事件的时候启动紧急状态S3,全部红灯亮。这种状态主要适用于例如救护车,军车执行任务时候使用。HYPERLINK3.2软件设计在本次设计中,采用了C语言作为程序编程的语言。相较于C语言,汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,本设计在编程的时候选择了C语言。本设计在编程环境上也选择了KeilμVision2.0。这款软件支持众多不同公司的MCS51架构芯片,它集编辑、编译、仿真为一体,同时还支持PLM、汇编和C语言的程序设计,界面友好、简单易学,在调试程序。软件仿真方面都有很强大的功能。在初期的软件调试阶段,KeilμVision会提供非常便利的环境。在没有突发事件按钮和上下峰切换按钮都没有按下时交通灯的执行预定方案。HYPERLINK3.3硬件设计局部根据本设计交通灯的模型和实现的功能,硬件局部可以分为以下两个大的系统:单片机系统、交通灯演示系统、中断系统。整个系统的硬件架构图如图11。HYPERLINK3.3.1单片机系统STC89C52是一种带8K字节闪烁可编程可檫除只读存储器〔FPEROM-FlashProgramableandErasableReadOnlyMemory〕的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下列图3.5:图3.5单片机总控制电路1.时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。〔a〕内部方式时钟电路〔b〕外部方式时钟电路图3.6时钟电路交通灯设计的时钟电路如图3.7所示。时钟电路中最为重要的就是晶振,晶振的作用是为系统提供根本的时钟信号。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。图3.7最终设计交通灯的时钟电路图通常一个系统共用一个晶振,便于各局部保持同步。晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个根底上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。2.复位及复位电路〔1〕复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些存放器有影响,它们的复位状态如表3.2所示。表3.2一些存放器的复位状态存放器复位状态存放器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H〔2〕复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。假设使用颇率为6MHz的晶振,那么复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.8所示:图3.8复位信号的电路逻辑图整个复位电路包括芯片内、外两局部。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的;而按键脉冲复位那么是利用RC微分电路产生的正脉冲来实现的,图3.9最终设计的复位电路图单片机复位后各存放器的状态:A=00H,说明累加器已被清零;PSW=00H,说明选存放器0组为工作存放器组;SP=07H,说明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后压法那么,第一个被压入的内容写入到08H单元中;Po-P3=FFH,说明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;IP=×××00000B,说明各个中断源处于低优先级;IE=0××00000B,说明各个中断均被关断;上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。STC89C52具体介绍如下:主电源引脚〔2根〕VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线外接晶振引脚〔2根〕XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚〔4根〕RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平那么从内部程序存储器读指令。可编程输入/输出引脚〔32根〕STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位〔8根引脚〕,共32根。PO口〔Pin39~Pin32〕:8位双向I/O口线,名称为P0.0~P0.7P1口〔Pin1~Pin8〕:8位准双向I/O口线,名称为P1.0~P1.7P2口〔Pin21~Pin28〕:8位准双向I/O口线,名称为P2.0~P2.7P3口〔Pin10~Pin17〕:8位准双向I/O口线,名称为P3.0~P3.7STC89C52主要功能如表3.3所示。表3.3STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能本设计单片机主要是用于控制交通灯的演示系统,故只需要单片机最小系统即可完成。单片机的最小系统是指能够驱动单片机工作的最小电路。此电路由单片机、时钟电路、电源、复位电路4个组成局部组成。图3.12为单片机最小电路的电路图。其中,单片机复位电路原理是在单片机的复位引脚rst上外接电阻和电容,实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。图3.10主程序流程图图3.11系统总架构图图3.12STC89C52最小系统图HYPERLINK3.3.2交通灯演示系统根据功能,交通灯的演示系统从功能上那么分为:倒计时电路、红绿灯功能电路。倒计时电路主要是由双位共阴数码管组成,控制信号通过单片机的端口P1口进行信号的传输。倒计时电路负责的是显示红绿灯持续显示的时间。当绿灯或者红灯持续显示时,数码管显示该状态的持续时间,在黄灯闪烁显示时,起到倒计时秒数的作用。HYPERLINK3.3.3中断系统中断系统主要是负责上下峰方案和紧急方案的切换。3.4其它硬件介绍八段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阳极连在一起,如图3.13所示。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的上下电平来加以控制。为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。图3.13LED数码管LED灯的显示原理:通过同名管脚上所加电平的上下来控制发光二极管是否点亮而显示不同的字形,如dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如下表3.4所示。表3.4驱动代码表显示数值dp,g,f,e,d,c,b,a驱动代码011010000C0H111111001F9H210100100A4H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。LED8段数码管的设置为每个方位上的一对2为显示器。四个方位上总共用8个LED接在单片机的IO口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的IO口是对称的。如图3.14所示,其中A,B分别是P0,P1的网络标号。图3.14LED连接图原理图电路实现的功能有两种状态,一种正常十字路口红绿灯智能转换,一种紧急情况〔交通意外或者领导巡查经过〕。八个按键,一个系统复位按键,一个紧急键,一个设置按键,一个确认按键,一个南北通行时间加,一个南北通行时间减,一个东西通行时间加,一个东西通行时间减〔通行时间可通过按键设置〕。2个两位数码管显示剩余时间,12个LED指示灯,红色灯停止指示灯,绿色灯为通行指示灯,黄色灯闪烁为提醒过线车辆平安经过未过线车辆停止继续前进指示灯。按下设置按键,经过按键加减可设置车辆通过时间,按下确认按键可确认设置。当遇到特殊情况〔如领导巡查经过〕时,按下紧急键,东西南北均为红灯,等待领导经过,经过后按下确认按键可解除紧急情况显示,进入按下按键前状态继续显示。第5章系统调试5.1软件调试在proteus仿真软件设计电路的时候,连线总是不够熟练,在一次次又一次的实践中,开始对proteus软件熟悉,并能熟练的找到各个芯片,在连接电路图的时候也能较容易的布线。在输入仿真程序的时候,有时候总不会出现自己设计的效果,在检查的时候,发现程序编写上有问题,在内容上也有一些小的问题,Proteus仿真软件用来画硬件电路原理图,在其中我们可以同时调用各样的单片机,但是其中存放的是普通的单片机可能不存在我们所要的芯片,因此我们也可以用protel99来画此硬件电路图,而我在此次设计中采用了Proteus这个软件。在画图过程中一定要注意的是,元器件之间的连接线不可以是非线一定要导线,因此完成电路图后再调试这个硬件电路是否能实现它的功能。具体的操作是翻开电路原理图后双击单片机芯片在弹出的对话窗口中把我们在keil编译软件中编译生成的后缀名为.hex文件调入其中,而该单片机的工作时钟频率我们可以在此改变,设置好后点击OK就可以了,再点击原理图左下角的运行就可以正常运行了,假设要暂停或是恢复那么点击相应的按钮就好了。Keil编译软件用来编程,可以用汇编语言也可以用C语言来进行编程实现某些功能。当翻开keil后,首先新建一个工程保存在相应位置,后再新建一个文本,将你已经编好的程序复制到这个文本中或是在这个文本进行编写程序,之后一再将其保存为一个以.Asm或是.c作为后缀名的文本,再在我们建立的组中将程序文件添加到工程中,再经过编译,然后生成.hex文件再编译,假设提示没有出现错误errors〔不含警告warnings〕那么说明调试成功,反之那么应该对程序进行检查分析,直到调试成功为止。5.2断电调试为平安起见,防止硬件烧坏,首先进行断电调试,用万用表检测系统是否有短路现象,再检查严原理是否正确,各个线路的电平是否正常。经检测,未出现短路现象以及各个电平都正常。HYPERLINK5.3通电调试1、检查系统时钟是否正常工作,用万用表直流电压档测量XTAL1与AXTAL2两端间的电压,检测到电压假设为2.5V左右,那么视为正常工作。2、检查复位电路是否正常工作。3、检查数码管显示是否正常。HYPERLINK5.4根本要求局部的测试与分析1、系统上电后,显示交通灯根本状态,按中断按键,中断正常,直接进入S3状态,按复位按键,整个系统复位成功。2、按设置键,按下设置按键,经过按键加减可设置车辆通过时间,按下确认按键可确认设置。在顶峰期时间设置长一些,在低峰期时间设置的短一些。3、在未进行任何的中断和复位操作时,交通灯按照预定流程进行。结论本文探究了单片机在当今智能交通方面的应用。相对于其他解决方案来说,单片机具有本钱低廉,通用性高,维护简单,软件灵活,成熟度高等优势。但是,单片机开展到现在也有存储空间较小、下游方案较少等局限性。本设计在实现相应功能的时候主要是考虑到现有的条件,采用成熟度高的STC89C52作为CPU的解决方案,同时用LED灯和双位数码管作为显示模块,软件那么使用了移植性好的C语言。从功能需求上来看,已经能够满足实际需要。供电方案也采用了现在热门的双电源供电,电路结构简单,可靠性高,从一定程度上解决了实际中可能出现的由于电源引发的问题。上下峰分时管理方案作为灵活的交通灯状态方案,对提高交通运输系统的运行效率也有很大的帮助。单片机作为已经开展了30年的成熟产品,很多优势正在逐渐失去,让位于更加先进的芯片解决方案。但是作为成熟方案还是在很多领域能够发挥作用。HYPERLINK参考文献[1]谭浩强.2005.C程序设计〔第三版〕.北京:清华大学出版社.95-104.[2]肖金球.2004.单片机原理与接口技术.北京:清华大学出版社.210-230.[3]彭冬明,韦友春.2007.单片机实验教程.北京:北京理工大学出版社.58-65.[4]范立南.1996.单片微机接口与控制技术.沈阳:辽宁大学出版社.110-135.[5]李华.1993.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社.36-56.[6]温欣玲,张玉叶.1999.基于单片机交通灯智能控制系统研究.微计算机信息,23〔10〕:90-91.[7]胡汉才.1996.单片机原理及接口技术.北京:清华大学出版社.[8]周美珍,江志华.2005.单片机控制交通灯的硬件与软件设计.家庭电子,9〔20〕:20-21.[9]蒋汝根,钱丹浩.2006.基于AT89C51单片机的交通灯模拟控制系统.无锡商业职业技术学院学报,6〔6〕:8-12.[10]康华光,陈大钦.2005.电子技术根底〔模拟局部〕.北京:高等教育出版社.[11]康华光,邹寿彬.2005.电子技术根底〔数字局部〕.北京:高等教育出版社.[12]李朝青.2005.单片机原理及接口技术〔第三版〕.北京:北京航空航天大学出版社.88-109.[13]张伟,王丽,赵晶.2003.电路设计与制作ProtelDXP入门与提高.北京:人民邮电出版社.300-320.HYPERLINK致谢在本次毕业设计的过程中,我进一步的稳固了如下所学知识:模拟电路、数字电路、单片机、C语言程序设计。与此同时,我自身的专业知识、动手能力和文档撰写能力也得到了很大程度的提升。这也让我感受到“理论联系实践”这个硬道理,对于我未来的工作和人生都有很大的帮助。本次设计的完成不仅仅是我一个人努力的结果,老师在设计的过程中给予我很多的指导和提供了很多建设性的思路,特别是在我同时要上班、考试和做设计这繁忙的事务中,肖根福老师依然给了我很大的空间去完成毕业设计。除此以外,班上同学在我设计电路和编程的时候也给予了我方方面面的指导,这跟同学们热心助人和扎实过硬的专业知识是牢不可分的!因为大家自己也需要完成自己的毕业设计,但是能够在自己所剩不多的时间内,抽出一局部来帮助我完成设计,这让我非常的感谢。在此向老师和班上同学表示深切的感谢和崇高的敬意,同时也对机电工程学院所提供的良好学术环境表示感谢。附录附录A仿真图仿真图1南北绿灯,东西红灯仿真图2南北黄灯,东西红灯仿真图3南北红灯,东西绿灯仿真图4南北红灯,东西黄灯仿真图5东西南北红灯附录B交通灯程序#include<reg51.h> /*对单片机的口进行了定义********/#defineucharunsignedchar/*定义字符串类型为无符号型*/ucharcodea[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};/*段码组合,P0口,高有效*/ucharcodeb[4]={0x0D,0x0E,0x07,0x0B};/****P2口,低有效*/ucharcodec[4]={0x3A,0x36,0x5C,0x6C};/****P1口.低有效*/charSN=25,WE=30;/*SN表示南北方向——主干道,WE表示东西方向——支干道*/charSN_G=25,WE_G=15,Y=5;/*SN_G表示南北方向的绿灯,WE_G表示东西方向的绿灯,Y表示黄灯*/uchari,k=0,count=0;/*定义无符号字符串变量*/voiddelay(uchart);/*定义函数*/voidlight(); /*定义函数*/voidled(); /*定义函数*/voidledthrough();/*定义函数*/voidleddrive(); /*定义函数*/sbitK0=P3^0;/*开关K0接P3^1管脚*/sbitK1=P3^6;/*开关K1接P3^6管脚*/sbitK2=P3^3;/*开关K2接P3^3管脚*/sbitK3=P3^5;/*开关K3接P3^5管脚*/sbitK4=P3^2;/*开关K4接P3^2管脚*/sbitK5=P3^1;/*开关K5接P3^0管脚*/sbitK6=P3^7;/*开关K6接P3^7管脚*//*程序初始化*/voidinit(void){/*12MHz*/TMOD=0x01;/**计数器用模式1,为16位计数器*****/TH1=(65536-50000)/256; /*0x3C*/TL1=(65536-50000)%256; /*0xB0*//*计50000个数,用时50ms*/IT0=1;/*外部中断为低电平触发方式*/ET0=1;/*允许T0中断*/TR0=1;/*启动计数器*/EA=1;/*CPU开放总中断*/EX0=1;/*允许外部中断0中断,即允许响应端口P3^2(K4)中断*/EX1=1;/*允许外部中断1中断,即允许响应端口P3^3(K2)中断*/}/*中断0处理程序*/voidint0(void)interrupt0{EA=0;/*CPU禁止响应一切中断*/P1=0x3C;/*东西南北方向均红灯亮*/TR0=!TR0;/*计数器停止工作*/for(;;)/*无条件循环*/{ledthrough();/*调用通行时间显示函数*//*设置南北方向通行时间*/if(K0==0) /*P3^7=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K0==0){while(!K0)/*当松开K0开关时,跳出循环,执行后面的程序*/{ledthrough();/*调用通行时间显示函数*/}SN_G++;/*南北方向绿灯时间+1*/if((SN_G+Y)==100)/*南北方向通行时间(绿灯加黄灯时间)为100s*/SN_G=1;/*由于使用的是两位数码管,当南北方向通行时间加到100后绿灯时间归1*/}}if(K5==0) /*P3^0=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K5==0){while(!K5)/*当松开K0开关时,跳出循环,执行后面的程序*/{ledthrough();/*调用通行时间显示函数*/}SN_G--;/*南北方向绿灯时间-1*/if((SN_G+Y)==5)/*南北方向通行时间(绿灯加黄灯时间)为10s*/SN_G=94;/*由于使用的是两位数码管,当南北方向通行时间加到后绿灯时间归1*/}}/*设置东西方向通行时间*/if(K1==0) /*P3^6=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K1==0){while(!K1)/*当松开K1开关时,跳出循环,执行后面的程序*/{ledthrough();/*调用通行时间显示函数*/}WE_G++;/*东西方向绿灯时间+1*/if((WE_G+Y)==100)/*东西方向通行时间(绿灯加黄灯时间)为100s*/WE_G=1;/*由于使用的是两位数码管,当东西方向通行时间加到100后绿灯时间归1*/}}if(K6==0) /*P3^6=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K6==0){while(!K6)/*当松开K1开关时,跳出循环,执行后面的程序*/{ledthrough();/*调用通行时间显示函数*/}WE_G--;/*东西方向绿灯时间-1*/if((WE_G+Y)==5)/*东西方向通行时间(绿灯加黄灯时间)为10s*/WE_G=94;/*由于使用的是两位数码管,当东西方向通行时间加到100后绿灯时间归1*/}}/*返回*/if(K3==0)/*P3^5=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K3==0){while(!K3)/*当松开K3开关时,跳出循环,执行后面的程序*/{ledthrough();/*调用通行时间显示函数*/}TR0=!TR0;/*启动计数器*/EA=1;/*CPU开放总中断*/break;/*跳出*/}}}}/*中断1处理程序*/voidint1(void)interrupt2{P1=0x3C,P0=a[0];/*东西南北方向均红灯亮,P0口输出0*/EA=0;/*CPU禁止响应一切中断*/TR0=!TR0;/*计数器停止工作*/for(;;)/*无条件循环*/{leddrive();/*数码管驱动程序*//*返回*/if(K3==0)/*P3^5=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K3==0){while(!K3)/*当松开K3开关时,跳出循环,执行后面的程序*/{leddrive();/*数码管驱动程序*/}EA=1;/*CPU开放总中断*/TR0=!TR0;/*启动计数器*/break;/*跳出*/}}}}/*键盘程序*/voidkey(){/*南北有车而东西无车*/if(K0==0) /*K0=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K0==0){while(!K0)/*当松开K0开关时,跳出循环,执行后面的程序*/{light();/*调用交通灯函数*/led();/*调用数码管函数*/}count=0;/*清零*/k=0;/*南北方向通车,东西方向不通车*/SN=SN_G,WE=SN_G+Y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/}}/*南北无车而东西有车*/if(K1==0) /*K1=0*/{delay(10);/*延时,把抖动的时间抛掉*/if(K1==0){while(!K1)/*当松开K1开关时,跳出循环,执行后面的程序*/{light();/*调用交通灯函数*/led();/*调用数码管函数*/}count=0;/*清零*/k=2;/*南北方向不通车,东西方向通车*/SN=WE_G+Y,WE=WE_G;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/}}}/*定时函数*/voidtime1(void)interrupt1{TH0=0x3c;TL0=0xb0;/*计50000个数,用时50ms*/count++; /*自增运算*/if(count>=20)/*当count大于或等于20时,历时1s,执行程序*/{SN--;/*自减运算*/WE--;/*自减运算*/count=0;/*清零*/if(SN==0||WE==0)/*当SN=0或者WE=0时,执行程序*/{k++;/*自增运算*/if(k>3)/*当k>3时,执行程序*/k=0;/*清零*/switch(k)/*switch 语句*/{case0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/case1:SN=Y,WE=Y;break;/*东西南北方向显示时间均为黄灯闪亮时间*/case2:SN=WE_G+Y,WE=WE_G;break;/*南北方向显示时间为东西方向绿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2 我们的班规我们订教学设计-2024-2025学年道德与法治四年级上册统编版
- 房产赠送合同范本
- 签英文合同范本
- 3古诗词诵读《春夜喜雨》教学设计2023-2024学年统编版语文六年级下册
- 借款合同范本 拆借
- 2024-2025学年人教版九年级历史下册同步教学设计第五单元《二战后的世界变化》
- 入股股东合同范本
- 7健康看电视 (教学设计)-2024-2025学年四年级上册道德与法治统编版
- 4 古诗三首《赠刘景文》(教学设计)2024-2025学年统编版语文三年级上册
- 2024年九年级中考数学冲刺:圆的切线与计算教学教学设计
- 江苏省2023年中职职教高考文化统考语文
- 中医典籍心得体会大全(23篇)
- 分布式光伏系统项目EPC总承包合同模板
- 危险化学品押运员培训
- 华为培训教程01网络基础
- 脑梗合并心衰护理查房
- 新星诺亚外语学校剑桥少儿英语一级上册期中测试题
- QCT 291-2023 汽车机械式分动器总成性能要求和台架试验方法 (正式版)
- 浙教版劳动八年级下册全册教案教学设计
- 盘扣式脚手架培训课件
- 2024年中国血糖健康管理行业白皮书
评论
0/150
提交评论