讲稿07电信定稿_第1页
讲稿07电信定稿_第2页
讲稿07电信定稿_第3页
讲稿07电信定稿_第4页
讲稿07电信定稿_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、目录摘要III IV 11112244466679910111112131422232323Abstract第一章绪论1.1研究目的和意义.2研究目的研究意义1.21.3第二章国内外研究现状及应用主要研究内容传感器选择及应用2.1传感器类型的选择.2传感器的主要类型传感器的选择2.2超声波传感器的测距原理.2超声波传感器简介利用超声波传感器的测距原理及实现第三章硬件设计超声波传感器测距的基本方案单片机的最小系统的设计超声波的模块设计..4发射电路接收电路电路显示电路3.4第四章超声波时系图超声波

2、测距的部分4.14.2超声波测距的基本流程程序.2232630323334主程序程序4.3第五章系统中可能出现的误差及改进总结参考文献致谢汽车防追尾的自动提示及摘要装置设计随着公路交通事业的迅猛发展,目前我国高速公路的总长已经跃居世界第二。高速公路的大力发展,产生了极大的经济效益社会效益。然而,高速公路作为一种新生事物,其安全管理、交通控制及信息与处理的若干还没有很好地掌握,因此,“高速”会带来触目惊心的安全效应。在车流滚滚的,每一辆车都是由个性不同的人在驾驶,每一个人素质不同性格各异,那男女老少,什么人都有。有些人开车打看,有些人不提示乱超车,的人则缺乏安全车距的概念,更有甚

3、者有的人简直是贴地飞行啊,所以从观念上就要认识到,上路就是在跟车打交道。这样想的话,你在就会警惕得多,车距就会大得多。为了减少汽车追尾事故的发生,本文介绍了预防公路追尾提示以及装置系统,系统由发射接收单元、控制单元、电路和显示输出电路。信息单元由超声波传感器完成对车辆运行状态信号,控制单元对输入信息进行分析、处理,完成防碰撞与判断能力,电路产生警报,提醒驾驶员采取措施以避免追尾事故产生,系统还具备显示功能。:传感器;汽车追尾;、显示系统Automatic Automobile Rear-end Design Tips and Alarm DeviceAbstractWith the radev

4、elopment of road transport, the current total length of highways hasbeen the second largesthe world. Highway to develop, resulting in great economic solbenefits. However, the highway as a new thing, its safety management, traffic control andinformation collection and prosing of a number of key techn

5、ology is not well mastered, sothe high speed will bring negative effects of shocking security.he traffic rolling on theroad, every car is different from the peoplehe drivingality,al qualities ofeach different different characters, andt men and women, but what people have. Somepeople drive to play ph

6、one messages, some people do not prompted chaos overtaking, morepeople lack the concept of safe distance betn vehicles or, worse, some people simply stickto the ground, ah, so we must recognize from the concept , the road is dealing with the car.Think so, you will be vigilant on the road mularger.or

7、e distance betn vehicles will be muchThis article describes the road to prevent rear-end tips, and alarm system, the system bythe acquisition unit, the central controit, the alarm circuit and the display outpircuit.Information collection unit by a single chip ultrasonic sensors to complete the vehic

8、le runningse signal acquisition, the central controit to input information forysis, prosing,ert tocompleted predict and judge the ability ofollialarm circuit to generateremind drivers to take measures to avoid rear-end accidents have The system also has display.Keywords:Sensors, Rear-end Colli,Alarm

9、,Display System第一章绪论研究目的和意义研究目的道路交通安全事关人民群众的安居乐业,事关社会的和谐稳定,建立健全道路安全体系是保障与改善国计民生的社会工程。由人车路(含交通环境)的系统是一个闭环系切交通活动都是发生在这个系统之中的,这个系统中的任何一个组成部分的正常机能受到破坏,都有可能道路交通事故1。因此,道路交通事故的基本要素必然是人(主要是驾驶员)、车辆、道路和交通环境。大多数交通事故是由于驾驶员、车辆、道路和交通环境等在内的综合系统的协调性失衡造成的。近几年,我国道路交通事故平均 60 多万起,亡人 10 万左右,伤亡率居高不下,仅中保每年赔付金额高达 160 多亿元,其

