基于单片机的汽车智能照明系统-毕业设计(论文)_第1页
基于单片机的汽车智能照明系统-毕业设计(论文)_第2页
基于单片机的汽车智能照明系统-毕业设计(论文)_第3页
基于单片机的汽车智能照明系统-毕业设计(论文)_第4页
基于单片机的汽车智能照明系统-毕业设计(论文)_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

PAGEIVPAGEIII江西理工大学应用科学科院毕业设计毕业设计论文基于单片机的汽车智能照明系统的设计摘要随着科学技术的发展,人们对汽车行驶安全性的要求越来越高。照明系统是汽车主动安全重要组成部分之一,然而灯光光型单一且只能手动控制的传统照明系统存在的巨大的交通安全隐患已经无法跟上当前汽车安全性发展的趋势。因此如何让汽车传统照明系统更加智能化、消除存在的安全隐患,成为一个具有重大现实意义的课。本课题所研究的汽车自适应照明控制系统能够自动为车辆提供所处环境位置需要的灯光光型,为驾驶员提供良好的照明范围,减轻驾驶员的工作压力,减少交通事故,同时本系统与手动控制并联,不妨碍驾驶员对车灯的手动控制。本系统主要有弯道照明前照灯自动开闭、会车时灯光自动切换以及前照灯延时关闭功能,可为驾驶员在不同的行驶环境下提供良好的照明,是汽车智能化照明的一个更加全面完善的设计方案。在现有的对汽车照明系统的控制技术的基础上,本课题提出了一种以弯道随动转弯车灯调整为基本功能的汽车智能照明系统控制方案。与以往的技术相比,本课题引入总线技术,使系统更符合汽车技术未来发展的方向。而且本方案是基于AT89C51单片机开发的低成本、低功耗系统,性价比更为出色。本文首先对汽车自适应照明系统的产生环境、国内外的发展现状和发展趋势做了简单的介绍,给出了系统的总体设计方案以及实现功能,并在此基础上详细阐述了系统工作的理论计算基础,然后根据系统的需求,在硬件部分,对微控制器和各实现功能的传感器进行了选择,并给出了执行器部分的设计方案,包括步进电机的选型以及步进电机驱动芯片的选择,同时在详细介绍了总线功能及原理的基础上设计总线接口的硬件电路,包括总线控制器的选型、总线收发器的选择等在软件部分,给出了系统各功能模块的设计流程图和实现算法,并在编译环境中完成各功能模块的源代码编写。在论文的最后,对现阶段进行的研究工作进行了总结,并提出了许多尚待解决的问题,为今后系统的进一步完善提供了参考意见。关键词:智能照明;单片机;信号采集设计AbstractWiththedevelopmentofscienceandtechnology,peopleincreasinglyhighdemandsondrivingsafety.Oneofthelightingsystemisanimportantcomponentofvehicleactivesafety,howeverlight-lightsingleandcanonlybemanuallycontrolledtraditionallightingsystem,thereisahugehiddentroubleofsafetyhasbeenunabletokeepupwiththecurrentdevelopmenttrendofautomobilesafety.Sohowtomakecarsoftraditionallightingsystemmoreintelligently,toeliminatesecurityrisks,asoneofgreatpracticalsignificance.ThisstudyontheissueofvehicleAdaptivelightingcontrolsystemisabletoautomaticallyprovidetheenvironmentforthevehiclelocationneedtobelight-light,foradrivertoprovidegoodilluminationrange,alleviatetheworkpressureondriverstoreducetrafficaccidents,atthesametimethissystemwithmanualcontrolinparallel,withoutprejudicetothedriver'smanualcontrolofthelights.Thissystemmainlyhasthecurvetoilluminatetheheadlampautomaticmakeandbreak,passesintrafficwhenthelightautomaticcutoveraswellastheheadlamptimedelayclosurefunction,mayprovidethegoodilluminationforthepilotunderthedifferenttravelenvironment,isanautomobileintellectualizationilluminationmorecomprehensiveconsummationdesignproposal.Inexistingtoautomobilelightingsystemcontroltechnologyfoundationin,thistopicproposedonekindtakethecurvefollow-upcurveheadlightadjustmentasthebasicfunctionautomobileintelligencelightingsystemcontrolplan.Comparedwiththeprevioustechnology,thesubjectoftheintroductionofbustechnologytomakethesystemmoreinlinewiththedirectionoffuturedevelopmentofautomotivetechnology.TheprogramisbasedontheAT89CThisarticlefirsttotheautomobileauto-adaptedlightingsystemproductionenvironment,thedomesticandforeigndevelopmentpresentsituationandthetrendofdevelopmenthasmadethesimpleintroduction,hasgiventhesystemoverallprojectdesignaswellastherealizationfunction,andindetailelaboratedthesystemworktheoreticalcalculationfoundationinthisfoundation,Thenthebasissystemdemand,inthehardwarepart,hascarriedonthechoicetothemicrocontrollerandeachrealizationfunctionsensor,andhasgiventheactuatorpartdesignproposal,includingstep-by-stepstheelectricalmachineryshapingaswellasstep-by-stepsthemotor-drivenchipchoice,simultaneouslywasintroducingindetailthemainlinefunctionandintheprinciplefoundationdesignsthebusinterfacethehardwareelectriccircuit,includingthebuscontrolunitshaping,themainlinetransceiverchoiceandsooninthesoftwarepart,hasgiventhesystemvariousfunctionsmoduledesignflowchartandrealizesthealgorithm,andcompletesvariousfunctionsmoduleinthetranslationenvironmentthesourcecodecompilation.Inpaperfinal,carriedontheresearchworktothepresentstagetocarryonthesummary,andproposedmanyShangDaisolvedthequestion,hasprovidedtheadvisoryopinionforthenextsystemfurtherconsummation.Keywords:singlechip;intelligentlighting;Designofsignalcollection目录摘要……………=1\*ROMANIAbstract………………………=2\*ROMANII1绪论…………………..…..11.1课题背景与意义……………...11.2国内外发展状况及发展趋势……………...…21.3本课题的研究意义与目的………………...…31.4课题内容………………...……32控制系统总方案设计……..………….…...42.1系统的功能及工作原理……………42.1.1系统的基本功能…………...…….……...42.1.2系统工作原理…………………42.2系统硬件总体设计………42.3单片机选择……………...………………52.3.1AT89C51简介………………...…………….52.3.2AT89C51结构说明………….….………63控制系统的硬件设计………………..…..93.1超声波测距设计…………93.1.1超声波测距原理………93.1.2超声波测距仪原理框图…………………93.1.3单片机实现测距原理………………93.1.4超声波发射电路………………93.1.5超声波检测接收电路………………103.2光强检测………………103.2.1光照检测方式…………103.2.2检测电路………………113.3信号采集设计………………113.3.1车速信号的采集和处理………………113.3.2方向盘转角信号调理电路……………….133.3.3光电传感器信号的采集和处理………..…143.3.4步进电机驱动电路………………153.3.5前照灯自动开闭和远近光自动切换电路设计…………..163.3.6电源及断电保护电路…………………163.4单片机电路设计………………173.5电源模块部分设计………………183.6亮灯控制模块………………193.7按键模块设计………………203.8电压比较器………………203.8.1基本过零比较器………………203.8.2任意电平比较器………………214控制系统的软件设计……………...…………….……..234.1Keilc介绍………...……….234.2Keilc工程的建立………234.3系统软件流程设计………………264.4延时子程序………………274.5消抖子程序………………274.6中断子程序………………285设计小结……………30致谢……………...……………..31参考文献…………………….…..32附录A英文参考文献………..…33附录B参考文献中文翻译………………37附录C系统总程序……………..401绪论1.1课题背景与意义自19世纪汽车诞生以来,已经历了一个多世纪的风雨。想当初,卡尔本茨造出的三轮汽车每小时的时速仅为18公里/时,而现在已经诞生了时速600公里的超级跑车。随着社会的不断进步发展,汽车已成为现代人生活中不可或缺的交通工具。然而,随着汽车技术的不断进步以及车辆数目的增加,汽车也给现代社会带来了新的问题。频繁发生的交通事故已经成为不得不严肃对待的世界性问题,据统计,在各种意外事故中,以车祸占首位,占意外死亡总数的50%以上。仅以汽车交通事故为例,全世界因交通事故而死亡的人数己超过3000万人,比世界大战所死亡的人数还多。而其中以青少年与老年人的死亡率最高,值得注意的是:儿童青少年一直都是交通事故导致伤亡的高危人群。据估计,近年来全世界每年在车祸中丧生的人数约为30万人,受伤者约3000万人,其中终身残疾者约为300万人。我国城市每万辆车死亡率为50→10.8人左右,与国外相比较,为日本的26.5倍。美国的17.8倍。若以万辆车的死亡率作比较,我国车祸的发生率和死亡率皆居世界之首位。据公安部交通管理局的统计:2005年,全国共发生道路交通事故450254起,造成98738人死亡、469911人受伤,直接财产损失18.8亿元。自2001年以来全国交通事故死亡人数首次回落到10万人以下。中国由于交通事故每年死亡超过万人,死者大多是年轻人,占全球交通事故死亡人数的五分之一,居世界各国之首,中国每5分钟有一人因车祸死亡,每一分钟有一人因车祸伤残,每天死亡280多人,每年死亡10万多人,中国的汽车数量仅占世界的1.9%,而车祸死亡人数占世界15%,且每年增加4.5%。如何提高汽车的安全性、减少交通事故的发生已经成为全世界的迫切要求。汽车安全性分为三大部分主动安全性、被动安全性和防火安全性。所谓主动安全性,是指汽车设计者在汽车的配置中,采取一系列技术措施,以预防和减少安全事故的发生,其中包括汽车夜间照明、各种指示信号、驾驶员视野、制动以及轮胎等所谓被动安全性,是指在汽车中采取一系列技术措施,使得安全事故一旦发生时,可最大限度地防止或减少对人员造成的伤害;其中包括车身结构、安全玻璃、座椅、头枕、内外部凸出物以及安全气囊等。汽车照明系统作为汽车最主要的主动安全装置之一,主要负责前方路况的照明,提供给驾驶者前方的路况信息,使驾驶员能够及时看清障碍物并做出反应,是保证汽车在夜间或能见度较低的环境下安全行驶的关键。传统的汽车照明系统主要包括照明装置照明灯和信号装置。其中照明灯的功能是在黑暗环境中照亮汽车行驶前方的路面倒车灯照亮汽车后方,在倒车时也是照亮行驶方向;照明灯主要是指前照灯、前雾灯、倒车灯和牌照灯;其次像室内灯、仪表等和行李箱灯也属照明灯用;信号装置包括汽车信号灯和回复反射器;信号灯中又包括转向指示灯、制动灯、后雾灯和位置灯等。信号灯的功能,是向其他道路使用者表明本车的存在,以及本车将要转向某一方向或正在制动减速等,以引起对其的特别关注。事实上,前雾灯兼有照明和信号的两种功能,它是在雾、雪、雨或尘埃蔓延等有碍可见度的情况下,为改善车辆前方道路照明和使迎面来车易于发现车辆的灯具。但是在实际的使用中,传统的前照灯系统存在着许多的安全隐患。特别是在交通事故多发和高致死率的夜间,传统的照明系统难以对汽车提供有效的安全保护。世界汽车安全事故统计资料表明夜间发生的交通事故是白天的三倍,照明状况不良时的事故率又是照明良好时的三倍。我国交通事故统计资料显示,仅1994年因灯光问题酿成的安全事故就有近千起,造成三百多人死亡。而造成夜间事故平频发的主要原因是在晚上驾驶员的可视度与白天相比大幅度的下降,同时雨雾和空气中的一些污染物在前窗玻璃上形成的水滴和污物也会让驾驶员的距离感产生失真,严重影响了驾驶员对前方弯道障碍物的判断,而依靠传统的照明系统即使将近光灯、远光灯和前雾灯全部开启也依然会存在着照明盲区,从而导致事故的发生。上述这些问题的存在,就使得研制出一种具有多种照明功能的新型照明系统成为必然的趋势,并且这些功能的切换,出于安全上的考虑,应该是无需驾驶员手动控制全智能实现的。与此同时,随着科学进步的发展,越来越多的高新技术开始运用在汽车工业上。汽车虽然本是主要偏向于机械配合的一项技术,不过近几十年随着电子技术的迅猛发展,各行各业都开始提倡机电一体化,汽车也不例外:安全、节能、环保以及智能化和信息化是未来汽车的发展趋势。与这些要求相适应,汽车电子化的趋势越来越明显,各类电器元件在汽车成本中所占比例也越来越高,如今的汽车上都是动辄数百个电子元件,数以捆计的汽车线路控制着汽车多个部门的协调工作,国外专家预测未来3-5年内汽车上装用的电子装置成本将占汽车整车成本的25%以上,汽车将由单纯的机械产品向高级的机电一体化产品方向发展,成为所谓的“电子汽车”可以说汽车电子化已经成为现代汽车发展的重要标志。在现代汽车制造工艺中引入电子技术不仅提高了汽车的动力性、经济性和安全性,使汽车产业进入一个新的纪元,而且还开拓了电子产品的市场,推动了电子产业的发展。将汽车电子技术运用到汽车照明领域,将微控制器、传感器、车载网络系统、自动控制理论与传统的汽车前照明机械系统结构相结合,开发出能够解决由于传统照明系统带来的安全问题的新型智能车灯,将是未来汽车前照明系统的发展方向。1.2国内外发展状况及发展趋势自适应智能前照灯技术(AFS)在汽车照明领域的重大突破,极大程度的保障了夜间行车安全的同时也提升了行车的舒适性,日本和欧洲的各大汽车制造商对此已达成共识并自上世纪九十年代起就以开始投入研究。目前,在国外自造商都纷纷推出自己研发的自适应前照明系统,不仅在其高档车型中标配系统,甚至在中低档轿车车型中也将该系统作为选配列出。最近,福特公司也研发了一种新型智能主动转向头大灯技术,大大提高了夜间的行驶安全。在福特公司所研制的系统中将LED二极发光体作为照明光源的头灯系统。LED(半导体发光二极管)车灯也是一种比较新型的车灯技术,它不仅节省能源,而且使用寿命长,是各大汽车制造商的研究热点。不过LED车灯目前主要用于信号灯、指示灯等小型照明领域。福特公司展现其独特的科技将LED技术运用与智能前照灯系统中,使系统不仅省电、高亮度,让外形设计也变得令人耳目一新。该系统包括以下功能:1、可调整LED车灯;2、LED驻车灯、转向信号灯;3、投影式前照灯。福特的这款新系统虽然还处于概念阶段,但其技术已经十分成熟,不久便能正式投入市场。在2006年北美车展展出的林肯概念车就采用了这项新技术。国内的各大汽车生产商也开展了对AFS系统的大力研发,比如自东风集团在其推出的日产新天籁上就安装了他们最近研究的智能转向照明辅助系统,它不仅装备了远近光氛气大灯且在随动转向大灯技术上,又有着自己的发展方向。新天籁拥有一套智能转向照明辅助系统,但原理有别于我们所说得“随动”功能。新天籁除了远近光灯之外,在前大灯的外侧还添加了一个卤素灯,当转向到一定角度后,这个卤素大灯就会自动开启,辅助照明。虽然这在技术上似乎不如真正的“随动”先进,但效果同样不错。这有些类似于福特公司在AFS上的设计新思路,即用卤素大灯作为转弯时的辅助照明灯,此外新天籁具备光束的高度调节功能。但是国内对汽车自适应智能照明控制系统领域的研究起步较晚,相关实验研究进行较少,技术以从国外引入为主,然而引入的国外系统大多是基于生产商本国的道路情况设计,而国内的道路状况有着自己的交通特点和地形地貌,因而往往系统的功效往往得不到最大的发挥,给系统在国内的推广应用带来了阻碍。自适应智能照明系统在汽车主动安全领域的重大突破和显著成效使其成为未来国内外汽车生产厂商在汽车智能照明系统方面的热门研究方向之一。随着汽车工业的发展,使用者在考虑车载高新技术的同时,对汽车的安全性也越来越重视。为满足市场的需求,安全、舒适、节能将是未来自适应前照灯系统的发展方向。首先,在未来的汽车智能前照明系统中将会集成图像识别功能以检测行人、车辆和路边障碍物,为驾驶员提供更加安全的行驶环境其次,未来的自适应照明系统将与自适应巡航控制(ACC)和车道偏离警告系统(LDWS)等其他新型汽车主动安全系统相结合,不仅可以更加精确的预测前方的路面状况从而对光型进行更智能化地调节,同时也能使系统变得更加集成化、低成本化;并且随着LED技术的不断发展,LED的性价比不断提高,据专家预测,新一代的汽车自适应照明系统也将采用LED转向灯,由于LED灯具有寿命长、占用空间小等优点,可以使得整个系统的节能性和可靠性明显提高。1.3本课题的研究意义与目的随着汽车制造技术的不断进步,汽车的行驶安全成为人们越来越关心的问题。而汽车前照灯作为汽车主动安全的主要组成部分之一,也必须满足使用者越来越高的要求。一个优秀的汽车照明系统应该满足以下标准能够为驾驶者提供前方路段的景象信息,让驾驶者有充足的时间对可能面对的危险做出反应给驾驶者提供信息时不会增加驾驶员的疲劳给本车驾驶员带来方便的同时不会给其它车道使用者的带来麻烦。本课题所研究的自适应智能前照明系统正是基于这些条件而研制的,智能前照明系统不像传统的前照明系统只能工作在固定的初始设定模式下,而能够通过各种传感器所采集的汽车当前行驶车速、方向盘转角、车身俯仰状态、前方路况等数据判断当前的行驶状况,调整配光机构来为驾驶员提供当前驾驶环境下最适合的视野范围,极大程度保证了驾驶员在各行驶环境下的行车安全。由于我国的汽车工业起步较慢,在一些高新技术方面与国外更是差距甚大。这个问题在汽车照明领域方面表现的尤为明显。现阶段国外的各大厂商都有着专门研发智能照明系统的研发技术部门,在许多的车型上也展出了他们先进的研究成果。但是中国现在对此技术进行专门研究的厂商十分之少,而且相关技术也基本都是直接从国外引进,难有自主开发的。然而前照明系统的智能化是未来的发展趋势,加快国内的研发速度,开发出属于中国自己的智能前照明系统不仅能够打破国外的技术垄断,还能占有更多的汽车国际市场,具有重大的意义。1.4课题内容本设计是关于汽车智能化汽车照明系统的设计开发,要求学生在毕业设计期间,完成汽车智能化汽车照明系统的理论设计,同时要求开发的汽车智能化汽车照明系统有一定的实用性,能满足汽车弯道转向工况的性能需求。⑴了解汽车智能化汽车照明系统的性能要求和设计步骤;⑵掌握汽车智能化汽车照明系统设计的方法和流程;⑶能够熟练地查阅有关参考文献及资料;⑷熟悉毕业论文的格式和撰写软件的操作。2控制系统总方案设计2.1系统的功能及工作原理2.1.1系统的基本功能汽车自适应照明控制系统的基本功能如下:⑴夜晚行驶转弯时,车辆根据转向角和车速的变化自动调整前照灯的近光照射方向,照亮车辆即将行驶到的前方的路面;⑵当汽车前后载荷发生变化而使汽车车身倾斜时,根据安装在前后车轴上的车身高度传感器所测得的信号进行判断处理,补偿车辆载荷的变化,实现照明距离的自动调节;⑶夜晚汽车行驶在高速公路上,遇到上坡时,根据车速、坡度以及汽车到坡的距离等信息自动调整前照灯的照射距离,实现远距离照明,增加前方路面的视野信息;⑷夜晚行驶会车时,前照灯的远近光变光控制会车时,系统自动变为近光状态会车完毕自动恢复到远光状态;⑸前照灯自动开关控制主要有以下功能:①当外界光线不足时比如夜幕降临、夜间、白天过隧道、进入地下停车场等,影响驾驶员的正常行驶,开启前照灯;②当外界光线足够时如黎明、白天、驶出隧道后等,关闭前照灯;③为防止外界环境瞬间变亮,车灯关闭,采取延时的措施,即当周围的亮度持续明亮一段时间时,关闭前照灯;=6\*GB2⑹停车后车灯的延时关闭:夜晚停车熄火后,根据检测到的发动机的状态和车门的状态,前照灯自动延时熄灭,为司机在光线不足的环境下提供方便;系统结构示意图如下:图2-1系统工作流程图2.1.2系统工作原理利用速度传感器和方向盘转角传感器、车身高度传感器、红外测距传感器、光电传感器以及对发动机工作状态和车门状态的检测来判断确定车辆的行驶状态、车辆行驶的道路状况和外界环境光线的强弱以及光线实时变化的情况,把检测到的信号转化为电信号,并输入到单片机进行判断处理,进而发出相应的指令控制车灯做出相应的调整,从而实现车灯的自动控制;同时,系统在车辆行驶前以及行驶过程中,通过用检测各个车灯供电线路的反馈电流信号以及光电传感器检测输入的信号两种方法来共同检测判断各个车灯正常与否。2.2系统硬件总体设计车智能前照灯系统包括传感器模块、MCU、步进电机、前照灯,如图2-2所示:图2-2系统的硬件设计框图智能前照灯的工作原理:当车辆进入弯道时,MCU通过采集车速和方向盘转角变化,判断是否对前照灯进行水平调光,并进一步计算出两灯在左右方向上的调节角度,然后转换成各步进电机运动状态控制参数,控制相应步进电机动作,完成调光过程。

