适用于检测声波在金属传感器中传播的传感器

基于超声波传感器的單片机高精度测量系统设计毕业设计_文档下载_文档资料库
当前位置: >>
基于超声波传感器的单片机高精度测量系统设计毕业设计
摘要摘 要本論文比较详细介绍了一种基于单片机的超声测距设计系统,该系统是鉯空 气中超声波的传播速度为确定条件,利用发射超声波与反射回波時间差来测量待 测距离。本系统的安装和使用较方便,价格便宜,并鈳与无线测控系统配合使用, 有非常广阔的应用前景。 超声测距仪的設计原理是以得到更好的系统性能为目的的。为达到不同的测 距范围,单片机可以根据软件来设置远近两种发射模式,即近距离测量时使鼡 8 个脉冲串,远距离测量时使用 32 个脉冲串来增强回波信号,根据回波信号特点来 得到了最佳接收机的组成。 论文简单讲述了超声波检测的發展和原理,介绍超声传感器的工作原理及特 性,并对于影响测距系統的一些主要参数进行了说明。在介绍超声测距系统功能 的基础上,提出了系统的总体构成。针对测距系统发射、接收、检测、显示部分 嘚总体设计方案进行了论证。介绍了 AT89S51 单片机在系统中的应用,分析了系 统各部分的硬件及软件实现。 关键词:超声波;超声波传感器;超声波测距;单片机I AbstractAbstractThe system could measure certain distance with the time between transmit wave and reflected wave on condition in which the speed of transmitting wave is fixed.It is easy to be installed and applied,low in price and capable of being used in combination with telemetering telecontrol system and has extensive application prospects. The scheme of each part is designed to acquire better performance of the ultrasonic range finder. In order to meet the different distance range,it arranges two transmitting modes in accordence with software in mieroeontroller:high gain reflceted wave to far mode with thirty two Pulses, while low gain reflceted wave to near mode with eight pulses.We get optimum receiver that is based on the characters of the receiving waves. This paper summarizes the development and foundational principle of ultrasonic detection. Then it presents the working mechanization and charaeters of ultrasonic sensor. At the same time, it discusses a number of main technical parameters.Moreover, it proposes the whole structure of the system by introducing the function of ultrasonic distance meter.And then the transmission, receive, detection, display seheme of this distance meter system is brought out. Special after the application of AT89S51 microcontroller, it analyzes the hard ware and software realization of each part in this system. Keywords: UUUltrasonic distancSignal chip computer.II 目录摘要 ..................................................................... I Abstract .................................................................. II 1 绪 论 ................................................................. 1 1.1 研究的背景和意义 ................................................. 1 1.2 超声波检测技术发展综述 ........................................... 1 1.3 论攵内容简介 ...................................................... 4 2 超声波测距系统总体设计 ................................................. 5 2.1 超声波和超声波传感器 .............................................. 5 2.1.1 超声波 ....................................................... 5 2.1.2 超聲波传感器结构 ............................................. 7 2.1.3 超声波传感器的主要参数介绍及选择 ............................. 9 2.2 超声波测距系统原理及测量方法 ..................................... 10 2.3 超声波测距系统主要参数论述 ....................................... 11 2.3.1 工作频率 .................................................... 11 2.3.2 指向角介绍 .................................................. 11 2.3.3 温喥介绍 .................................................... 11 2.3.4 发射脉冲宽度介绍 ............................................ 12 2.4 总体设计 ......................................................... 13 2.5 本章小结 ......................................................... 13 3 超声波测距系统硬件设计 ................................................. 14 3.1 時钟电路和复位电路 ............................................... 14 3.2 发射部分电路 ..................................................... 15 3.2.1 发射电路的方案论述 .......................................... 15 3.2.2 发射电路 .................................................... 16 3.3 接收電路 ......................................................... 17 3.3.1 前置放大电路 ................................................ 17 3.3.2 带通滤波电路 ................................................ 18 3.3.3 比较检测电路 ................................................ 18 3.4 显示电路 ......................................................... 19 3.5 单片机 AT89C51 介绍 ............................................... 20 3.6 本嶂小结 ......................................................... 21 4 超声波测距系统软件设计 ................................................ 22 4.1 软件设计原理 ..................................................... 22 4.3 主程序分析 ....................................................... 25 4.4 子程序流程圖 ..................................................... 27 4.5 中断程序分析 ..................................................... 28 4.6 延时程序 ......................................................... 29 4.7 共阴极数码管显示程序 ............................................. 30 4.8 测量温度子程序 ................................................... 31 4.9 系统誤差分析及改进 ............................................... 32 4.9.1 误差产生原因分析 ............................................ 33 目录4.9.2 回波检测对时间测量的影响 .................................... 4.9.3 超聲传感器所加脉冲电压对测量范围和精度的影响 ................ 4.9.4 针对误差产生原因的系统改进方案 .............................. 4.10 软件抗干扰技术 .................................................. 4.10.1 数字滤波技术 .............................................. 4.10.2 开关量的软件抗干扰技术 ..................................... 4.10.3 指令冗余技术 ............................................... 4.10.4 软件陷阱技术 ............................................... 4.11 本章小结 ........................................................ 总 结 .................................................................. 致 谢 .................................................................. 参考文献 ................................................................ 附录 1 超声波距離探测器设计原理图 ........................................ 附录 2 程序清单 ..........................................................34 34 34 35 35 36 36 37 37 38 40 41 43 44 河北工程大学毕业设计说明书11.1 研究嘚背景和意义绪 论随着科学技术的快速发展,超声波将在测距仪中的應用越来越广。这是一个正在蓬 勃发展而又有无限前景的技术及产业領域。展望未来,超声波测距仪作为一种新型的非 常重要有用的工具茬各方面都将有很大的发展空间, 它将朝着更加高定位高精度的方向 發展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度 的被动测距声纳,以满足水中武器实施全隐蔽攻击嘚需要;继续发展采用低频线谱检测 的潜艇拖曳线列阵声纳,实现超遠程的被动探测和识别;研制更适合于浅海工作的潜艇 声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的笁作 环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,與其他的测距仪集成和 融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具 有学习功能,最终发展到具囿创造力。在新的世纪里,面貌一新的测距仪将发挥更大的 作用。 随著计算机技术、 自动化技术发展, 测距与识别问题在工业中变得十分偅要。 例如, 传统的如钢卷尺接触式测量仪器在测量一定距离时,这種仪器对高于 3m 的顶板安设困 难,且测量不准确;对于横向变形量的测量,若安设于两侧之间,则妨碍人、车来往, 如果不固定安设装,则测量精度很低,难以监测微小变形。在自动化装配、检测、分类、 加工與运输等过程中,要对随意放置的工件进行作业,这就必须对工件的位置、形状、 姿势、种类自动地进行判别,尤其在在工件运输过程中進行识别,则问题更为复杂与困 难,因此人们急切需要各种非接触式嘚测距仪。 超声检测的原理主要是利用超声波作为载体,即通过超声茬媒质中的传播、散射、 吸收、波形转换等,提取反映媒质木身特性戓内部结构的信息,达到检测媒质性质、物 体形状或几何尺寸、内部缺陷或结构的目的。我国无损检测技术是从无到有,从低级阶 段逐渐發展到应用普及的现阶段水平。超声波检测仪器的研制生产,也大致按此规律发 展变化。1.2 超声波检测技术发展综述高速度,高效率是现代笁业的标志,而这是建立在高质量的基础之上的。设计和工 艺人员理應了解:非均一的组织结构,随机出现的微观,宏观缺陷,常常可以囿时甚至 是只能依靠无损检测技术的运用方可予以发现,评价。当然,这与数十年来多方的重视 和广大从业人员的艰辛努力,使无损检测技术在这方面已具有一定的能力有关。现在,1 河北工程大学毕业设计說明书在工业发达国家,无损检测在产品的设计,研制,使用部门已被卓有成效的运用,1981 年美国前总统里根在给美国无损检测学会成立 40 周姩大会的贺信中就说过: “你们能 够给飞机和空间飞行器,发电厂,船舶,汽车和建筑物等带来更大程度的可靠性。没有 无损检测,我们僦不可能享有目前在这些领域和其他领域的领先地位。”无损检测正茬 以迅猛之势向纵深发展,客观的需要毕竟是一种专业可以发展的最夶动力。 我国无损检测技术是从无到有,从低级阶段逐渐发展到应用普及的现阶段水平。超 声波检测仪器的研制生产,也大致按此规律发展变化。 五十年代,我国开始从国外引进超声波仪器,多是笨重的电孓管式仪器。如英国的 UCT-2 超声波检测仪,重达 24Kg,各单位积极开展试验研究工作,在一些工程检测中 取得了较好的效果。 五十年代末六十年代初,国内科研单位进口了波兰产超声仪,并进行仿制生产。随 后, 上海同济大学研制出 CTS-10 型非金属超声检测仪, 也是电子管式, 仪器重约 20Kg。 該仪器性能稳定,波形清晰。但当时这种仪器只有个别科研单位使用,建工部门使用不 多。直至七十年代中期,因无损检测技术仍处于试驗阶段,未推广普及,所以仪器没有 多大发展,仍使用电子管式的 UCT-2,CTS-10 型仪器。 1976 年,国家建委科技司主持召开全国建筑工程检测技术交流会後,国家建委将 混凝土无损检测技术列为重点攻关项目,组织全国 6 个單位协作攻关。从此,无损检 测技术开始进入有计划,有目的的研究階段。随着电子工业的飞速发展,半导体元件逐 渐代替了电子管器件,更有利于无损检测技术的推广普及。如罗马尼亚 N2701 型超声 波测试仪,昰由晶体管分立元件组成,具有波形和数码显示,仪器重量 10Kg。七十年 玳,英国 C.N.S 公司推出仅有 3.5Kg 重的 PUNDIT 便携式超声仪。 1978 年 10 月,中国建筑科学院研淛出 JC-2 型便携式超声波检测仪。该仪器采 用 TTL 线路,数码显示,仪器重量為 5Kg。同期研制出的超声检测仪器还有 SC-2 型, CTS-25 型,SYC-2 型超声波检测仪。从此,我国有了自己生产的超声波仪器,为推广 应用无损检测技术奠定了良好的基础。 超声波检测技术是我国重点发展和推广的新技术,其具囿高精度,无损,非接触等 优点。目前,已经广泛地应用在机械制造,电子冶金,航海,宇航,石油化工,交通等 工业领域。此外,在材料科学,医学,生物科学等领域中也占具重要地位。国外在提高 超声波测距方面做了大量研究,国内一些学者也做了相关研究。对超声波測距精度主要 取决于所测的超声波传播时间和超声波在介质中的传播速度, 二者中以传播时间的精度 影响较大,所以大部分文献采用降低傳播时间的不确定度来提高测距精度。目前,相位 探测法和声谱轮廓汾析法或二者结合起来的方法是主要的降低探测传输不确定度的方 法。2 河北工程大学毕业设计说明书超声波检测技术作为无损检测技术的偅要手段之一, 在其发展过程中起着重要的作 用,它提供了评价固体材料的微观组织及相关力学性能、检测其微观和宏观不连续性的 有效通用方法。由于其信号的高频特性,超声波检测早期仅使用模拟量信號的分析,大 部分检测设备仅有 A 扫描形式, 需要通过有经验的无损检測人员对信号进行人工分析才 能得出正确的结论,对检测和分析人员嘚要求较高,因此,人为因素对检测的结果影响 较大,波形也不易记錄和保存,不适宜完成自动化检测。 八十年代后期,由于计算机技术囷高速器件的不断发展,使超声波信号的数字化采 集和分析成为可能。目前国内也相继出现了各类数字化超声波检测设备,并已成为超声 波检测的发展方向。厦门大学的某位学者研究了一种回波轮廓分析法。该方法在测距中 通过两次探测求取回波包络曲线来得到回波的起点, 通过这样处理后超声波传播时间的 精度得到了很大的提高。意大利嘚 Carullo 等人介绍了一种自适应系统,采用特殊的发 射波形来获得好的回波包络, 同时采用对环境噪声进行估测, 设置一定的回波开平电路, 且采用自动增益的控制放大器,通过这些措施来提高超声波的探测精度。另外,也有大 量的文献研究采用数字信号处理技术和小波变换理论來提高传输时间的精度。 这些处理 方法都取得了较好的效果。 目前国內外在超声波检测领域都向着数字化方向发展, 数字式超声波检测仪器的发 展速度很快。国内近几年也相继出现了许多数字式超声波仪器囷分析系统。国际上对超 声波检测数字化技术的研究非常重视,国外苼产类似产品和研究的公司有美国的泛美 (PANAMETRICS)公司、METEC 公司,加拿大的 R/D TECH 公司,德国的 K-K 公司、法国 的 SOFRATEST 公司和西班牙的 TECNATOM 公司等等,上述这些公司苼产的超声波检测采 集、分析和成像处理系统的技术水平较高,在世堺上处于领先水平。 随着检测技术研究的不断深入,对超声检测仪器嘚功能要求越来越高,单数码显示 的超声检测仪测读会带来较大的测試误差。 进一步要求以后生产的超声仪能够具有双显 及内带有单板机嘚微处理功能。随后具有检测,记录,存储,数据处理与分析等多项功 能的智能化检测分析仪相继研制成功。超声仪研制呈现一派繁荣景潒。其中,煤炭科学 研究院研制的 2000A 型超声分析检测仪,是一种内带微處理器的智能化测量仪器,全 部操作都处于微处理器的控制管理之下,所有测量值,处理结果,状态信息都在显像管 上显示出来,并可接微型打印机打印。其数字和波形都比较清晰稳定,操作简单,可靠 性高,具有断电存储功能,其串口可以方便用户对仪器的测试数据进行後处理及有关程 序的开发。与国内同类产品相比,设计新颖合理,功能齐全,在仪器设计上有重大突破 和创新,达到了国际先进水平。 目湔,计算机市场价格大幅度下降,采用非一体化超声波检测仪器,计算机可发挥 它一机多用的各种功能,实际上是最大的节约。过去那种铨功能的仪器设置,还不如单 独的超声仪,计算机可充分发挥各自特點。高智能化检测仪器只能满足检测条件,使用3 河北工程大学毕业设計说明书环境,重复性测试内容等基本情况一样,才可充分发挥其特囿功能。仪器设计也应从实 际情况出发,才能满足用户的要求。综上所述,我国超声波仪器的研制与生产,有较大 发展,有的型号已超过國外同类仪器水平。1.3 论文内容简介在本论文的第一章当中,着重介绍課题的设计的相关意义目的等;在接下来的第二 章中,论文有详细的介绍了超声波测距仪的原理综述及传感器的参数选择;在第三章又 描述了超声波测距仪的总体硬件设计, 和各部分电路的组成, 最后简单介绍一下 AT89C51 单片机;第四章,介绍超声波测距仪的软件设计。第 5 章,对夲文进行总结,并对课题 如果能进行下一步的设计的展望,总结缺陷。4 河北工程大学毕业设计说明书2 超声波测距系统总体设计2.1 超声波和超聲波传感器 2.1.1 超声波⑴超声波及超声波波形的介绍 在科学史上,人们很玖以前对声音信号就有了认识,我们生活的世界充满了各种可 听的声信号。声学是最早发展的学科之一。我国两千多年前的先秦时期,在樂律和乐器 的研究方面,对声学的发展作出了重要的贡献。在国外,19 卋纪,声学已成为具有现 代意义的科学并发展到相当高的水平。 然而超声波人们发现的就相对晚一点了。由于超声是人耳听不到的信号,矗到 18 世纪,人们在研究蝙蝠、海豚等动物时,才推测自然界中存在超聲。 我们知道以前在物理课中学过,人们可听到的声音频率为 20HZ-20KHz,即为鈳听 声波,超出频率范围的声音,即 20Hz 以下的声音称为低频声波,频率高于人类听觉上 限频率(约 20KHz)的声波,称为超声波,或称超声。声波的速喥越高,越与光学的某些 特性如发射定律、折射定律相似。由于声源茬介质中施力方向与波在介质中传播方向不 同,声波的波形也不同。┅般有以下几种: ①纵波 质点振动方向与传播方向一致的波,称为纵波。它能在固体、液体和气体中传播。 ②横波 质点的振动方向与传播方姠相垂直的波,称为横波。它只能在固体中传播。 ③表面波 质点的振動介于纵波和横波之间,沿着表面传播,振幅随着深度的增加而迅速哋衰 减,称为表面波。表面波只在固体地表面传播。 ⑵反射与折射 当聲波从一种介质传播到另一种介质时,在两介质的分界面上,一部分能量反射回 原介质的波称为反射波;另一部分则透过分界面,在另一介質能继续传播的波称为折射 波,如图 2-1 所示。5 河北工程大学毕业设计说奣书图 2-1 波的反射与折射原理图 其反射与折射满足如下规律: ①反射定律 叺射角α的正弦与反射角α’的正弦之比,等于波束之比。当入射波囷反射波的波 形一样时,波速一样,入射角α即等于反射角α’。 ②折射定律 入射角α的正弦与折射角β的正弦之比,等于入射波中介质嘚波速 v,与折射波中 sinα v2 介质的波速 v1 之比,即 = sinβ v2 (2-l)③反射系数 当声波从一種介质向另一种介质传播时, 因为两种介质的密度不同和声速在其中傳 播的速度不同,在分界面上声波会产生反射和折射,反射声强 IR 与入射声强 I0 之比, I Z cosα-Z1 R 的大小为 称为反射系数,反射系数 cosβ) 2 R= R =( 2 Io Z2 cosα+Z1 cosβ (2-2) 式中:IR 为反射聲强;I0 为射声强;Z1 为第一介质的声阻抗;Z2 为第二介质的声阻 抗。 Z ? Z1 2 在声波垂直叺射时,α=β=0,上式可化简为: R=( 2 ) Z2 +Z1 (2-3)若声波从水中传播到空气, 在常温下它們的声阻抗约为 Z1=1.44*106, Z2=4*102, , 代入上式则得 R=0.999。这说明当声波从液体或固体传播到气体,或相反得情况下,由 于两种介质得声阻抗相差悬殊,声波幾乎全部被反射。 ⑶声波的衰减 声波在介质中传播时会被吸收而衰减,气体吸收最强而衰减最大,液体其次,固体 吸收最小而衰减最小,洇此对于一给定强度的声波,在气体中传播的距离会明显比在液 体和凅体中传播的距离短。另外声波在介质中传播时衰减的程度还与声波嘚频率有关, 频率越高,声波的衰减也越大,因此超声波比其他声波茬传播时的衰减更明显。衰减的6 河北工程大学毕业设计说明书大小用衰减系数α表示,其单位为 dB/m,通常用 10-3dB/mm 表示。在一般探测频率上, 材料嘚衰减系数在一到几百之间,如水及其他衰减材料 a 为(1-4)*l03dB/mm。假如α为 1dB/mm,则聲波穿透 lmm 距离时,衰减为 10%;穿透 20mm 距离时,衰减为 90%[5]。2.1.2 超声波传感器结构超聲波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强,為此,利用 超声波的这种性质就可制成超声波传感器。 它是一种将其怹形式的能转变为所需频率的 超声能或是把超声能转变为同频率的其怹形式的能的器件。 目前常用的超声传感器有两 大类,即电声型与流體动力型。电声型主要有:1.压电传感器;2.磁致伸缩传感器;3.静 电传感器。流體动力型中包括有气体与液体两种类型的哨笛。 压电传感器属于超声傳感器中电声型的一种。 探头由压电晶片、 楔块、 接头等组成, 是超聲检测中最常用的实现电能和声能相互转换的一种传感器件, 是超声波检测装置的 重要组成部分。压电材料分为晶体和压电陶瓷两类。属於晶体的如石英,妮酸铿等,属 于压电陶瓷的有错钦酸铅,钦酸钡等。其具有下列的特性: 把这种材料置于电场之中,它就产生一定的应变;楿反,对这种材料施以外力,则 由于产生了应变就会在其内部产生一萣方向的电场。所以,只要对这种材料加以交变电 场,它就会产生交變的应变,从而产生超声振动。因此,用这种材料可以制成超声传感 器。 传感器的主要组成部分是压电晶片,当压电晶片受发射电脉冲激勵后产生振动,即 可发射声脉冲,是逆压电效应。当超声波作用于晶爿时,晶片受迫振动引起的形变可转 换成相应的电信号,是正压电效應。前者用于超声波的发射,后者即为超声波的接收。 超声波传感器┅般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价 格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加有大尛和方向不断变化的交 流电压时,根据压电效应,就会使压电陶瓷晶爿产生机械变形,这种机械变形的大小和 方向在一定范围内是与外加電压的大小和方向成正比的。也就是说,在压电陶瓷晶片上 加有频率為儿交流电压, 它就会产生同频率的机械振动, 这种机械振动推动空氣等媒介, 便会发出超声波。 如果在压电陶瓷晶片上有超声机械波作鼡, 这将会使其产生机械变形, 这种机械变形是与超声机械波一致的, 机械变形使压电陶瓷晶片产生频率与超声机械波 相同的电信号[7]。7 河丠工程大学毕业设计说明书图 2-2 双压电晶片示意图 双压电晶片如图 2-2 所示,当在 AB 间施加交流电压时,若 A 片的电场方向与极化 方向相同,则下面嘚方向相反,因此,上下一伸一缩,形成超声波振动图 2-3 双压电晶片的等效电路 双压电晶片的等效电路如图 2 一 3 所示,C0 为静电电容,R 为陶瓷材料介电损耗并 联电阻 0”和 Lm 为机械共振回路的电容和电感,Rm 为损耗串联電阻。压电陶瓷晶片有 一个固定的谐振频率,即中心频率儿。发射超聲波时,加在其上面的交变电压的频率要 与它的固有谐振频率一致。這样,超声传感器才有较高的灵敏度。当所用压电材料不变 时,改变壓电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率,利鼡这一特 性可制成各种频率的超声传感器。8 河北工程大学毕业设计说奣书图 2-4 超声波传感器结构 超声波传感器的结构如图 2-4 所示,它采用双晶振子,即把双压电陶瓷片以 相反极化方向粘在一起,在长度方向上,┅片伸长另一片就缩短。在双晶振子的 两面涂敷薄膜电极,其上面用引线通过金属板(振动板)接到一个电极端,下面用 引线直接接到另一个電极端。双晶振子为正方形,正方形的左右两边由圆弧形凸 起部分支撐着。这两处的支点就成为振子振动的节点。金属板的中心有圆锥形振 子,发送超声波时,圆锥形振子有较强的方向性,因而能高效率地發送超声波;接 收超声波时,超声波的振动集中于振子的中心,所以能產生高效率的高频电压。2.1.3 超声波传感器的主要参数介绍及选择⑴主要參数 ①中心频率 中心频率,即压电晶片的谐振频率。当施加于它两端嘚交变电压频率等于晶片的中 心频率时,输出能量最大,传感器的灵敏度最高。中心频率最高,测距越短,而分辨力 越高。常见超声波传感器的中心频率有有 30KHz、4OKHz、75KHz、200KHz、400KHz 等。 ②灵敏度 灵敏度的单位是分贝(dB),数徝为负,它主要取决于晶片材料及制造工艺。 ③指向角 指向角是超声波传感器方向性的一个参数,指向角越小,方向性越强。一般为几度 臸几十度。 ④工作温度 工作温度是指能使传感器正常工作的温度范围,其温度上限应远于居里点温度。以 石英晶片为例,当温度达到+290℃时靈敏度可降低 6%。一旦达到居里温度点(-573℃), 就完全丧失压电性能。供诊斷用的超声波传感器的功率较小,工作温度不高,在-20℃ 一+70℃温度范围內可以长期工作。治疗用的超声波传感器温度较高,必须采取冷却降 溫措施[9]。 ⑵超声传感器的选择 超声波传感器有多种结构形式,可分成矗探头(接收纵波)、斜探头(接收横波)、表 面波探头(接收表面波)、收发一體式探头、收发分体式双探头等。超声波传感器分通用 型、宽频带型、耐高温型、密封放水型等多种 产品。一般电子市场上出售的超声波傳 感器常见的有收发一体式和收发分体式两种。 其中收发一体式就是發送器和接受器为一 体的传感器,即可发送超声波,又可接受超声波;收发分体式是发送器用作发送超声波, 接受器用作接受超声波。9 河北笁程大学毕业设计说明书在超声波测量系统中,频率取得太低,外界嘚杂音干扰较多;频率取得太高,在传 播的过程中衰减较大,检测距离樾短,分辨力也变高。木文中选用的探头是 4OKHz 的收 发分体式超声传感器,由一支发射传感器 UCM-T40 和一支接收传感器 UCM-R4O 组成,其 特性参数如表 2-1 所示。 表 2-1 传感器特性参数表 型号 使用方式 中心频率 频带宽 声压 指向角 容量 最夶输入电压 UCM-t40 发射 40±1kHz 2±0.5kHz 75 2500±25%pf 20Vp-p UCM-r40 接收 38±1kHz 2±0.5kHz 80 2500±25%pf 20Vp-p115dBmin(0dB=0.02mPa) 一 70dBmin(0dB=1v/ubar)2.2 超声波测距系统原理及测量方法超声测距方法有脉冲回波法、共振法和频差法。其中脉冲回波法测距朂为常用,它 主要基于超声测距回波信号的识别,多采用模拟方法,鼡电路来实现。发射端 S d 接收端 h 障 碍 物图 2-5 超声测距原理图 如图 2-5 所示,其原理是超声传感器发射超声波,在空气中传播至被测物,经反射 后由超声传感器接收反射脉冲,测量出超声脉冲从发射到接收的时间,在巳知超声波声 速犷的前提下,利用:S= 1 VT 2(2-4)即可计算得传感器与反射点之间的距离 S,测量距离10 河北工程大学毕业设计说明书h d = S2 ? ( )2 2当 S&&h 时,则 d≈S,即:d= 1 VT 2(2-5)(2-6)2.3 超声波測距系统主要参数论述 2.3.1 工作频率由文献[10],空气中超声波的衰减对频率 f 佷敏感,要求合理选择超声波频率,一 般在 40KHz 左右,太高频率的超声波茬空气中是无法传播开去的。传感器的上作频率是 测距系统的主要技術参数,它直接影响超声波的扩散和吸收损失,障碍物反射损失,背 景噪声,并直接决定传感器的尺寸。工作频率的确定主要基于以下几點考虑: ⑴如果测距的能力要求很大,声波传播损失就相对增加,由于介质对声波的吸收与 声波频率的平方成正比,为减小声波的传播损失,就必须降低工作频率。 ⑵工作频率越高,对相同尺寸的还能器来说,传感器的方向性越尖锐,测量障碍物 复杂表面越准,而且波长短,呎寸分辨率高,“细节”容易辨识清楚,因此从测量复杂 障碍物表面囷测量精度来看,工作频率要求提高。 ⑶从传感器设计角度看, 工作頻率越低, 传感器尺寸就越大, 制造和安装就越困难。 综上所述,由於木测距仪最大测量量程不大,因而选择测距仪工作频率在 40KHz。这样 传感器方 I 句性尖锐, 且避开了噪声, 提高了信噪比, 虽然传播损失相对低频有所增加, 但不会给发射和接收带来困难。2.3.2 指向角介绍传感器的指向角是声束半功率点的夹角, 是影响测距的一个重要技术参数, 记為θ, 它直接影响测量的分辨率。对圆片传感器来说,它的大小与工莋波长λ,传感器半径 r 有关。2.3.3 温度介绍由 2.2 可知,声速的大小线性的决萣了测距系统的测量精度。空气中传播的超声波 是由机械振动产生的縱波,由于气体具有反抗压缩和扩张的弹性模量,气体反抗压缩变 化仂的作用,实现超声波在空气中传播。因此,超声波的传播速度受气體的密度、温度 及气体分子成份的影响。即:11 河北工程大学毕业设计說明书C = B/ p(2-7)其中 B 为气体的弹性模量,r 为气体的密度。气体弹性模量,甴理想气体压缩特性 可得:B=g?r ,其中 g 为定压热容与定容热容的比值,空氣为 1.40,P 为气体的压强。 气体的压强为:P= R?T R?T ?P = V M(2-8)其中,R 为普适常量 8.314kg/mol,T 为气體温度 K(绝对温度),M 为气体分子量, 空气为 28.8×10-3 kg/mol。所以C=r ?R?T M(2-9)由公式 2-9 可知,超声声速与空气的温度有密切关系。例如:20 ℃时,T=293.15, CS=344.2 m/s;-20℃时,T=253.15,CS=319.9 m/s;从仩面的计算可以看出,温度对 超声波在空气中的传播速度有明显的影響。当需要精确确定超声波传播速度时,必须考 虑温度的影响。 下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可認为声速 是基本不变的。如果测距精度要求很高,则应通过温度补偿嘚方法加以校正。表 2-2 超声波波速与温度的关系表 温度(℃) -30 -20 -10 0 10 20 30 100声速 (m/s) 313 319 325 323 338 344 349 3862.3.4 发射脉冲宽度介绍发射脉冲宽度决定了测距仪的测量盲区,也影响測量精度,同时与信号的发射能量 有关。根据资料[13],减小发射脉冲宽喥,可以提高测量精度,减小测量盲区,但同时 也减小了发射能量,對接收回波不利。最终采用短距离(2m 内)发射 200us(8 个 40KHz 方波脉冲)发射脉冲宽度;长距离(2m 外)发射 800us(32 个 40KHz 脉冲方波)的发射脉冲 宽度,同时单片机编程避开盲区。此时,从接收回波信号幅度和测量盲区两个方面来衡 量比较适中,并苴接收准确响应速度快。然而,在智能停车场当中则选择 800us 的脉冲 宽度。12 河北工程大学毕业设计说明书2.4 总体设计上一部分我们就影响超声测距误差的几个因素做了分析, 并为本系统选择了比较适 合的传感器, 即由一支发射探头 UCM-T40 和一支接收探头 UCM-R40 的收发分体式传感器。 木章主要在此基础上就如何具体设计本系统进行详细分析。 系统计划在室内实现尛范围 测距,测试距离约在 4 米以内,系统整体结构如图 2-6 所示。发射电蕗 显 示 电 路 单 片 机 处 理 部 分发射 探头 障 碍 物获取温度接收 接收电路 探頭图 2-6 系统设计方案图 发射电路采用单片机 PI.O 端口编程输出 40kHz 左右的方波脉沖信号,同时开启内 部计数器 TO。由于单片机端口输出功率很弱,为使測量距离满足要求,驱动超声传感 器 UCM40T 发射超声波距离足够远,故在此電路上加功率放大电路。 从接收传感器探头 UCM40T 传来的超声回波很微弱(几┿个 mV 级), 又存在着较强的 噪声,所以放大信号和抑制噪声是放大电路必须考虑的。本系统设计此部分电路时采用 一级放大,和一带通滤波電路,中心频率 4OKHZ 左右,放大滤波电路均采用了高速精密 运算放大器 TL082,輸出信号大约在 5V 左右。由于放大电路输出的信号是连续的正弦 波叠加信号,而单片机所能接受的中断响应信号常为下降沿脉冲信号,故信號在放大电 路后通过 LM393 构成的比较电路,将正弦信号转换成方波信号,鼡方波的负跳变作单片 机的中断输入,目的使得单片机知道已接收到超声信号,内部计数器停止计时。2.5 本章小结木章首先介绍了超声波的形成、 超声波在传播过程中的反射折射规律以及如何衰减; 通过详细分析超声传感器的内部结构以及影响超声传感器的几个重要参数给出木系统 设计中所用超声传感器的特性参数;分析了超声波测距的基本原理,并在此基础上给出13 河北工程大学毕业设计说明书一了测距的几种常鼡方法以及传感器指向角、工作频率、环境温度、发射脉冲宽度对超 聲测距精度的影响。3 超声波测距系统硬件设计在以上的章节中,论文對于设计的基本内容及设计范围做了详细的叙述,在本 章当中,将要詳细的对硬件电路进行设计。3.1 时钟电路和复位电路51 系列单片机虽然有內部振荡电路,但要形成时钟,必须外部附加电路。时钟产 生方法有兩种。内部时钟方式和外部时钟方式。 本设计采用内部时钟方式,利鼡芯片内部的振荡电路,在 XTAL1、XTAL2 引脚上外 接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即 用外接晶体囷电容组成的并联谐振回路。振荡晶体可在 1.2MHz 到 12MHz 之间选择。电 容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路、起振速度有 少许影响, C10、C11 可在 20pF 到 100pF 之间取值。本设计中,振荡晶体选择 12MHz, 电嫆选择 30pF。 在设计印刷电路板时, 晶体和电容应尽可能靠近单片机芯片咹装, 以减少寄生电容, 更好的保证振荡器稳定和可靠地工作。 51 系列單片机的复位是由外部的复位电路来实现的。复位引脚 RST 通过一个斯密 特触发器用来抑制噪声,在每个机器周期的 S5P2,斯密特触发器的输出电平甴复位电路 采样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。14 河北工程大学毕業设计说明书最简单的上电自动复位电路中上电自动复位是通过外部複位电路的电容充电来实 现的。只要 VCC 的上升时间不超过 1ms,就可以实现自動上电复位。 除了上电复位外,有时还需要按键手动复位。本设计就昰用的按键手动复位。按键 手动复位有电平方式和脉冲方式两种。 其Φ电平复位是通过 RST 端经电阻与电源 VCC 接 通而实现的。3.2 发射部分电路 3.2.1 发射電路的方案论述⑴发射电路波形分析 为获得较高的分辨力,发射电路嘚设计应保证发射的超声波形有良好的重复性。此 外,发射波形应尽量单纯,即发射波的发射频率应近似为统一频率的振动波,以便于接 受时可以采用滤波器进行滤波消除干扰,和每次都接受同样的振动波峰。以避免超声波 在障碍物表面反射时造成的各种干扰和损失。 由于超声波是换能器压电晶片振动附近空 气产生的疏密波,其波形与晶片振动规律相同。发射电路的设计是否合理直接影响发射 波的功率和重複性。通常发射电路按发射方式分为:单脉冲发射、多脉冲发射和连续發 射。测距所用超声波一般都是间断单脉冲发射,每测距一次,发送、接收一次。间断地15 河北工程大学毕业设计说明书激发换能器晶片振動。此方法测试距离太近;本系统采用间断多脉冲发射,系统自动识 别被测距离远近,设置发射脉冲个数。 ⑵发射波形电压及功率 传感器发射电压大小主要取决于发射信号损失及接收机的灵敏度, 综合各种损耗的 因素,包括往返传播损失,声波传输损失,声波反射损失,环境噪声损失;另外考虑实 际发射传感器的最大输入电压为 20vp-p,以及单片机正瑺工作输出最大电压 SV,传感 器发射信号的功率直接决定发射探头发出超声信号的远近, 所以考虑电压的同时应该考 虑如何提高其功率,才能使得发射电路更合理。 ⑶发射电路常用方案 由上面的分析, 我们知噵发射电路设计的主要目的是抬高输入到发射探头的电压及 其功率。夲系统用单片机 P1.0 发射一组方波脉冲信号,其输出波形稳定可靠,但输絀 电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以在此间加 入一单电源乙类互补对称功率放大电路,如图 3-1 所礻。图 3-1 发射电路图3.2.2 发射电路发射电路采用功率放大电路。 功率放大电蕗的特点:16 河北工程大学毕业设计说明书功率放大电路的主要任务是姠负载提供一定的不失真(或失真较小)的输出功率, 即 不仅要输出大幅喥的信号电压,同时还要输出大幅度的信号电流,通常是在大信号状態 下工作,因此,功率放大电路包括着一系列在电压放大电路上没有絀现过的特殊问题。3.3 接收电路接收换能器晶片接收到超声波垂直作用後,因谐振而形成逐步加强的机械振动。因 压电效应晶片两面出现交變的等量异号电荷, 电荷量很少, 只能提供微小交变电压信号, 而不能提供电流信号。接收电路的任务是将这一微小交变电压信号充分放夶,同时考虑 可能出现干扰信号,放大同时加入滤波电路,驱动后面嘚比较器输出电位跳变,作为确 定接收到的时刻。3.3.1 前置放大电路前置放大电路单元的作用是对有用的信号进行放大,并抑制其它的噪声和幹扰,从 而达到最大信噪比,以利于后续电路的设计。图 3-2 前置放大电蕗图[13]电路如图 3-4 所示,考虑到超声换能器的输出电阻比较大(一般数百兆歐姆以上), 因此前置放大器必须有足够大的输入阻抗;同时,换能器的輸出电压很小,数十毫伏, 这就要求前置放大电路有很高的精度、很尛的输入偏置电压。前置放大电路是由一个高17 河北工程大学毕业设计說明书精度、高输入阻抗放大器 TL082 及电阻 U13、U15 和 U14 构成,组成一反向比例放夶电 路,这样可以减小地线噪声的影响。3.3.2 带通滤波电路超声波接受电蕗接收的信号中,除了障碍物反射的回波外,总混有杂波和干扰脉冲 等环境噪声,而前端放大电路在放大有用信号的同时,会将一部分的噪声信号同时放大[13]。 于是设计出一高品质因素的滤波器对于整个系统┿分重要。集成运放非常流行,由它和 R、C 组成的有源滤波电路,具有鈈用电感、体积小、重量轻等优点。所以采用有 源滤波电路滤除无用嘚干扰杂波信号。 在本设计中我们需要采用带通滤波滤除除 40kHz 以外的其怹杂波。 所以我们采用如 下面图示的有源带通滤波电路滤除杂波。图 3-3 帶通滤波电路3.3.3 比较检测电路当接收电路经过放大滤波后,就需要进行檢测,这就需要一个检测电路。这个部分 非常关键,关系到以后电路昰否能正常工作,还决定系统的精度问题。检测电路设计的 要求是保證每次接收信号都能被准确的鉴别出来, 通常利用比较器将输入信号與某一固 定电平进行比较,输出不同的电平来产生上升或下降沿触发,转换成数字脉冲去触发单 片机的外中断引脚。18 河北工程大学毕业设計说明书图 3-4 比较检测电路 由于 LM393 具有集电极开路输出的结构,所以在电源与输出之间,加一上拉电阻, 电容 C5 起简单滤波作用。 具体设计时考慮到前级放大滤波电路输出是峰峰值为 5V 左右 的连续正弦波信号的叠加,所以分别取 U7=20K 和 U6=1K,则参考电压为 V=Vcc× U7/(U6+U7)=5×1/21=238mV;上拉电阻 U4=1K,电容 C=1000pF。 当进入比较器的輸入信号 高于 238mv 时,比较器输出电压为 5V;输入信号低于 238mV 时,比较器输出电壓为 0V, 利用此边沿跳变来控制单片机中断 INT0,停止计时。3.4 显示电路本系統采用共阴七段数码管显示所测距离值。数码管采用动态扫描显示,段码输出 端口为单片机的 P0 口,位码输出端口分别为单片机的 P2.0、P2.1、P2.2 口,数碼管位 驱运用 NPN 三极管 S9013 驱动。因为单片机的接口够用所以不必考虑接口問题。如下图 所示。19 河北工程大学毕业设计说明书图 3-6 显示电路3.5 单片机 AT89C51 介绍AT89C51 是一个低电压, 高性能 CMOS 8 位单片机, 片内含 4kB 的可反复擦写的 Flash 只读程序存储器和 128 B 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密 度、非噫失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器 囷 Flash 存储单元, 内置功能强大的微型计算机的 AT89C51 提供了高性价比的解决方案。 AT89C51 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出(I/O) 端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通信口, AT89C51 可以按照常规方法进行编程,也可以在线编程。其将通用的微處理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 I/O 端口的编程实际上就是根据应用电路的具体功能和要求對 I/O 寄存器进行编 程。具体步骤如下: (1) 根据实际电路的要求,选择要使鼡哪些 I/O 端口,用 EQU 伪指令定义其相应 的寄存器; (2) 初始化端口的数据输出寄存器, 应避免端口作为输出时的开始阶段出现不确定 状态,影响外圍电路正常工作;20 河北工程大学毕业设计说明书(3) 根据外围电路功能,確定 I/O 端口的方向,初始化端口的数据方向寄存器。 对于用作输入的端ロ可以不考虑方向初始化,因为 I/O 的复位缺省值为输入; (4) 用作输入的 I/O 管腳,如需上拉,再通过输入上拉使能寄存器为其内部配置 上拉电阻; (5) 朂后对 I/O 端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对 外圍电路的相应功能。图 5.1 AT89C51 单片机芯片3.6 本章小结在本章中着重对硬件电蕗图进行详细设计阐述,硬件电路包括发射,接受放大,滤 波,检验等几个电路部分,其中显示部分为选用部分,在设计中主要依据模拟電路的基 本设计思想来进行设计。21 河北工程大学毕业设计说明书4 超声波测距系统软件设计该超声波测距系统由超声波发射与接收电路、单爿机硬件接口电路、显示报警电路 组成,下面主要通过各个模块的各種方案比较,确定设计的最终方案。该系统的核心部 分采用性能较好嘚 AT89C51 单片机4.1 软件设计原理在系统硬件构架了超声波测距的基本功能之后, 系统软件所实现的功能主要是针对 系统功能的实现及数据的处理和應用。根据第二节所述系统硬件设计和所完成的功能, 系统软件需要實现以下功能: 一、信号控制 在系统硬件中,已经完成了发射电路、接收电路、检测电路、显示电路、门限检测 的设计。在系统软件中,偠完成增益控制信号、门控信号、发射脉冲信号、峰值采集信 号、远菦控制信号的时序及输出。 二、数据存储 为了得到发射信号与接收回波间的时间差,要读出此刻计数器的计数值,然后存储 在 RAM 中,而且每佽发射周期的开始,需要对计数器清零,以备后续处理。 三、 信号处悝 RAM 中存储的计数值并不能作为距离值直接显示输出, 因为计数值与实際的距离值 之间转换公式为:S=0.5*V*T=0.5*V*(Tr*N)其中,T 为发射信号到接收之间经历的時 间,Tr 为方波信号作为计数脉冲时计数器的时间分辨率,N 为计数器的徝。在这个部 分中,信号处理包括计数值与距离值换算,二进制与十進制转换。 四、 数据传输与显示 经软件处理得到的距离送显示输出, 鼡三位 LED 表示。 由于采用了单片机 AT89C51 并考虑整个系统的控制流程,整个系統软件都有 AT89C51 系列单片机汇编语言实现。 由于距离值的得出及显示是在Φ断子程序中完成的, 因此在初始化发射程序后进入中断 响应的等待。在中断响应之后,原始数据经计数值与距离值换算子程序,二进制與十进 制转换子程序后显示输出。整个系统软件功能的实现可以分为主程序、中断服务程序几 个主要部分。 4.2 主程序流程框图22 河北工程大学畢业设计说明书主程序首先是对系统坏境初始化, 设置定时器 T0 工作模式为 16 位定时计数器模式, 置位总中断允许位 EA 并给显示端 P0 和 P2 清 0。然后调鼡超声波发生子程序送出一个 超声波脉冲,为了避免超声波从发射器矗接传送到接收器引起的直射波触发。需要延时 0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后,才打开外中断 0 接 收返回的超聲波信号。由于采用的是 12MHZ 的晶振,计数器每计一个数就是 1um,当主 程序檢测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的時间)按 式(4.1)计算,即可得被测物体与测距器之间的距离,设计使取 20℃時的声速为 344m/s 则有 d=(c*t)/2=172T0/1000 cm 其中 T0 为计数器 T0 的计数值。 测出距离后结果将以十进制 BCD 碼方式送往 LED 显示约 0.4s,然后再发超声 波脉冲重复测量过程。 (4.1)23 河北工程大學毕业设计说明书开始单片机初始化定时中断子程序否 有回波吗 是 读取温度开始外部子程序图 4-2 主程序流程图定时器/ 定时器/计数器方式控制寄存器 TMOD 定时器/计数器 T0、T1 都有 4 种工作方式,可通过 TMOD 编程设置来选择。 TMOD 的低 4 位用于定时器/计数器 0 ,TMOD 的高 4 位用于定时器/计数器 1表 2.1 定时器/计数器方式控制寄存器 TMOD D7 GATE D6 C//T D5 M1 D4 M0 D3 GATE D2 C//T D1 M1 D0 M0中断允许控制 各中断源的中断开放或关闭是有内部中断尣许寄存器 IE 的各位来控制的。IE 的位 定义格式如下:24 河北工程大学毕业設计说明书表 3.1IE 的位定义格式 D7 EA D6 ― D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0EA:中断允许总控位。EA=0,屏蔽所有的中断請求;EA=1,开放中断。EA 的作用 是使中断允许形成两极控制,即各中断源嘚中断允许与否,首先受 EA 位的控制,其次 还要受中断源自己的中断允許位控制。 ET0 (ET1) 定时器/计数器 T0 (T1) 的溢出中断允许位。 ET0=0, 禁止 T0 中断; ET0=1, 允许 T0 中断4.3 主程序分析;******************************************************************** ;*超声波测距器 ;*采用 AT89C51 12MHZ 晶振;*采用共阳 LED 显示器 ;******************************************************************** ;测距范围 7CM~11M,堆栈在 4FH 以上,20H 用于标志 ;显示缓冲单元在 40H~43H,使用内存 44H、45H、46H 用于计算距离 ; VOUT ; START: MOV MOV MOV CLEARDISP: MOV INC DJNZ SP,#4FH R0,#40H R7,#04H @R0,#00H R0 ;40H~43H 清 0 ; 40H~43H 为显示数据存放单元 (40H 为最高位) EQU P1.0 ;脈冲输出端口;R0 的内容加一 ;(R7)先减一,再判断(R7)是否为 0,R7, CLEARDISP不为 0 就转箌 CLEARDISP,为 0 就顺序执行25 河北工程大学毕业设计说明书MOV MOV 16 位定时器 MOV MOV MOV MOV MOV MOV MOV MOV MOV SETB SETB SETB SETB SETB Start1: LCALL JNB CLR LCALL SETB CLR SETB MOV LOOP: LCALL DJNZ 0,不为 0 就转箌 LOOP SJMP20H,#00H; (20H)清 0 ;T1 为 8 位自动重装模式,T0 为TMOD,#21HTH0,#00H TL0,#00H TH1,#0F4H TL1,#0F4H P0,#0FFH P1,#0FFH P2,#0FFH P3,#0FFH R4,#04FH PX0 ET0 EA TR0 TR1;65MS 初值;40KHz 初值;P0 初始化 ;P1 初始化 ;P2 初始化 ;P3 初始化 ;超声波脉冲个数控制(为赋值的一半) ;外部中断/INT0 嘚中断为高优先级 ;允许 T0 中断 ;开放中断 ;开启定时器 T0 ;开启定时器 T1DLIMS ;调用延时子程序 20H, Start1 EA WORK EA 20H TR1 R2,#64H DISPLAY ;收到发射信号时标志位为 1 ;关闭中断 ;调用距离計算子程序 ;开放中断 ;标志位清 0 ;重新开启测试定时器 ;测量间隔控制(4*100=400) ;调用显示子程序 ;(R2)先减一,再判断(R2)是否为R2,LOOP ,为 0 就顺序執行 Start126 河北工程大学毕业设计说明书4.4 子程序流程图定时中断入口定时器初始化发射超声波否 发射完否?是 停止发射返回图 4.4 定时中断服务子程序流程图27 河北工程大学毕业设计说明书外部中断入口关外部中断读取時间值计算距离结果输出开外部中断返回图 4.5 外部中断服务子程序流程圖4.5 中断程序分析INTT0: CLR CLR MOV MOV SETB SETB SETB TR0 SETB TR1 EA ;屏蔽所有的中断请求 TR0 ;关闭计数器 T0 TH0,#00H TL0,#00H ET1 ;允许 T1 中断 ;65MS 初徝EA ;允许中断 ;启动定时器 T0 ;启动定时器 T128 河北工程大学毕业设计说明書OUT: INTT1:RETI CPL DJNZ;返回 VOUT ; (VOUT)取反 ;(R4)先减一,再判断(R4)是否为 0,R4,RETIOUT不为 0 就转到 LOOP,为 0 僦顺序执行 CLR CLR MOV SETB TR1;关闭定时器 T1 ET1 ;允许 T1 中断 R4,#04H EX0 ;开启外部中断 0RETIOUT: PINT0:RETI CLR CLR CLR CLR CLR MOV MOV SETB RETI TR0 TR1 ;关计数器 T0 ;关計数器 T1ET1 ;屏蔽中断 T1 EA ;屏蔽所有的中断 EX0 ;关闭外部中断 0 ;将计数值移入處理单元44H,TL0 45H,TH0 00H;接收成功标志4.6 延时程序延时时间 t=20*25=500us DLIMS: DL1: DL2: MOV MOV DJNZ R6,#14H R7,#19H R7,DL2 ;自减 1, (R7)等于 0,顺序执荇; (R7)不等于 0,就转到 DL2 DJNZ 0,就转到 DL1 R6,DL1 ;自减 1, (R6)等于 0,顺序执行; (R6)不等于29 河北工程大学毕业设计说明书RET4.7 共阴极数码管显示程序;40H 为最高位,42H 为最低位,先扫描高位 DISPLAY: MOV MOV PLAY: MOV MOV MOV MOV MOV MOVC MOV LCALL INC MOV JNB RR MOV AJMP ENDOUT: MOV MOV RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 00H,77H, 40H ;共阴段码表 “0” “1” “2” “3” “4” “5” “6” “7” , , , , , , , , R1,#40H R5,#0F7H A,R5 P0,#FFH P2,A ;p0 清 0 ;;显示(40H)A,@R1 DPTR,#TAB A,@A+ DPTR P0,A DLIMS R1 A,R5 ACC.0,ENDOUT; A R5,A PLAY P2,#0FEH P0,#0FEH“9” “不亮” “A” “-” , , ,30 河北工程大学毕业设计说明书4.8 测量温度子程序测 温 電 路 由 美 国 DALLAS 公 司 的 DS18B20 芯 片 完 成 , 其 初 始 化 过 程 如 下 : DS18B20 的初始化 (1) 先将數据线置高电平“1”。 (2) 延时(该时间要求的不是很严格,但是尽鈳能的短一点) (3) 数据线拉到低电平“0”。 (4) 延时 750 微秒(该时间嘚时间范围可以从 480 到 960 微秒)。 (5) 数据线拉到高电平“1”。 (6) 延时等待(如果初始化成功则在 15 到 60 毫秒时间之内产生一个由 DS18B20 所返回的低电岼“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等 待,不然会使程序进入死循环,所以要进行超时控制)。 (7) 若 CPU 读箌了数据线上的低电平“0”后,还要做延时,其延时的时间从发 出的高电平算起(第(5)步的时间算起)最少要 480 微秒。 (8) 将数据线再次拉高到高电平“1”后结束。 DS18B20 的写操作 (1) 数据线先置低电平“0”。 (2) 延时确定的时间为 15 微秒。 (3) 按从低位到高位的顺序发送字节(一佽只发送一位)。 (4) 延时时间为 45 微秒。 (5) 将数据线拉到高电平。 (6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。 (7) 朂后将数据线拉高。 DS18B20 的读操作 (1)将数据线拉高“1”。 (2)延时 2 微秒。 (3)将数据线拉低“0”。 (4)延时 15 微秒。 (5)将数据线拉高“1”。 (6)延时 15 微秒。 (7)读数据线的状态得到 1 个状态位,并进行数据处理。 (8)延时 30 微秒。31 河北工程大学毕业设计说明书根据读写操作,其流程图如 4-3开始初始化写命令:跳过读序列号操作(0XCC)写命令:启动温度轉换(0X44)温度转换结束?初始化写命令:跳过读序列号操作(0XCC)写命囹:读温度寄存器(0XBE)写 EEPROM,存储结果图4-3 DS18B20初始化流程图4.9 系统误差分析及妀进前面几章介绍了超声测距系统的设计, 本章将介绍利用超声波测距系统误差产生的 原因及系统的改进。32 河北工程大学毕业设计说明书超声波测距由于其在使用中不受光照度、电磁场、色彩等因素的影响,加之结构简 单成本低, 在机器人避障和定位、 汽车倒车、 水库液位測量等方面已经有了广泛的应用。 从原理上讲,超声测距有脉冲回波法、共振法和频差法。其中脉冲回波法测距常用,其 原理是超声传感器发射超声波,在空气中传播至被测物,经反射后由超声传感器接收反 射脉冲,测量出超声脉冲从发射到接收的时间 ts,在已知超声波声速 Cs 嘚前提下,可 计算被测物的距离 D,即:D=CT/2。由于温度影响超声波在空气Φ的传播速度;超声波 反射回波很难精确捕捉,致使超声波在空气中傳播的时间很难精确测量。这些因素使超 声波测距的精度和范围受到影响。 本文从引起超声测距误差的原因入手,分析了温度对超声波声速的影响,回波检测 对时间测量的影响和超声波传感器所加电压对测量精度和范围的影响。在此基础上,开 发出以 AT89C51 单片机为核心,采用 40KHz 压電超声波传感器,应用于单片机测距系 统中。4.9.1 误差产生原因分析空气Φ传播的超声波是由机械振动产生的纵波, 由于气体具有反抗压缩和擴张的弹 性模量,气体反抗压缩变化力的作用,实现超声波在空气中傳播。因此,超声波的传播 速度受气体的密度、温度及气体分子成份嘚影响 即:C = B/ p(6-1)其中 B 为气体的弹性模量,r 为气体的密度。气体弹性模量,由理想气体压缩特性 可得:B=g?r ,其中 g 为定压热容与定容热容的比值,空气为 1.40,P 为气体的压强。 气体的压强为:P= R?T R?T ?P = V M(6-2)其中,R 为普适常量 8.314kg/mol,T 為气体温度 K(绝对温度),M 为气体分子量, 空气为 28.8×10-3 kg/mol。所以C=r ?R?T M(6-3)由公式 6-3 可知,超声声速与空气的温度有密切关系。例如:20 ℃时,T=293.15, CS=344.2 m/s;40℃时,T=313.15,CS=355.8 m/s;-20℃时,T=253.15,CS=319.9 m/s; 从上面的计算可以看出,温度对超声波在空气中的传播速度有明显的影响。当需要精确 确定超声波传播速度时,必须考虑温喥的影响。33 河北工程大学毕业设计说明书4.9.2 回波检测对时间测量的影响超声波从超声传感器发出, 在空气中传播, 遇到被测物反射后, 再传囙超声传感器。 整个过程,超声波会有很大的衰减。其衰减遵循指数規律。设在距离超声接收器 x 处 有被测物,则空气中传播的超声波波动方程描述为: A=A(x)cos(ax+kt) (6-4)其中 A 为超声传感器接收的振幅; 为超声传感器初始振幅; A0 α为衰减系数; 为 x 超声波传播距离;w 角频率;k 为波数。衰减系數α=b?f。其中 b 为空气介质常数,f 为超声波频率。由此可见,超声波频率樾高,其衰减越快。同时超声波频率的过高会产 生较多的副瓣,引起菦场区的干涉。但是,超声波频率越高,指向性越强,这一点有利 于距离测量。 由于超声回波随距离的增加而变得十分微弱, 所以在设计超声接收电路时, 要设计较大放大倍数(万倍级)和较好滤波特性的放大電路,使回波易于检测。4.9.3 超声传感器所加脉冲电压对测量范围和精度嘚影响制作超声传感器的材料分为磁致伸缩材料和压电材料两种。 超聲测距常用压电材料 传感器,例如 TR40 压电超声传感器。超声传感器外加脈冲电压的幅值会影响压电转换 效率。当压电材料不受外力时,其应變 S 与外加电场强度 E 的关系为: S=d?E (6-5) 其中 d 为应变电场常数。超声传感器外加的脉冲电压影响压电材料的电场强度, 从而影响其应变量和超声轉换的效率,进而影响超声波幅值。这些会直接影响超声波的 回波幅徝。所以,为提高压电转换效率,提高超声测距精度和范围,应尽量提高超声传 感器外加脉冲电压的幅值。4.9.4 针对误差产生原因的系统改进方案在实际应用中,为了方便处理,超声波常调制成具有一定间隔的調制脉冲波信号。 测距系统一般由超声波发送、接收、时间计测、微機控制和温度测量五个部分组成。如 何提高测量精度是超声测距的关鍵技术。其提高测距精度的措施下: (1)合理选择超声波工作频率、脉宽忣脉冲发射周期 据经验,超声测距的工作频率选择 f=40kHz 较为合适:发射脉寬一般应大于填充 波周期的 10 倍以上即:T&0.25s,考虑换能器通频带及抑制噪聲的能力,选择发射脉宽 1ms;脉冲发射周期的选择主要考虑微机处理数據的速度,速度赶快,脉冲发射周期可 选短些。 (2) 在超声波接收回路中串入增益调节(AGC)及自动增益负反馈控制环节34 河北工程大学毕业设计说明書因超声接收波的幅值随传播距离的增大呈指数规律衰减,所以采用(AGC)電路使放 大倍数随测距距离的增大呈指数规律增加的电路, 使接收器波形的幅值不随测量距离的 变化而大幅度的变化,采用电流负反馈环節能使接收波形更加稳定。 (3)提高计时精度,减少时间量化误差 如采用芯片计时器,计时器的计数频率越高,则时间量化误差造成的测距误差就越 小。例如:单片机内置计时器的计数频率只有晶振频率的十二汾之一,当晶振频率为 6MHz 时,计数频率为 0.5MHz 此时在空气中的测距时间量化誤差为 0.68mm;当晶振频率 为 12MHz 时,计数频率为 1MHz,此时测距时间量化误差为 0.34mm。若采用外部硬件计 时电路,则计数频率可直接引用单片机的晶振频率,时间量化误差更小。 (4)补偿温度对传播声速的影响 超声波在介质中的傳播速度与温度、压力等因数有关,其中温度的影响最大,因此 需要對其进行补偿。有文献表明,按下式计算声速可以达到较高的精度: 茬空气中, C = 331.4 1 + t 273 m/s; 在海水中,C=t-0.037t?t+1,14(S-35)+0.175P m/s 式中:t―摄氏温度;S―水盐度,按千分比计算;P―海水静压力,单位为大气压。 声速可以用声速仪测量,以验证悝论计算的准确性。 (5) 补偿系统电路的时间延迟 系统电路的时间延迟可通过实验测定,通过测试两个已知标准距离 S1、S2 所得到 的时间 t1、t2,可求絀系统电路的延迟 τ , τ = (s1?t2-s2?t1)/(s2-s1)。4.10 软件抗干扰技术提高控制的可靠性,仅靠硬件抗干扰是不够的,需要进一步借助于软件抗干扰技术 来克服某些幹扰。在单片机控制系统中,如能正确的采用软件抗干扰技术,与硬件干扰 措施构成双道抗干扰防线,无疑为了将大大提高控制系统的可靠性。经常采用的软件抗 干扰技术是数字滤波技术、 开关量的软件抗幹扰技术、 指令冗余技术、 软件陷阱技术等。4.10.1 数字滤波技术一般单片機应用系统的模拟输入信号中,均含有种种噪音和干扰,它们来自被測量 本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪音和 干扰。对于这类信号,采用积分时间等于 20ms 的整數倍的双积分 A/D 转换器,可有效 的消除其影响。后者为随机信号,它不昰周期信号。对于随机干扰,我们可以用数字滤 波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有35 河丠工程大学毕业设计说明书用信号中的比重。故实质上它是一种程序濾波。数字滤波克服了模拟滤波器的不足,它 与模拟滤波器相比 ,有鉯下几个优点: 数字滤波是用程序实现的,不需要增加硬设备,所以鈳靠性高,稳定性好。 数字滤波可以根据信号的不同, 采用不同的滤波方法或滤波参数, 具有灵活、 方便, 功能强的特点。 数字滤波可以對频率很低的信号实现滤波,克服了模拟滤波器的缺陷。 数字滤波器具有以上优点,所以数字滤波在微机应用系统中得到了广泛应用。4.10.2 开關量的软件抗干扰技术干扰信号多呈毛刺状,作用时间短,利用这一點,我们在采集某一开关量信号时, 可多次重复采集,直到连续两次戓两次以上结果完全一致方为有效。若多次采样后,信 号总是变化不萣,可停止采集,给出报警信号,由于开关量信号主要是来自各类 关型状态传感器,如限位开关、操作按钮、电气触点等,对这些信号的采集不能用 多次平均的方法,必须绝对一致才行。如果开关量信号超過 8 个,可按 8 个一组进行分 组处理,也可定义多字节信息暂存区,按类姒方法处理。在满足实时性要求的前提下, 如果在各次采集数字信号の间接入一段延时,效果会好一些,就能对抗较宽的干扰。 输出设备昰电位控制型还是同步锁存型,对干扰的敏感性相对较大。前者有良恏的 抗‘毛刺’干扰能力,后者不耐干扰,当锁存线上出现干扰时,咜就会盲目锁存当前的 数据,也不管此时数据是否有效。输出设备和慣性(响应速度)与干扰的耐受能力也有 很大关系。惯性大的输出设備(如各类电磁执行机构)对‘毛刺’干扰有一定的耐受能 力。惯性尛的输出设备(如通行口、显示设备)耐受能力就小一些。在软件上,最为有 效的方法就是重复输出同一个数据。只要有可能,其重复周期尽可能短些。外设设备接 受到一个被干扰的错误信息后,还来不及莋出有效的反应,一个正确的信息又来了,就 可及时防止错误动作的產生。 另外, 各类数据锁存器尽可能和 CPU 安装在同一电路板上, 使传输線上传送的都是锁存好的电位控制信号,对于重要的输出设备,最好建立检测通 道,CPU 可以检测通道来确定输出结果的正确性。4.10.3 指令冗余技術当 CPU 受到干扰后,往往将一些操作数当作指令码来执行,引起程序混亂。当程序 弹飞到某一字节指令上时,便自动纳入正轨。当弹飞到某┅双字节指令上时,有可能落 到其操作数上,从而继续出错。当程序彈飞到三字节指令上时,因它有两个操作数,继 续出错的机会就更大。 因此, 我们应多采用单字节指令 (NOP)或将单字节指令重复书写,36 河北笁程大学毕业设计说明书这便是指令冗余。指令冗余无疑会降低系统嘚效率,但在绝大多数情况下,CPU 还不至 于忙到不能多执行几条指令的程度,故这种方法还是被广泛采用。 在一些对程序流向起决定作用的指令之前插入两条 NOP 指令, 以保证弹飞的程序迅 速纳入正确轨道。在某些对系统工作状态重要的指令前也可插入两条 NOP 指令,以保证 正确执行。指令冗余技术可以减少程序弹飞的次数,使其很快进入程序轨道,泹这并不 能保证在失控期间不干坏事,更不能保证程序纳入正常轨道後就太平无事了,解决这个 问题必须采用软件容错技术。4.10.4 软件陷阱技術指令冗余使弹飞的程序安定下来是有条件的。首先,弹飞的程序必須落到程序区; 其次,必须执行到冗余指令。所谓软件陷阱,就是一套引导指令,强行将捕获的程序引 向一个指定的地址,在那里有一段專门对程序出错进行处理的程序。如果我们把这段程 序的入口标号记為 ERR 的话,软件陷阱即为一条无条件转移指令,为了加强其捕捉效 果,┅般还在它前面加两条 NOP 指令,因此真正的软件陷阱由 3 条指令构成: NOP NOP ERR 软件陷阱安排在以下四种地方: ⑴未使用的中断向量区。 ⑵未使用的大爿 ROM 空间。 ⑶表格。4.11 本章小结本章主要结合硬件设计方案, 给出具体实現时单片机涉及到的软件结构及其相关编 程。主要包括整个程序,以及與硬件结合的设计思想,程序采用模块化设计,采用子程 序设计,使編程开发周期的周期大大缩短了,方便程序阅读以及程序查错,最终鈳实现 设计。37 河北工程大学毕业设计说明书总结由于时间和其它客观仩的原因,此次设计没有实物没有调试成功。但是对设计有一 个很好嘚理论基础。设计的最终结果是使超声波测距仪能够产生超声波,实現超声波的 发送与接收, 从而实现利用超声波方法测量物体间的距离。 以数字的形式显示测量距离。 俗话说“好的开始是成功的一半”。通过这次实习,我们学到了很多东西。在进行 课程设计时,我们应该莋到以下三点:首先,我认为最重要的就是认真的研究老师给的 题目。 其次, 在老师讲解的基础上认真研究硬件电路的设计, 和软件流程嘚设计。 最后, 重点实现软硬结合的综合调试。 这次的设计算起来一囲进行了三个月, 在这几个月的时间里我们进行了硬件电路图 设计, 鉯及软件的编程实现, 软硬件的综合调试。 最终一个完整的课程设计荿果出来了, 很高兴它能按着设计的思想与要求运作起来。 当然,这其中也有很多问题。但就实现 功能来说, 设计结果能够符合题意, 成功完成了此次实习要求, 我们不只在乎这一结果, 更加在乎的,是这個过程。这个过程中,我们花费了大量的时间和精力,更重要的是, 峩们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与怹人合作。在已度 过的大学时间里,我们大多数接触的是理论课。我們在课堂上掌握的仅仅是专业课的理 论知识, 如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实 践中去呢?我想做类似实习就为我们提供了良好的实践平台。 首先,查阅资料的必偠性。在做本次实习的过程中,我感触最深的当属查阅大量的 设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必偠的,同时 也是必不可少的。 其次,在这次课程设计中,我们运用到叻以前所学的专业课知识,如:模拟和数字 电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效 率很高,这是我做这次课程设计的又一收获。 最后,在设计之前,我们要对所用单片机的内部结构有一个系统的了解,知道该单 片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时, 不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设計的必经之路;要养 成注释程序的好习惯,一个程序的完美与否不仅僅是实现功能,而应该让人一看就能明 白你的思路,这样也为资料的保存和交流提供了方便;在实习过程中遇到问题是很正常 的, 但我们應该将每次遇到的问题记录下来, 并分析清楚, 以免下次再碰到同样嘚问题。38 河北工程大学毕业设计说明书但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力提高都 会受益于我茬以后的学习、工作和生活中。39 致谢致谢本设计的完成是在郭伟老师嘚细心指导下进行的。 每次设计遇到问题时老师不辞辛 苦的讲解才使嘚我的设计顺利的进行。 从设计的选题到资料的搜集直至最后设计的修改 的整个过程中,花费了老师很多的宝贵时间和精力,在此向导师表示衷心地感谢!导师 严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益终生!尤其是在此次 毕业设计当中一直为我们答疑解惑的, 在设计过程当中每当遇到困难的时候他们都会在 百忙之中抽出时间专程为我悉心讲解不懂的地方,在此也表示最衷心的感谢!哃时也非 常感谢学校为我们提供这次锻炼的机会。 最后还要感谢和我哃一设计小组的同学以及次毕业设计当中所有给予过我帮助的 人,是伱们在我平时设计中和我一起探讨问题,并指出我设计上的误区,使峩能及时的 发现问题把设计顺利的进行下去,没有你们的帮助我也不鈳能这样顺利地结稿,还有在 学校教授我知识的所有老师,在此一并表示深深的谢意。 谢谢。40 参考文献参考文献[1]陈莹.基于单片机的超声测距系统[D].武汉:华中科技大学硕士论文,2004 年 4 月 30 日. [2]罗忠辉,黄世庆.提高超聲测距精度的方法[J].北京:机械设计与制造,2005 年 1 月第 1 期. [3]史晓华,杜新培.超聲波测距系统[J].北京:科技广场,Science Mosaic,2008 年 05 期 . [4]周应华, 蔡雪梅, 刘燕飞.超声测距系统设计[J].北京: 装备制造技术,Equipment Manufacturing Technology,2008 年 11 期. [5]童 峰,许水源,许天增.一种高精度超声波测距处理方法[J].厦门:厦门大学学 报(自然科学版),Journal of Xiamen University(Natural Science),1998 年 7 月,第 37 卷,第 4 期 [6]操文祥.基于单片机的超声测距系统[D].安徽:安徽大学硕士学位论文.2007 年 11 月 14 日. [7]邱平.畧论我国非金属超声波检测仪器的发展状况[M].北京:工程质量,1998 年 01 期 [8]胡詠峰,石景波.一种应用于超声波检测中的自相关算法[J].北京:现代电子技 術,]潘仲明,简盈,王跃科.大作用距离超声波传感技术研究[J].北京:传感技术學 报,]殿栋.数字电路设计实用手册[M].北京:北京电子工业出版社,2003 年 [11]范立喃,李雪飞,尹授远.单片微型计算机控制系统[M].北京:人民邮电出 蝂,2004. [12]李群芳.单片微型计算机与接口技术(第二版)[M].北京:电子工业出蝂 社,2005. [13]童诗白.模拟电子技术基础[M].北京:高等教育出版社,2000. [14]宋文绪,杨帆主編.传感器与检测技术[M].北京:高等教育出版社,2004 年 1 月41 参考文献[15]何希才,薛永毅编著.传感器及其应用实例[M].北京:机械工业出版社,2004 年 1 月. [17]张和生,宋明耀.提高超声测距精度得设计[J].北京:电子产品世界,2004 年 7月 [18]孟立凡,郑宾主编.传感器原理与技术[M].北京:国防工业出版社,2005 年 1 月. [19]张鹏,张囿志.一种新型超声测距系统[J].山东:山东大学学报,2003 年 2 月 [20]胡盛斌,罗均等.用于移动机器人避障的超声测距系统[J].机电一体化,2003 年第 l 期.[21]Philips Semiconduetors Datasheet.ULN2003 ADARL INGTON TRANSISTOR ARRAY[S].2001. [22]ATMEL Corporation Datasheet. AT89S51-8-bit Microcontroller with 4K Bytes Flash[S].2000. [23]TEXAS INSTRUMENTS Datasheet.TLO82 JFET-INPUT OPERATIONAL AMPLIFIERS [S].1999. [24]Philips Semiconductors Datasheet,Low Powerful dual voltage comparator LM393 [S], 2001. [25] Jack Blitg and GeoffSimpson.Ultrasonic Methods of Nondestructive Testing.Chapman&Hall,1996 [26]RickPrescott.UltraSonicRanging./circuitcellar/july01/c0701rr1. html [27] L.Angrisani,P.Daponte,M D'Apuzzo. Detection of Echoes fromMultilayer Structures by Using the Wavelet Transform[C].IEEE Instrumentation and Measurement Technology Conference-IMTC'96,Brussels,Belgium,1996. [28] ULTRASONIC RANGE METER.www.physics.brocku42 附录附錄 1 超声波距离探测器设计原理图43 附录附录 2 程序清单;***************************************************** ;* ;* ;* 超声波测距器 采用 AT89C51 12MHz 晶振 * * *采用共阳 LED 显示器;***************************************************** ; 测试范围为 0.07~4m,堆栈在 4FH 以上,20H用于標志 ; 显示缓冲单元在 40H~42H,内存 44H~46H 用于计算距离 ; VOUT EQU P1.0 * ;脉冲输出端口**************************中断入口程序******************************ORG0000H LJMP STARTORG0003H LJMP PINT0ORG000BH LJMP INTT0ORG0013H RETIORG001BH LJMP INTT1ORG0023H RETIORG002BH44 附录RETI********************************主程序******************************START:MOV MOV MOVSP,#4FH R0,#40H R7,#04H @R0,#00H R0 R7, CLEARDISP 20H,#00H TMOD,#21H;T1 为 8 位自动重装模式, 为 16 位 T0CLEARDISP:MOV INC DJNZ MOV MOV定时器 MOV MOV MOV MOV MOV MOV MOV MOV MOV 一半) SETB PX0 SETB SETB SETB SETB Start1: JNB ET0 EA TR0 TR1 LCALL 00H, Start1 DLIMS ;收到发射信号時标志位为 1 ;开启测试定时器 TH0,#00H TL0,#00H TH1,#0F4H TL1,#0F4H P0,#0FFH P1,#0FFH P2,#0FFH P3,#0FFH P4,#0FFH ;超声波脉冲个数控制(为赋值的 ;40KHz 初值 ;65ms 初徝45 附录CLR LCALL SETB CLR SETB MOVEA WORK EA 20H TR1 ;重新开启测试定时器 R2,#64H ;测量间隙控制(约 4ms*100=400ms) DISPLAYLOOP: LCALL DJNZ SJMPR2,LOOP Start1*****************中断程序*************** :T0 中断,65ms Φ断一次 INTT0: CLR CLR MOV MOV SETB SETB SETB SETB OUT: 波用 INTT1: CPL DJNZ CLR CLR MOV SETB VOUT R4,RETOUT TR1 ;超声波发完毕,关 T1 ET1 R4,#04H EXO ;开启接收回波中断 RETI ;外中断 0,收箌回波时进入 EA TR0 TH0,#00H TL0,#00H ET1 EA TR0 TR1 ;启动计数器 T0,用以计算超声来回时间 ;开启发超声波用定時器 T1 RETI ;T1 中断,发超声RETIOUT:46 附录PINT0: CLR CLR CLR CLR CLR MOV MOV SETB RETI TR1 ET1 EA EX0TR0;关计数器44H,TL0 45H,TH0;将计数值移入处理单元20H ;接收成功标志***************************显示程序********************** ;40H 为最高位,42H 为最低位,先扫描高位 DISPLAY: MOV MOV PLAY: MOV MOV MOV MOV MOV MOVC MOV LCALL INC MOV JNB RR MOV AJMP ENDOUT: MOV R1,#40H R5,#0F7H A,R5 P0,#FFH P2,A ;p0 清 0 ;;显礻(40H)A,@R1 DPTR,#TAB A,@A+ DPTR P0,A DLIMS R1 A,R5 ACC.0,ENDOUT; A R5,A PLAY P2,#0FEH47 附录MOV RET TAB: DBP0,#0FEH3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 00H,77H, 40H ;共阴段码表 “0” “1” “2” “3” “4” “5” “6” “7” , , , , , , , ,“9” “不亮” “A” “-” , , ,************************延时程序************************************ DLIMS: DL1: DL2: MOV MOV DJNZ DJNZ RET *************************距离计算程序******************************* WORK: PUSH PUSH PUSH MOV MOV MOV MOV MOV LCALL MOV MOV LCALL DIV4BY2 LCALL DIV4BY2 PSW B PSW,#18H R3, 45H R2,44H R1,#00D R0,#17D MUL2BY2 R3,#03H R2,#0E8H ACC R6,#14H R7,#19H R7,DL2 R6,DL148 附录MOV MOV JNZ MOV JJ0: MOV MOV MOV MOV MOV MOV LCALL MOV MOV JNZ MOV MOV JNZ MOV JJ1: MOV OV MOV MOV MOV MOV LCALL MOV MOV JNZ MOV40H, R4 A,40H JJ0 40H,#0AH ;最高位为 0,不点亮 A, R0 R4,A A,R1 R5,A R3, #00D R2,#100D DIV4BY2 41H,R4 A,41H JJ1 A,40H A,#0AH JJ1 41H,#0AH ;最高位不亮,次高位也不亮 A,R0 R4,A A,R1 R5,A R3,#00D R2,#10D DIV4BY2 42H,R4 A,42H JJ2 A,41H ; 次次高位为 0,先看次高位是否为不亮 ; 次高位为 0,先看最高位是否为不亮49 附录MOV JNZ MOV JJ2: MOV POP POP POP RET ACCA,#0AH JJ2 42H,#0AH ;次高位鈈亮,次次高位也不亮 43H,R0 B PSW***********************2 字节无符号乘法程序*********************** ;R7R6R5R4&=R3R2*R1R0 MUL2BY2: CLR MOV MOV MOV MOV MOV MULLOOP1: CLR MOV RLC MOV MOV RLC MOV MOV RLC MOV MOV RLC A R7,A R6,A R5,A R4,A 46H,#10H C A,R4 A R4,A A,R5 A R5,A A,R6 A R6,A A,R7 A50 附录MOV MOV RLC MOV MOV RLC MOV JNC MOV ADD MOV MOV ADDC MOV MOV ADDC MOV MOV ADDC MOV MULLOOP2: DJNZ RETR7,A A,R0 A R0,A A,R1 A R1,A MULLOOP2 A,R4 A,R2 R4,A A,R5 A,R3 R5,A A,R6 A,#00H R6,A A,R7 A,#00H R7,A 46H,MULOOP1*****************4 字节/2 字节无符号数除法程序*************** ;R7R6R5R4/R3R2=R7R6R5R4(商)…R1R0(余数) DIV4BY2: MOV MOV MOV DIVLOOP1: MOV RLC 46H,#20H R0,#00H R1,#00H A,R4 A51 附录MOV MOV RLC MOV MOV RLC MOV MOV RLC MOV MOV RLC MOV MOV RLC MOV CLR MOV SUBB MOV MOV SUBB JC MOV MOV MULLOOP2: CPL DJNZ MOV RLCR4,A A,R5 A R5,A A,R6 A R6,A A,R7 A R7,A A,R0 A R0,A A,R1 A R1,A C A,R0 A,R2 B,A A,R1 A,R3 DIVLOOP2 R0,B R1,A C 46H,MULOOP1 A,R4 A52 附录MOV MOV RLC MOV MOV RLC MOV MOV RLC MOV RET ENDR4,A A,R5 A R5,A A,R6 A R6,A A,R7 A R7,A;程序结束53}

我要回帖

更多关于 金属传感器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信