10、中一半是碰撞造成的损失,约 40 亿元是追尾事故造成的。在事故形态通追尾事故占到了 20%左右,是交通事故的主要形态,随着汽车工业的发展和高速公路的兴建,“汽车追尾”问题已日趋严重。在现代事故中“汽车追尾”的危害性是很大的,特别是在城市,道路追尾事件也越来越频繁发生。研究表明:如果驾驶员能够提前一秒有事故并采用相应的正确措施,则事故可以下降 90%,由此可以减少事故的直接经济损失 30%以上2。因此,开发公路追尾装置,可以为驾驶员争取一定的时间,以便有充足的时间采取相应的措施,从而避免事故发生。1.1.2研究意义车辆行驶过程中的避险措施主要由制动和转向两部分组成,而对于追尾避险过程,驾驶员的制

11、动行为特性将直接影响避险成功与否。汽车追尾作为道路交通事故的主要形式之一,有以下几种情况:驾驶员因为疏忽大意,超速行驶而造成的追尾相撞事故。因道路施工和发生交通事故引起车辆阻塞时,易发生追尾事故。当汽车间的行驶距离缩短,驾驶员精力不集中,发现前方汽车因为种种原因或者停车,因来不及采取措施而造成的追尾事故。因雨雪天气,能见度降低,路面湿滑,驾驶员不注意就会发生追尾事故。因驾驶员把驻车看成是行驶中的汽车,待行驶近后发现是驻车而踏制动踏板时,因来不及而造成的追尾相撞。(6)在高速公坡坡道上,最容易发生汽车追尾事故3。可见高速公路行驶中导致追尾事故发生的的众多的,驾驶员的驾驶行为和反应时间,速度的选择

12、,前后车距的保持,路面状况,交通量以及异常的天气状况等。本文应用超声波传感器来提示驾驶员采取措施避免追尾事故的发生,是一件比较复杂的事情,本文试图从超声波测距原理的观点建立一种追尾模型。1.2国内外研究现状及应用学的研究者,1994 年发生的 150 多万起追尾碰撞事故,其半数以上都能够由追尾碰撞避免系统所预防:研究者,借助于追尾碰撞系统,能使驾驶动响应时间缩短,使追尾事故数量减少,追尾碰撞降低率可达 62。多年来,系统和避免系统进行了大量研究;美、英、德、同的不少汽车公司(如的三菱、马自达、日产、本田及富土重工等)开展了车辆追尾碰撞避对追尾碰撞德国的奔驰,免系统的研究,其重要度在和德国分别达

13、到 69和 614。在道路引起汽车追尾的原因是多方面的,众所周知的诸如行车环境单调、气候条件差等易于诱发汽车追尾事故外,主要车速过高,行人对道路环境的影响,驾驶员未能保持相应的安全跟车距离,刹车不及所致。可见要防止城市道路追尾事故发生,关键在于保持车辆的安全跟车距离,保证驾驶员有足够反应时间来应对紧急情况。以上是研究追尾事故的主要目的,开发防追尾碰撞系统。国内一些学者部分在国外的基础上,对于追尾概率的研究提出了自己的研究思路,建立追尾的数学模型。熊和金等人在分析了汽车追尾的原因后,基于神经网络理论,建立了追尾的 BP 网络模型,并了追尾系统的技术实现方案。等人则应用自适应神经模糊推理系统,建立

14、了汽车追尾的 ANFIS(自适应神经模糊推理系统)概率模型,计算出在不同车速差和行车间距时的汽车追尾概率。该概率模型为汽车追尾建模提供了一个新的思路,对模型进行实时校正后用于追尾的距离并作出相应的提示,对避免汽车追尾具有指导意义。1.3主要研究内容科技进步使得今天的超声波传感器坚固耐用并有着精确的感应能力,这些新技术使得超声波传感器可以更加简单、灵活。这些新增的特性拓展了一个新的应用领域,完全了传统的超声波传感器的应用。现在的超声波传感器提供给了机械设计师,在工业领域发现了一个新的、极具创造性的解决方案。本研究的内容是基于单片机超声波测距系统,分别对超声波发生电路、回波接收电路、数码显示电路、

15、电路及系统软、硬件各个部分进行了研究,在每个方面也比较划算。主要内容有以下几点:根据测距技术的特点,进行超声波测距的整体研究与设计。针对超声波测距系统的整体功能作出相应的处理与分析。对超声波发射、接收电路进行设计。4.对电路设计与分析,并对发射和接收时间进量。5.LCD 液晶显示文字提示后面驾驶员以避免追尾。6.系统主程序、程序以及显示程序的设计。从而有力地支持汽车的追尾规避运动,降低追尾事故发生的可能性。从而降低驾驶者不必要的麻烦,使驾驶更方便、更安全。第二章传感器选择及应用传感器类型的选择传感器的主要类型汽车防追尾最关键和最基本的技术是车辆测距技术,现在运用在汽车上的测距方法主要有超声波测