2.3单片机选择2.3.1AT89C51简介在车载电子系统的设计中,微控制器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果。一般来说,选用车载电子系统微控制器时应考虑微控制器应用的类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价格、封装、产品的生命力和厂家的实力、技术支持以及第三方软件的支持等因素,但最重要的是微控制器的稳定性,安全问题应该永远是车载系统首要考虑的因素。由于高度的通用性和出色的稳定性,本系统选用美国ATMEL公司生产的低功耗,高性能CMOS8位单片机AT89C51作为微控制器。片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。如图:图2-3芯片引脚图2.3.2AT89C51结构说明⑴主要特性:①与MCS-51兼容②4K字节可编程闪烁存储器③寿命:1000写/擦循环④数据保留时间:10年⑤全静态工作:0Hz-24Hz⑥三级程序存储器锁定⑦128*8位内部RAM⑧32可编程I/O线⑨两个16位定时器/计数器⑩5个中断源A.可编程串行通道B.低功耗的闲置和掉电模式C.片内振荡器和时钟电路⑵管脚说明:①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口也可作为AT89C51的一些特殊功能口,如下所示:P3管脚备选功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。⑥

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。⑦/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。⑧/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。⑨XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。⑩XTAL2:来自反向振荡器的输出。⑵振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。⑶芯片擦出:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。其内部结构如图2-4所示:图2-4AT89C51内部结构3控制系统的硬件设计3.1超声波测距设计3.1.1超声波测距原理发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表3.1超声波波速与温度的关系表温度(℃)-30-20-100102030100声速(m/s)3133193253233383443493863.1.2超声波测距仪原理框图单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。超声波发射器超声波发射器放大电路超声波接收器放大电路锁相环检波电路定时器单片机控制显示器图3-1超声波测距仪原理框图3.1.3单片机实现测距原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。由于超声波属于声波范围,其波速C与温度有关。3.1.4超声波发射电路超声波发射电路原理图如图3-2所示。发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。图3-2超声波发射电路原理图压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。3.1.5超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图3-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。图3-3超声波检测接收电路3.2光强检测3.2.1光照检测方式 方案一、采用光敏二极管或三极管等光传感器件把环境亮度转换成相应的数字电平,然后直接接入单片机I/O引脚。 方案二、采用光敏电阻把环境亮度转换成相应的电压值(模拟值),然后通过运放后给单片机输入一个标准的数字信号。由于光敏电阻属于纯阻性器件,所以采用方案一。3.2.2检测电路如图3-4所示,当外界环境光照强时,光敏电阻R13阻值较小,则A点电平较低;当外界环境光照弱时,光敏电阻R13阻值较大,则A点电平较高,将此电平送到单片机,由程序控制是否实现照明。图3-4系统硬件图电路3.3信号采集设计汽车电子控制系统有三个主要的部分传感器、控制电路以及执行机构。其中,传感器部分负责将汽车行驶状态及外界环境状况的变化量转化为电信号,以便控制电路接受处理。控制电路是整个系统的核心,它将传感器输送进来关于汽车行驶状态、外界环境状况的变化量及司机的干预信息的电信号进行运算处理,并发出相应的指令,控制执行机构工作。执行机构是整个系统最后的操作者,它接受控制电路发出的指令,并按照指令执行相应的机械动作。对于汽车自适应照明控制系统,主要是通过控制电路驱动步进电机及继电器来执行完场动作的。本系统中,输入的信号主要有以下几种形式大连理大学硕十学位论文脉冲量车速信号开关量车高传感器,发动机和车门状态,接近开关数字量方向盘转角传感器,红外测距传感器。3.3.1车速信号的采集和处理⑴车速计算方法实验用的捷达汽车的速度测量方法为脉冲式测速法。它利用与车轮同步旋转的脉冲发生器,产生与车轮转速成正比的脉冲数,再根据适当比例调整单位时间内的脉冲数的计数,就可表示车辆运行的速度。在对脉冲发生器进行测量时,脉冲周期过长或过短都会对测量产生很大的误差。周期过长,导致微控制器定时器溢出,引起误差;周期过短,导致微控制器读取定时器时间比例变大,引起误差。周期过短时,可利用计算在一定时间间隔内发生脉冲数量的方法来减小误差,称为定时累计平均值法。周期过长时,可以计算转速信号两个有效脉冲之间的时间间隔来计算转速,称为有效脉冲发生时刻法。由于车速传感器脉冲数与车速真实比例相关信息未知,因此,无法计算出真实的车速值。实验时,实现了两种方法,固定脉冲数在不同的数值,在一定范围内进行了测量。在未进行真车实验之前,为方便进行系统汽车台架实验,这里约定一个脉冲间隔,汽车刚好行驶1米的距离。因此,车速采集节点传输给主控节点车速信息时,只需回传单位时间内的脉冲个数即可。⑵硬件原理图车速采集节点的硬件电路设计包括CAN总线通讯电路设计与车速采集电路设计两部分,如图3-5所示。图3-5车速采集节点硬件原理图⑶车速采集实验方法车速脉冲模拟时,产生固定车速是为了保证车速采集节点能够正确采集车速脉冲,产生随动车速是为了模拟真实车速传感器的脉冲信息。为了方便调试,在设计车速脉冲模拟器时,加上了八段数码显示管和多路开关,通过多路开关选择产生固定车速的不同车速值及随动车速的随动产生方式,通过八段数码显示现在的脉冲产生速度。车速脉冲模拟器的硬件电路图如图3-6所示,将微控制器AT89C51的P3.6口做车速脉冲的输出口,外接多路开关来确定定时器调整方案,用八段数码显示管显示当前的车速值。外接开关接到AT89C51的P1.4-P1.7口上,八段数码管的八段显示管引脚通过限流电阻接到P0口上,选通引脚分别与P2.6、P2.7相连。图3-6车速脉冲模拟器硬件电路图3.3.2方向盘转角信号调理电路根据旋转编码器的工作原理,当方向盘转角发生变化时光电编码器便会发出A、B两路相位差90°的数字脉冲信号。正转时A超前B为90°,反转时B超前A为90°。脉冲的个数与角度值成比例的关系,所以通过对脉冲的计数就可以得到方向盘转角的大小。因此本系统对方向盘转角的测量选用EPC-755A光电编码器作为传感器,其输出电路选用集电极开路,这种编码器体积小,具备良好的使用性能,在角度测量、位移测量时抗干扰能力强,并具有稳定可靠的输出脉冲信号。考虑到汽车方向盘转动是双向的,既可顺时针旋转,也可逆时针旋转,其最大旋转角度均为两圈半,选用分辨率为360个脉冲/圈的编码器,其最大输出脉冲为900个,需要对编码器的输出信号进行鉴相后才能计数。图7出了光电编码器实际使用的鉴相与双向计数电路,鉴相电路用1个D触发器和2个与非门组成,计数电路用3片74LS193组成。在系统上电初始化时,先对其进行复位(CLR信号),再将其初值设为800H,即2048(LD信号);如此,当方向盘顺时针旋转时,计数电路的输出范围为2048~2948,当方向盘逆时针旋转时,计数电路的输出范围为2048~1148;计数电路的数据输出D0~D11送至数据处理电路。 图3-7方向盘转角信号调理电路3.3.3光电传感器信号的采集和处理根据《中华人民共和国道路交通管理条例》第四十九条规定,夜间在没有路灯或照明不良的道路上,须距对面来车一百五十米以外互闭远光灯,改用近光灯。而传统的前照灯远近光的切换是通过手动变光开关来实现的,会车时,防止造成对方驾驶员炫目,将远光灯变为近光灯,司机需要不停地切换远、近光开关,使司机的劳动强度大大增加,此外,若驾驶员忘记了变光或者变光不及时,就会造成对方司机炫目,给行车安全构成了极大威胁。随着汽车保有量的增加,这种状况就更加的明显。所以迫切需要在前照灯电路系统中采用自动变光系统,使车辆在会车时能够自动的及时切换远近光,提高车辆行驶的安全性和舒适性。此外,当外界光线不足时(比如夜幕降临、夜间、白天过隧道、进入地下停车场),影响驾驶员的正常行驶,开启前照灯当外界光线足够时(如黎明、白天、驶出隧道后等),关闭前照灯。本系统选用光敏电阻来检测外界光照强度,它是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器。光照强度越强,半导体的导电特性就越好,输出的信号就越大,反之则越小。由于其体积小、灵敏度高、性能稳定、寿命长、价格低,在自动控制领域应用相当广泛会车用光敏传感器安装在后视镜支架上或安装在前中网与散热器之间,用来接受感应会车时对面汽车的光线。感应外界光强的光电传感器安装在汽车一前部挡风玻璃前,用来感应外界环境的光强。为了稳定检测出光强强度,防止外界环境瞬间变化,而使一前照灯不断地开启和关闭,系统采取延时的措施,即当周围环境的亮度持续明亮一段时间时,才关闭前照灯,反之,则开启前照灯。光电传感器信号的处理电路如图巧所示,两路信号处理电路相同,在此只给出一路。利用放大器LM324和LM339比较器对信号进行放大比较后分别通过I/O口P1.1和P1.2送入单片机进行判断处理。调节电位器的阻值可以调节系统自动变光的灵敏度。图3-8光电传感器的信号处理电路3.3.4步进电机驱动电路步进电机是一种将电脉冲信号转换为相应角位移或线位移的执行器,可以直接实现控制。它的机械角位移与输入的数字脉冲信号有着严格的对应关系:即一个脉冲信号可以使步进电动机前进一步,是一种比较理想的执行元件。电机的转速和停止的位置只取决于脉冲信号的频率和脉冲数。控制电机实际上就是控制输入脉冲序列,使步进电机按照预定方向旋转需要的转角。本系统使用的是两相混合式步进电机,步距角为1.8,工作频率为200-1000Hz。它作为种电脉冲到角位移的转换元件,有价格低廉,易于控制,无积累误差、输出力小、响应速度快、可以调节、寿命长、噪声低等优点。为了使步进电机能够输出足够的功率,单片机产生的脉冲信号还需要进行功率放大。步进电机的驱动电路一般由两部分组成,一部分是环形脉冲分配器,它决定步进电机各相绕组的通电顺序。本设计采用的日本SANYO(三洋)公司生产的PMM8713环形脉冲分配器与ST公司生产的L6506与L298N步进电机驱动芯片。图3-9步进电机驱动电路3.3.5前照灯自动开闭和远近光自动切换电路设计系统中前照灯的自动开闭和远近光的自动切换是通过控制继电器触点的切换来实现的,具体电路如图所示:图3-10前照灯自动开闭和远近光切换电路系统采用一对系统内外的弱电和强电进行了隔离,信号通过三极管进行放大驱动继电器工作。远近光切换电路中,当单片机口输出高电平时,光电藕合器的二极管截止,三极管不导通,继电器不通电,此时前照灯处于近光状态当单片机口为低电平时,光电藕合器的二极管发光,三极管导通,在放大器的驱动下,继电器切换至远光触点,此时灯光由近光变为远光。前照灯自动开闭电路中,当单片机口输出高电平时,光电藕合器的二极管截止,三极管不导通,继电器不通电,此时前照灯不打开,处于关闭状态当单片机口为低电平时,光电祸合器的二极管发光,三极管导通,继电器在放大器的驱动下将触点闭合,开启前照灯。继电器在释放时,线圈两端会产生较高的反向感应电动势而可能损坏三极管放大器,故系统中并入一个续流二极管来保护三极管放大器。3.3.6电源及断电保护电路汽车蓄电池提供12v左右的电源,而该控制系统需要两路电源:+5v和+12v电源。5v电源用于(L6506)和车速、方向盘转角信号调理电路等供电,12v电源给步进电机驱动芯片(L298N)等供电。考虑到成本和易购性,我们选用LM78H05芯片作为电源转换芯片。为了在掉电的时候可以及时地保存数据,在电源地输入端加一个1000F的电解电容,当电源断开的时候,大电容可以维持单片机电源足够长的时间,使得单片机可以完成外部中断的服务程序。图3-11电源及断电保护电路3.4单片机电路设计=1\*GB2⑴电源电路主电源引脚:40引脚VCC:接+5V电源正端。20引脚VSS:接+5V电源地端。=2\*GB2⑵控制电路开关引脚P1口:低电平电平有效。如图:图3-12开关按键连接图中断接P3口,如图:图3-13中断连接图=3\*GB2⑶晶振电路AT89C52单片机片内含有一个高增益的反相放大器,通过X1,X2外接作为反馈元件的晶体后便成为自激振荡器,如图4-4所示:X1:振荡器反向放大器的及内部时钟发生器的输入端。X2:振荡器方向放大器的输出端。图3-14晶振电路=4\*GB2⑷EA引脚电路EA引脚功能为内外程序存储器选择,其引脚连接如图4-5所示:图3-15EA引脚图EA为高电平时,单片机访问内部程序存储器,但在PC值超过0FFFH时,将自动向执行外部程序存储器内的程序。EA为低电平时,单片机则只访问外部程序存储器,而不管它是否有内部程序存储器。所以在我们这个系统中,EA接+5V高电平。=5\*GB2⑸P0端口电路P0口为8位可寻址的输入/输出端口、为8位漏极开路输出,由于内部无上拉电阻,执行输出功能时,外部必须接上拉。电阻一般为10K。3.5电源模块部分设计目前轿车使用蓄电池一般都是12V,在车辆使用过程中,发电机电压可以达到13V左右,考虑到车载电源的电压波动,实际ECU的供电电压范围在9-15V。而微控制器及控制芯片供电电压都是5V,因此为了保证系统的工作,需要电源芯片进行电压转换。系统选用三端稳压器MC7805ACT作为电压转换芯片,它能提供固定的输出电压,内含过流、过热和过载保护电路。带散热片时,输出电流可达1A。其主要特点有:输出电流可达1A输出电压:5V过热保护短路保护输出晶体管SOA保护其内部功能框图如下图3-16所示:图3-16MC7805ACT内部框图使用一片MC7805ACT即可将车载12V电源转换为5V为系统提供稳压电源,如图3-17所示:图3-17稳压电路原理图3.6亮灯控制模块=1\*GB2⑴LED直接点亮,一般由于LED的承受电流为10~20mA,若去电流为20mA,则5V/20mA=250欧,仿真中取标值为220欧姆。实际电路应取330欧姆。如图:图3-18电路原理图=2\*GB2⑵由于实际电路电压电流比较高,若要使用89C51控制不同电压或电路的负载,则需要通过继电器来转达控制的意思。高电平动作的继电器驱动电路,当89C51输出高电平时,从VCC经由10K的上拉电阻及1K的限流电阻提供的积极电路,约为mA,一般NPN晶体管的放大倍数为100以上,所以集电极电路约为39mA,晶体管应可工作于饱和状态;若51输出为低电平,输出端FET导通,输出接近于0V,所以晶体管工作于截至状态。3.7按键模块设计本设计中的键盘模块,实际是按钮开关,占用了10位的输入/输出端口。若以相同的方式连接16个按钮,则要占用16位的输入/输出端口,当然不是好的方法,对于电路设计而言,若需多个按钮,通常会将这些按钮组成陈列。考虑到实际使用中汽车照明按键不是集中使用,因此,仍然采用基本的按钮开关接法。3.8电压比较器电压比较器的基本功能是能对两个输入电压的大小进行比较,判断出其中那一个比较大。比较的结果用输出电压的高和低来表示。电压比较器可以采用专用的集成比较器,也可以采用运算放大器组成。由集成运算放大器组成的比较器,其输出电平在最大输出电压的正极限值和负极限值之间摆动,当要和数字电路相连接时,必须增添附加电路,对它的输出电压采取箝位措施,使它的高低输出电平,满足数字电路逻辑电平的要求。3.8.1基本过零比较器过零比较器主要用来将输入信号与零电位进行比较,以决定输出电压的极性。电路如图3-19所示:图3-19入过零比较器放大器接成开环形式,信号ui从反向端输入,同相端接地。当输入信号ui<0时,输出电压uo为正极限值;由于理想运放的电压增益Au→∞,故当输入信号由小到大,达到ui=0时,即u=u+的时刻,输出电压uo由正极限值UOM翻转到负极限值UOM。当ui>0时输出uo为负极限值UOM。因此,输出翻转的临界条件是u+=u=0。即:(3-1)其传输特性如图(a)所示。所以通过该电路输出的电压值,就可以鉴别输入信号电压ui是大于零还是小于零,即可用做信号电压过零的检测器。(a)理想运放(增益A→∞)(b)实际运放(增益A≠∞)图3-20零比较器的传输特性对于实际运算放大器,由于其增益不是无限大,输入失调电压UOS不等于零,因此,输出状态的转换不是突然的,其传输特性如图(b)所示,存在线性区。由以上工作原理可知,比较器中运放的反向输入端和同相输入端的电压不一定相等。假设输入信号ui为正弦波,在ui过零时,比较器的输出就跳变一次,因此,uo为正、负相间的方波电压,如图所示:图3-20输入与输出波形为了使输出电压有确定的数值并改善大信号时的传输特性,经常在比较器的输出端接上限幅器。如图(a)所示。图中:R=1k,DZ1、DZ2采用5229,UZ1=UZ2=4.3V。(a)接上限幅器的比较器(b)电压传输特性图3-21接上限幅器的比较与电压传输特性在图3-21(b)中:UZ=UZ2+UD1,UZ=UZ2+UD1,此时:(3-2)3.8.2任意电平比较器电路如图所示,输入信号ui加到反向输入端,在同相输入端加一个参考电压UREF,当输入电压ui小于参考电压UREF时,输出为+UOM,当输入电压ui大于参考电压UREF时,输出为UOM。该电路的传输特性如图(b)所示。(a)电路(b)电压传输特性图3-22电路的传输特性即:(3-3)与零电平比较器一样,可以根据比较器输出电压的极性来判断输入信号是大于UREF,还是小于UREF。对于差动型任意电平比较器来说,其比较电平UC就等于基准电压UREF。4控制系统的软件设计4.1Keilc介绍HYPERLINK"/Article/dpj/Index.html"单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASHROM,可以反复擦写,非常适于做实验。89C51的P1引脚上接8个发光HYPERLINK"/Article/dzrm/dzyj/200709/94.html"二极管,P3.2~P3.4引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。4.2Keilc工程的建立首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。=1\*GB2⑴源文件的建立图4-1简单的键盘、显示板使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入以下汇编语言源程序,如:MOVA,#0FEHMAIN:MOVP1,ARLALCALLDELAYAJMPMAINDELAY:MOVR7,#255D1:MOVR6,#255DJNZR6,$ENDDJNZR7,D1RET保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名),这里假定将文件保存为exam1.asm。需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编缉器编写,而且,Keil的编缉器对汉字的支持不好,建议使用UltraEdit之类的编缉软件进行源程序的输入。=2\*GB2⑵建立工程文件在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。图4-2选择目标CPU点击“Project->NewProject…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为exam1),不需要扩展名。点击“保存”按钮,出现第二个对话框,如图4-3所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil支持的CPU很多,我们选择Atmel公司的89C51芯片。点击ATMEL前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“SourceGroup1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“SourceGroup1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如图3所示。选中其中的“AddfiletoGroup”SourceGroup1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为Csourcefile(*.c),也就是以C为扩展名的文件,而我们的文件是以asm为扩展名的,所以在列表框中找不到exam1.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“AsmSourceFile(*.a51,*.asm),这样,在列表框中就可以找到exam1.asm文件了。双击exam1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主界面,返回后,点击“SourceGroup1”前的加号,会发现exam1.asm文件已在其中。双击文件名,即打开该源程序。图4-3加入文件系统程序设计时采用1ms定时中断采集,每次中断到来时采集传感器信号。当所得传感器信号满足指定条件,则将有效数据保留,查表计算,得出目标位置,将目标位置与所设定条件进行对比,找到满足条件的目标位置,将目标位置转化为步进电机步数,发出步进脉冲信号,带动步进电机转动到相应位置。汽车弯道自适应前照灯系统能够在±15°的角度之内摆动,以帮助驾驶员更好的适应弯道状况。主程序流程图如图4-4所示:图4-4主程序流程图4.3系统软件流程设计本设计的程序的子函数主要包含延时、中断、端口扫描等。流程如图所示:图4-5子函数流程图4.4延时子程序延时子函数的主要是为了延长时间需要,或者是为了使单片机的某个动作保持一段时间。程序如下/*延迟函数开始,延迟x0.5ms*/voiddelay(intx) // 延迟函数开始{ inti,j; // 声明整数变量i,j for(i=0;i<x;i++) // 计数x次,延迟约x0.5msfor(j=0;j<60;j++); // 计数60次,延迟约0.5ms} // 延迟函数结束4.5消抖子程序不管是按钮开关还是闸刀开关,在操作时,并不是想想中的那么理想。实际上,操作开关时会有不确定状态,也就是噪声。即存在抖动或者弹跳现象。如何避免抖动想想,可使用一个切换开关及互锁电路,组成一个去抖动电路,如图所示:图4-6抖动电路虽然这个电路可降低抖动所产生的噪声,但所需的元件较多,所占的电路面积较大,增加了成本与电路的复杂度,已很少使用了,其实也可利用一个简单的RC电路来抑制抖动电压,我们通过按键抖动的波形可以分析出,可以通过产生20MS的延迟,即可消去抖动。即为:/*防弹跳函数函数,延迟约20ms*/voiddebouncer(void) // 防弹跳函数开始{ inti; // 声明整数变数i for(i=0;i<2400;i++);// 计数2400次,延迟约20ms} // 防弹跳函数结束4.6中断子程序当CPU正在执行程序时,外部发生了某一随机事件请求CPU迅速处理。CPU暂时中止执行的程序,转去处理所发生的事件,中断处理完毕,再回到原来被中止的断点继续执行原程序,这个过程叫中断。图4-7中断子程序流程图设置中断:⑴提高CPU工作效率;⑵具有实时处理功能;在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理中断请求。如中断条件满足,CPU马上就会响应,进行相应的处理,从而实现实时处理。⑶具有故障处理功能;针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。⑷实现分时操作;中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设同时工作。CPU在启动外设工作后继续执行主程序,同时外设也在工作。每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序(一般情况是处理输入/输出数据),中断处理完之后,CPU恢复执行主程序,外设也继续工作。这样,CPU可启动多个外设同时工作,大大地提高了CPU的效率。中断控制:A.中断源和中断控制寄存器:=1\*GB3①中断源中断源是指能发出中断请求,引起中断的装置或事件。=2\*GB3②INT1:外部中断1,中断请求信号由P3.3输入。=3\*GB3③T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。TF0:定时器T0溢出中断请求。=4\*GB3④T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。TF1:定时器1溢出中断请求。当定时器1产生溢出时,定时器1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中断处理。=5\*GB3⑤串行中断:包括串行接收中断RI和串行发送中断TI。本设计中采用2个外部中断源,并定义如下:IE=0x85; // 准许INT0,INT1中断IP=0x01; // 设定INT0具有最高优先权中断程序:/*INT0的中断子程序遥控关灯*/voidmy_int0(void)interrupt0 // INT0中断子程序开始{ //unsignedsaveLED=LED; // 储存中断前LED状态 LED=0xff;DB4=1;DB5=1;DB6=1;DB7=1; //LED=saveLED; // 写回中断前ED状态} // 结束INT0中断子程序/*INT1的中断子程序遥控开灯*/voidmy_int1(void)interrupt2 // INT1中断子程序开始{ //unsignedsaveLED=LED; // 储存中断前LED状态 LED=0xce; //LED=saveLED; // 写回中断前LED状态} // 结束INT1中断子程序5设计小结汽车自适应智能前照灯系统作为主动安全的一个新的发展方向,是近年来国内外各大汽车制造商的研究热点,但是国内在此领域起步较晚,很多关键技术都是从国外引入。基于此,本论文针对传统照明系统照明模式单一、过度依靠人工操作、缺乏智能化从而导致安全系数较低的问题,对汽车自适应

温馨提示

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

评论

0/150

提交评论