16、距,测距,激光测距,和夜间应用的红外线测距等几种方法。(1)超声波测距;超声波一般指频率在 20 KHz 以上的机械波,具有性较强、衰减小、反射能力强等特点,超声波测距仪器一般由、和信号处理装置三部分组成。工作时,超声波不断发出一系列连续的脉冲,并给测量逻辑电路提供一个短脉冲。超声波则在接收到物反射回来的反射,也向测量逻辑电路提供一个短脉冲。最后由信号处理装置对接收的信号依据时间差进行处理,自动计算出车与物之间的距离。超声波指向性强,能量消耗缓慢,在介质中的距离较远,因而超声波经常用于距离的测量,如测距仪和物 位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做

17、到实时控制,并且在测量精度方面能达到工业实用的要求,因此在汽车追尾的研制上也得到了广泛的应用。(2)激光测距;激光在检测领域中的应用十分广泛,技术含量十分丰富,对社会生产和生活的影响也十分明显。激光测距是激光最早的应用之一。这是由于激光具有方向性强、亮度高、单色性好等许多优点。传输时间激光传感器工作时,先由激光二极管对准目标发射激光脉冲。经过目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种具有放大功能的光学传感器,因此它能检测极其微弱的光信号。并处理从光脉冲发出到返回被接收所经历的时间,即可测定目标距离。传输时间激光传感器必

18、须极其精确地测定传输时间,因为光速太快5。在汽车测距系统中,具有造价低、速度快、稳定性高等特点。但由于激光测距仪器工作环境处于高速运动的车体中,振动大,对其稳定性、可靠性提出了较高的要求,其体积也受到了一定的限制,同时还要考虑省电、低价、对安全等。这些决定了其汽车基本上不采用激光测距。(3)红外线测距;红外线的波长比可见光长,是肉眼看不见的光,有显著的热效应和较强的云雾的能力。同时,任何物体在任何时候都会发出红外线。车载仪器通过发射并接收前方物体反射回的红外线,依据信号的强弱及波长的不同,同时分析时间差,可分析出前方物体的性质及与汽车的距离。由于红外线人类肉眼感知不到,具有极强的隐蔽性,夜间同

19、样不妨碍测距仪的工作,故该种测距仪广泛应用在汽车上具有极强的隐蔽性,夜间同样不妨碍测距仪的工作,故该种测距仪广泛应用在汽车上。(4)测距;车用首先要解决技术难题就是减少误报。车辆道路中行驶状况十分复杂,并线、移线、转弯、上下坡以及道路两旁静态护栏、标志牌,还有各种恶劣天气影响等,使对主目标识别十分,误报率很高。尽管某些具有二维,三维目标探测能力,但迄今为止,没有任何一个传感器能保证任何时刻提供完全可靠信息。要想完全解决好误报问题,还需要采取多传感器之间信息融合技术。生产主要材料 GaAs 和 SiGe 价格一直居高不下,成为车用推广应用瓶颈。(Freescale)半另外,及天线小型化与成本造价

20、之间也同样存。飞思导体公司率先采用新型硅锗双极CMOS 材料工艺生产毫米波射频,使生产价格大为降低。MMIC发展,使固态收发模块中应用达到实用阶段。可将固态收发模块中有源器件和无源器件制作同一块砷化镓基片上,大大提高了固态收发模块技术性能,使成品一致性好、尺寸小、重量轻。可以预见,新材料、新工艺中不断应用,使价格低廉、高性能车用实现和普及成为可能。必须满足电磁兼容性(EMC)要求,即其电磁环境中须符合要求运行,并不对其环境中任何设备产生受电磁干扰。目前,世界上还没有车用使用频带是世界上唯一将车用频段确定6061GHz 国家。近几年,又将7677GHz决定,从 2005 年下半年至 2013 年

21、使用频带。考虑到其他无线通信业务频段作为车用系统使用频段。欧洲,欧盟期间,整个欧盟范围内,将 24GHz 作为车用发展,2013 年以后,将频带调整为 79GHz。则使用 24,7677GHz2 个频带。,需要对车载规定频带,从技术上保证车用无干扰条件下正常使用,确保道路交通安全6。由此可见,采用测距预防汽车追尾连续波激光测距机发射的(平均)功率较低,因而测距能力相对较差。2.1.2传感器的选择由于街道上车辆多行驶速度慢,与物之间的距离短,因此对传感器的要求不是很高,所以选用原理简单,成本低、制作方便以及物美价廉的超声波传感器。超声波传感器的测距原理超声波传感器简介超声波传感器是利用超声波的特

22、性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的。超声传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。传感器的主要组成部分是压电晶片,既可以发射超声波,也可以接收声波。当压电晶片发射电脉冲激励后产生振动,即可发射超声波脉冲,这是逆压电效应,主要用于超声波的发射。超声波传感器利用传感器头部的板的振动产生高频人耳听不见的声波来进行感应的,如果这声波碰到了某个物体反射回来,而当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,这是正压电效应,因此传感器就能接收到返回波。传感器依据声波波长和发射

23、及接纳回波的时间差就能肯定传感器探头与物体之间的间隔。传感器通过声波的波长和发射声波以及接收到返回声波的时间差就能确定物体的距离,这就是所谓的时间差距法。超声波传感器结构如图 2.1 所示:图 2.1 超声波传感器结构正压电效应是指:当晶体受到某固定方向外力的作用时,就产生电极化现象,同时在某两个表面上产生符号相反的电荷;当外力撤去后,晶体又恢复到不带电的状态;外力作用方向改变时,电荷的极性也随之改变;晶体受力所产生的电荷量与外力的大小成正比。压电式传感器大多是利用正压电效应制成的。其作用原理电路如图 2.2 所示:图 2.2正压电效应原理图逆压电效应是指对晶体施加交变电场引起晶体机械变形的现

24、象。用逆压电效应制造的变送器可用于电声和超声工程。压电敏感元件的受力变形有厚度变形型、长度变形型、体积变形型、厚度切变型、平面切变型 5 种基本形式。压电晶体是各向异性的,并非所有晶体都能在这 5 种状态下产生压电效应。例如石英晶体就没有体积变形压电效应,但具有良好的厚度变形和长度变形压电效应。其作用原理如图 2.3 所示:图 2.3逆压电效应原理图2.2.2利用超声波传感器的测距原理及实现超声波是指频率高于20KHz的机械波。通常选择的是40KHZ的声波进行传输。为了以超声波作为检测,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,上称为超声波换能器或超声波探头。超声波传感器

25、有发送器和,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化。即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的原理一般采用渡越时间法TOF(time of flight)。单片机每隔一定时间间隔向超声波换能器发送一串频率为40kHz(超声波换能器的谐振频率)的激励脉冲,使超声波换能器向需要探测的方向发射出超声波,同时开始定时,一旦接收到返回的超声波信号即停止定时,获得超声波往返时间t,超声波在空气中的射点距物的距离(s),即:速度344m/s,根据计时器的时间t,就可以计算出发s=

26、ct/2速度,t 为测出超声波从发射到遇到其中 c 为超声波在空气中的物返回所经历的时间。由声波产生的物理过程可知,声速与质点速度是完全不同的,声波的只是扰动形式和能量的传递,并不把在各自平衡位置附近振动的媒质点传走。某种媒质中的声速主要取决于该媒质的密度和温度7。由于超声波也是一种声波,其声速 c 与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。常温下可以大致的认为超声波的速度是 344m/s。第三章硬件设计3.1超声波传感器测距的基本方案超声波测距的系统组成主要分为两部分:(1)硬件部分:主要由单片机系统、显示电路以及

27、提示电路,超声波发射电路、超声波检测接收电路、电路和提示电路四部分组成(单片机由输出口触发控制超声波的发送,然后单片机不停的检测0,当0 由0 由低电频变为高电频时就认为超声波已经返回,此时计数器开始计数,当变为低电平的时候,计数器停止计数,那么计数器计数值就是超声波从发送到碰到物之后又反射回来总共用的时间。(2)部分:主要由主程序、超声波发生子程序、超声波接收中断程序、显示子程序和提示程序等。系统的设计及器件的选择是在这个基础上进行的,系统结构如图 3.1 所示:图 3.1系统结构图为了保证绝对安全,两车之间应保持一定的间距,该值选取的越大,系统的虚警率越高;选取的越小,系统的安全保障能力越

28、小。国内外的资料一般选取 25m,考虑到安全问题和系统延迟及前后车制动度可能不一致等问题,本模型取最大值 5m 。我们在控制器中预设 5m,当超声波发射出去的脉冲信号遇到反射回来,经控制器运算与预设的相比较,如果小等于 5m 时,提示器就会发出“嘟嘟”提示本车驾驶员稍微加速或者采取相应的措施。而显示器就会就会显示“请保持车距”提示后面驾驶员以免产生碰撞。超声波测距主要由超声波发射电路和接收电路、单片机检测定时电路、单片机控制显示电路、电路组成8。系统电路如图 3.2 所示:图 3.2系统电路图超声波发射和接收电路是整个系统的重要组成部分,因此设计出一种良好的设计方案关系到整个系统的精确性和安全

29、可靠性。3.2单片机的最小系统是为了保证单片机系统能正常工作,如图3.3所示。单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V电源组成。在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容的振荡电路两侧,为电路提供正常的时钟脉冲。在复位电路中,单片机RESET管脚一方面经20F的电容接至电源正极,实现上电自动复位,另一方面经开关s接电源。其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动。因此,

30、复位电路是单片机系统中不可缺少的一部分。图 3.3单片机的最小系统电路8051 单片机是采用 40 引脚双列直插封装形式,由 CPU,4KB 的 ROM,256b的 RAM,2 个 16b 的定时/计数器 T0 和 T1,4 个 8b 的 I/O 端口,IP0、P1、P2、P3,一个全双工串行通信口等组成。单片机内的 FLASH 可编程、可擦出只读器(EPROM),使其在实际中有着广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。8051 单片机提供以下功能:4KB器:256BRAM:32 条 I/O 线:2 个 16b 定时/计数器:5 个 2 级中断源:1 个全双向的串行口以

31、及时钟电路。空闲方式:CPU 停止工作,而让 RAM、定时/计数器、串行口和中断系统继续工作掉线方式:保存 RAM 内的内容,振荡器停振,次硬件复位9。所有的其他功能直到下一超声波的模块设计发射电路超声波发射部分是为了超声波发射换能器 TCT40-16T 能向外界发射 40KHz 左右的脉冲信号。40KHz 左右的脉冲信号的产生通常有两种方法:采用硬件如 555 或编程输出,本系统是采用后者。编程由单片机 P1.0 端口输出 40KHz 左右的方单片机波脉冲信号,由于单片机的端口输出功率不够,40KHz 的信号分成,送给一个74LS04 的推勉式电路进行功率放大以便使发射距离足够远满足测量距离

32、要求,最后送给超声波换能器 TCT40-16T 以声波形式发射到空气中。发射部分的电路如图 3.4 所示:图中的上拉电阻 R1、R2,一方面可以提高反向器 74LS04 输出的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其振荡的时间。图 3.4发生电路3.3.2接收电路接收电路如图 3.5 所示:图 3.5接收电路如图 3.5 所示,使用 CX20106A 作为超声波接收处理的典型电路。(当CX20106A接收到 40KHz 的信号时,会在第 7 脚产生一个低电平下降脉冲,这个信号可以接到单片机的外部中断引脚作为中断信号输入)。使用 CX 20106A 集成电路对接收探头受到的信号进行

33、放大、滤波。其总放大增益80db。以下是 CX20106A 的引脚注释。脚:超声信号输入端,该引脚的输入阻抗约为 40k。脚:该引脚与地之间连接 RC 串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻 R1 或减小 C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但 C1 的改变会影响到频率特性,一般在实际使用中不必改动,选用参数为 R=4.7k,C=1F。脚:该引脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,参数为 3.3f。脚

34、:接地端。脚:该引脚与电源间接入一个电阻,用以设置带通滤波器的中心频率 f0,阻值越大,中心频率越低。例如,取 R=200k 时,f042kHz。若取 R=220k,则中心频率 f038kHz。脚:该引脚与地之间接一个积分电容,标准值为 330pF,如果该电容取得太大,会使探测距离变短。7 脚:命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,阻值为 22k,没有接受信号是该端输出为,有信号时则产生下降。8 脚:电源正极,4.55V。3.3.3电路模块选用蜂鸣器提示,如图 3.6 所示:图 3.6电路当程序达到条件时,单片机 AT80S51 输出 0,三极管导通,蜂鸣

35、器发出“嘟嘟”提示本车驾驶员,是否该加速。当没达到要求时,单片机 AT80S51,输出 1,三极管截止,蜂鸣器不做任何。3.3.4显示电路显示电路如图 3.7 所示:图 3.7显示电路如图 3.7 所示,根据设计要求并综合各方面,可以采用 AT80S51 单片机作为主控制器,用动态扫描法实现 LED 数字显示,超声波驱动信号用单片机的定时器完成,显示器与器同步完成,当两车距离小等于 5m 时,显示器显示“请保持测距”,这样以避免后面的驾驶员行驶速度过快。其显示电路的汇编语言如下:START COM HDATA LDATA ASCXYEQU EQU EQU EQU EQU EQUEQU30H31

36、H32H33H34H35H36H0000H;起始字节;命令/数据;命令/数据字节;命令/数据字节低位;ASCII 数据单元MAIN:MOV CLR SETB SETB CLR CALL CALL MOV MOV CALL MOV MOV CALL MOV CALL MOV CALL MOV CALLMOVSP,#60H RESRES CS PSBLCDRESET HZKDIS START,#0F8H COM,#80H LCDWRITE START,#0FAH COM,#10H LCDWRITE COM,#11H LCDWRITE COM,#1EH LCDWRITE COM,#1FH LCDWR

37、ITESTART,#0F8H;可以直接接电源 VDD;可以直接接电源 VDD;可以直接接地 VSS;模块系统初始化;显示汉字子程序;写入命令(11111000);设定显示位置;写数据(11111010);显示字符;显示字符;显示字符;显示字符;写入命令(11111000)MOV CALL MOV CALL CALL CALL CALL MOV CALL CALLJMPCOM,#34H LCDWRITE COM,#05H LCDWRITE DL40MS DL40MS DL40MS A,#055H LCDFILL CLEARMAIN;扩充功能设定;反白选择;延时;绘图方式下写 55 数据;清屏CL

38、EAR:;清屏子程序MOV CALL RETLCDRESET:LCALL MOVA,#00HLCDFILLDL1MSSTART,#0F8H;延时等待复位; 写入命令(11111000);使用基本指令集MOV LCALL MOV LCALL MOV LCALL LCALL MOV LCALL LCALLRETCOM,#30H LCDWRITE COM,#0CH LCDWRITE COM,#01H LCDWRITE DL1MS COM,#06H LCDWRITEDL1MS;整体显示 ON;清屏;显示右移LCDWRITE: MOV ANL MOV MOV SWAP ANL MOV MOV LCALL

39、 LCALL MOV LCALL LCALL MOV LCALL LCALL RETHZKDIS:;模块写入子程序;送待发数据命令 AA,#0F0HHDATA,A;低 4 位;将高 4 位送 HDATA 单元;取低 4 位;高低 4 位互换A A,#0F0H LDATA,A A,START SENDBIT DL5S A,HDATA SENDBIT DL1MS A,LDATA SENDBITDL1MS;将低 4 位送 LDATA 单元;取起始字节;发送;延时 5s;显示汉字子程序MOVMOVR5,#2START,#0F8H;写入命令(11111000);设定显示位置MOV LCALL MOVMO

40、VCOM,#80H LCDWRITE DPTR,#TABA,#00H;指向文字型代码表;取汉字代码低位;每行八个汉字DIS_1: MOV DIS_2:MOVCLRMOVCR6,#8START,#0FAH A;写数据(11111010)A,TRMOV CALL INC CLR MOVC MOV CALL INC CALL MOV CLR MOVC MOV CALL INC CLR MOVC MOV CALL INC CALL DJNZ MOV MOV CALL DJNZ RETLCDFILL:MOVCOM,A LCDWRITE DPTRA;写入显示模块;取汉字代码A,COM,ATRLCDWRIT

41、E DPTR DL40MSTART,#0FAHA;写入显示模块;写数据(11111010)A,COM,ATRLCDWRITE DPTRA;写入显示模块;取汉字代码A,COM,ATRLCDWRITE DPTR DL40MS R6,DIS_3START,#0F8H COM,#98H LCDWRITER5,DIS_4;写入显示模块;未显示完则继续;写入命令(11111000);第四行地址;遇“1”结束显示;写完两行则结束;绘图R4,AMOV MOV MOV MOV CALL MOV CALL MOV CALLLCD_A1:MOV LCD_A2:MOV MOV ADD MOV CALL MOV ADD

42、 MOV MOV CALL MOV MOV CALL CALL INC MOVCJNEXY,#0,#0START,#0F8H COM,#30H LCDWRITE COM,#01H LCDWRITE COM,#36HLCDWRITE;重新选择基本指令?;清屏;扩充功能设定Y,#0START,#0F8H A,XA,#80H COM,A LCDWRITE A,YA,#80H B,A COM,ALCDWRITE START,#0FAH COM,R4 LCDWRITE LCDWRITEYA,B A,#87H,LCD_A2;设定绘图首地址;X 坐标;Y 坐标;最后一列地址为 87HINC MOV CJNE

43、 MOVLCD_A3:MOV LCD_A4:MOV MOV ADD MOV CALL MOV ADD MOV MOV CALL MOV MOV CALL CALL INC MOV CJNE INC MOV CJNE RETSENDBIT:MOVXA,X A,#20H,LCD_A1;最后行地址为 80H+20H=0A0HXY,#0,#0START,#0F8H A,XA,#80H COM,A LCDWRITE A,YA,#80H B,A COM,ALCDWRITE START,#0FAH COM,R4 LCDWRITE LCDWRITEYA,B A,#8FH,LCD_A4 XA,XA,#20H,L

44、CD_A3;设定绘图首地址; X 坐标;Y 坐标;最后一列地址为 8FH;最后行地址为 80H+20H=0A0H;串行字节数据发送子程序;发送 8 位R7,#08HSEND_1:RLC MOV CLR SETB DJNZ RETDL1MS:PUSH PUSH PUSH MOVASTD,C SCLK SCLK R7,SEND_1;数据送数据线;产生同步时钟;未发送完 8 位继续;延时子程序;0.5S00H01H02H R2,#01HR0,#0FH R1,#0FHR1,$ R0,WA_PB R2,WA_PA 02H01H00HWA_PA:WA_PB:MOV MOVDJNZ DJNZ DJNZ PO

45、P POP POP RET NOPRETDL40MS: ;延时子程序 40MSSETB MOVDL_PA: MOV DL_PB:MOVDJNZPSW.3 R2,#03H R0,#0FFH R1,#0FFHR1,$DJNZ DJNZ CLRRETR0,DL_PB R2,DL_PAPSW.3TAB:DBDB-请保持车距00HEND3.4超声波时系图一个控制口发一个10US以上的,就可以在接收口有一个输出.一有输出就可以开定时器计时,当他变为低电平时就可以读定时器的值,此时就为这次测距的时间,就可以算出距离。如此不断的周期测,就可以达到移动测量的值。超声波时系图如示:图 3.8超声波时系图第四章超声

46、波测距的部分的设计4.1超声波测距的基本流程超声波发射子程序的作用是通过 P1.0 端口发送 2 个左右的超声波信号频率为40KHz 的,脉冲宽度为 12us 左右,同时把计数器 T0 打开开始计时。超声波主程序利用外中断0 检测返回超声波信号,一旦接收到返回超声波信号(立即进入中断程序。其系统基本流程如图 4.1 所示:0 引脚出现低电平),图 4.1系统的基本流程其显示的实物图如 4.2 所示图4.2 显示实物图4.2 程序4.2.1主程序*/void main(void)/ 主程序udistance_data;uchar k;/定义变量i指向字符串数组元素LcdInitiate(); d

47、elay(10); WriteAddress(0 x01); k = 0;while(stringk != 0)/调用LCD初始化函数/延时10ms,给硬件一点反应时间/ 从第1行第2列开始显示/指向字符数组的第1个元素WriteData(stringk);k+;/指向下字符数组一个元素i=0; Tx=0;TMOD=0 x09; IT0=0; ET0=1; EX0=0;while(1)WriteAddress(0 x41); WriteData(J);WriteData(U);WriteData(L);WriteData(I);WriteData(:); WriteData(digitqian

48、); WriteData(digitbai); WriteData(digitshi);WriteData(digitge);/首先拉低脉冲输入引脚/定时器0,16位工作方式/由变低电平,触发外部中断/打开定时器0溢出中断/关闭外部中断/程序循环/ 从第2行第2列开始显示/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将千位数字的字符常量写入LCD/将百位数字的字符常量写入LCDWriteData( );WriteData(C);WriteData(

49、M); EA=0;Tx=1;delay_20us(); Tx=0;succeed_flag=0; TL0=0;TH0=0;/将百位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/产生一个20us的脉冲,在Tx引脚/清测量成功标志/定时器0清零/修改/定时器0清零/修改TR0=1;while(Rx=0);/启动定时器0/修改/等待Rx回波引脚变EX0=1; EA=1;while(Rx = 1); TR0=0;EX0=0;/打开外部中断/等待低电平的到来和终端/关闭定时器1/关闭外部中断/修改/修改if(succeed_flag=1)dieH;distan

50、ce_data=8;/测量结果的高8位/放入16位的高8位 eL;/与低8位合并成为16位结果数据distance_data=distance_data|distance_data= distance_data/58;distancei=distance_data; /将测量结果的数据放入缓冲区i+;if(succeed_flag=0)distance_data=0;/没有回波则清零if(i=3) distance_data=(distance0+distance1+distance2+distance3)/4;converi=0;(distance_data);4.2.2程序小于5米开始驱动

51、蜂鸣器*/void warn(uwarn_data)if(warn_data 500)warn_beep = 1;void main(void)/ 主程序udistance_data;uchar k;/定义变量i指向字符串数组元素LcdInitiate(); delay(10); WriteAddress(0 x01); k = 0;while(stringk != 0)/调用LCD初始化函数/延时10ms,给硬件一点反应时间/ 从第1行第2列开始显示/指向字符数组的第1个元素WriteData(stringk);k+;/指向下字符数组一个元素WriteAddress(0 x41);/ 从第2

52、行第2列开始显示WriteData(J);WriteData(U);WriteData(L);WriteData(I);WriteData(:);/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCDWriteData(digitqian); WriteData(digitbai); WriteData(digitshi);WriteData(digitge);/将万位数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将千位数字的字符常量写入LCD/将百位数字的字符常量写入LCDWriteData( );/将百位

53、数字的字符常量写入LCD WriteData(C);/将万位数字的字符常量写入LCD WriteData(M);/将万位数字的字符常量写入LCDi=0;Tx=0;/首先拉低脉冲输入引脚TMOD=0 x09; IT0=0; ET0=1; EX0=0;while(1)/定时器0,16位工作方式/由变低电平,触发外部中断/打开定时器0溢出中断/关闭外部中断/程序循环WriteAddress(0 x46); WriteData(digitqian); WriteData(digitbai); WriteData(digitshi); WriteData(digitge); EA=0;Tx=1;/将万位

54、数字的字符常量写入LCD/将万位数字的字符常量写入LCD/将千位数字的字符常量写入LCD/将百位数字的字符常量写入LCDdelay_20us();Tx=0;/产生一个20us的脉冲,在Tx引脚succeed_flag=0; /清测量成功标志TL0=0;TH0=0; TR0=1;/定时器0清零/定时器0清零/启动定时器0/修改/修改/修改while(Rx=0); /等待Rx回波引脚变EX0=1;EA=1;/打开外部中断while(Rx = 1); /等待低电平的到来和终端TR0=0;EX0=0;/关闭定时器1/关闭外部中断/修改/修改if(succeed_flag=1)dieH;distance

55、_data=8;/测量结果的高8位/放入16位的高8位 eL;/与低8位合并成为16位结果数据distance_data=distance_data|distance_data= distance_data/58;conver(distance_data);warn(distance_data);delay(1000); warn_beep = 0;/每次检测时把蜂鸣器关闭/*/外部中断0,用做判断回波电平O_()errupt 0/ 外部中断是0号eL =TL0; eH =TH0;succeed_flag=1;TR0 = 0;/取出定时器值/取出定时器的值/至成功测量的标志/关闭定时器0/修改

56、/修改/*/定时器0中断,如果出现中断则一次循环此次计时,超过超声波模块接受的范围,等待进入下/*timer0()errupt 1/ 定时器0中断是1号EX0 = 0;succeed_flag = 0;TL0 = 0;TH0 = 0;/显示数据转换程序void conver(utemp_data)uchar ge_data,shi_data,bai_data,qian_data ; qian_data = temp_data/1000;temp_data = temp_data % 1000;bai_da temp_da shi_da temp_dage_daemp_data/100 ;emp_data%100;/取余运算 emp_data/10 ;emp_data%10;emp_data;/取余运算EA=0;qian = qian_data; bai = bai_data; shi = shi_data; ge= ge_data ;EA=1;4.3系统中可能出现

温馨提示

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

评论

0/150

提交评论