基于单片机的超声波测距论文

郑州轻院轻工职业学院

专科毕业论文

题 目 超声波测距

学生姓名 黄凯鹏

专业班级 电气自动化

学 号 院 (系) 电子信息技术系

指导教师(职称) 贾老师

完成时间 2010年 5 月 10日 1

超声波测距

摘 要

如今,拥有汽车的人越来越多,随之带来的交通隐患也越来越大,本文所设计的超声波汽车倒车探测器正是考虑安全方面的问题。

本文详细介绍了一种基于单片机的脉冲反射式超声测距系统。文中首先阐述了超声传感器的原理及特性;对于测距系统的超声波频率、信号脉冲、器件型号等主要参数进行了讨论;在介绍了超声测距各模块功能的基础上,提出了系统的总体构成并对测距系统发射、接收、检测、显示及报报警部分的硬件设计方案进行了论证。根据系统要求采用模块化的编程思路完成系统的算法设计,实现超声发射和距离显示功能。最后通过软硬件的综合调试实现短距离超声测距系统的基本功能。

在本次设计中,最关健的部份是硬件电路和软件设计,所以本文对这两个部份做了比较详尽的介绍。

其中硬件电路包括滤波电路、放大电路和整形电路。滤波电路的作用是滤掉一些噪声;因为超声波传感器是通过振动产生电流的,所产生的电流非常微弱,所以我们需要放大电路;而单片机只接收方波,所以要对放大的电流进行整波,这样单片机就可以正常工作了。

软件部份本文采用汇编语言编程,使用单片机的中断和计时功能,可以方便的实现所设想的功能。

关健词:超声波;传感器。

Creating and Using Custom LonMaker

ABSTRACT

Human who now, has the automobile are getting more and more, brings the transportation hidden danger along with it to be also getting bigger and bigger, this article designs the ultrasonic wave automobile back-draft detector is precisely considers the security aspect the question.

This article introduced one kind in detail based on monolithic integrated circuit's pulse reflection type supersonic range measuring system. In the article first elaborated the supersonic sensor's principle and the characteristic; Regarding range measuring system's supersonic wave frequency, the signal pulse, the component model and so on main parameter has carried on the discussion; In introduced in the supersonic range finder various modules function's foundation, proposed system's overall constitution and to the range measuring system launch, the receive, the examination, the demonstration and the newspaper warning part's hardware design plan has carried on the proof. Requests according to the system to use modular the programming mentality to complete system's algorithm design, realizes the supersonic launch and the range-amplitude display function. Finally realizes the short distance supersonic range measuring system's basic function through software and hardware's synthesis debugging.

In this design, the most key part is the hardware circuit and the software design, therefore this article has made the quite exhaustive introduction to these two parts.

And hardware circuit including filter circuit, amplifying circuit and waveshaping circuit. Filter circuit's function filters out some noises; Because the ultrasonic sensor is produces the electric current through the vibration, produces the electric current is weak, therefore we need the amplifying circuit; But the monolithic integrated circuit only receives the square-wave, must therefore carry on the entire wave to the enlargement electric current, such monolithic integrated circuit might the normal work.

Software part this article uses the language programming, uses monolithic integrated circuit's interrupt and the time function, may facilitate the function which realizes conceives.

Keywords: Ultrasonic;sensor

目 录

摘要……………………………………………………………………….Ⅱ Abstract………………………………………………………………….Ⅲ 1 绪论…………………………………………………………………….Ⅵ 1.1 概述………………………………………………………………..Ⅵ

1.1.1 超声波汽车倒车探测器简介„„„„„„„„„„„„„„„„„„„Ⅵ

1.1.2 论文研究的意义„„„„„„„„„„„„„„„„„„„„„„„„⒈

1.2 课题的研究目标„„„„„„„„„„„„„„„„„„„„„„„„„⒈. 2 系统硬件电路的设计……………….………………………………….⒉. 2.1 单片机系统及显示电路„„„„„„„„„„„„„„„„„„„„„..⒉

2.2 超声波发射电路„„„„„„„„„„„„„„„„„„„„„„„„„.⒊

2.3 超声波检测接收电路„„„„„„„„„„„„„„„„„„„„„„„.⒊ 3 系统程序的设计…………………………………………………………⒋

3.1 超声波测距器的算法设计„„„„„„„„„„„„„„„„„„„„„.⒋

3.2 主程序„„„„„„„„„„„„„„„„„„„„„„„„„„„„„.⒋

3.3 超声波发生子程序和超声波接收中断程序„„„„„„„„„„„„„„.⒍ 4 测试及性能分析………………………………………………………….⒎ 4.1测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„..⒎

4.2 性能指标„„„„„„„„„„„„„„„„„„„„„„„„„„„„..⒏ 5 控制源程序……………………………………………………………….⒐ 5.1 单片机汇编源程序„„„„„„„„„„„„„„„„„„„„„„„„.⒐ 总结………………………………………………………………………….⒗ 致谢………………………………………………………………………….⒘ 参考文献…………………………………………………………………….⒙ 附录………………………………………………………………………….⒚

附录㈠„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„⒚

1.1 概述

1.1.1超声波汽车倒车探测器简介 1 绪论

本文所研究的超声波汽车倒车探测器实际上就是一种近距离的雷达,它利用超声波测距原理,即用超声波发射器向某一方向发送超声波,同时在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时,停止计时。设超声波在空气中的传播速度为V,在空气中的传播时间为T,汽车与障碍物的距离为S,S=VT/2,这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。

其工作机理是依据压电材料的正逆压电效应,利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号,材料就会产生随所加电压的变化规律而变化的机械形变,这种机械形变推动周围介质振动,产生疏密相间的机械波,如果其振动频率在超声范围内,这种机械波就是超声波。

本文所设计的超声波汽车倒车探测器主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路.

首先由单片机驱动产生12KHZ晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类是用机械方式。产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液 和气流旋笛等。它们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器

根据设计要求并综合各方面因素,本例决定采用AT89C51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图3.1所示。

图3.1 超声波测距器系统设计框图

我们人类在第一次世界大战时就学会了利用超声波,这就是利用“声纳”的原理来

探测水中目标及其状态,如潜艇的位置等。此时人们向水中发出一系列不同频率的超声波,然后记录与处理反射回声,从回声的特征我们便可以估计出探测物的距离、形态及其动态改变。超声波在医学上也得到了很好的利用,早在1942年,奥地利医生杜西克首次用超声技术扫描脑部结构;以后到了60年代医生们开始将超声波应用于腹部器官的探测。如今超声波扫描技术已成为现代医学诊断不可缺少的工具。

自19世纪末到20世纪初,在物理学上发现了压电效应与反压电效应之后,人们解决了利用电子学技术产生超声波的办法,从此迅速揭开了发展与推广超声技术的历史篇章。

超声应用、超声效应如今已广泛用于实际,主要有如下几方面:

(1) 超声检验。超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。

(2) 超声处理。利用超声的机械作用、空化作用、热效应和化学效应,可进行超声焊接、钻孔、固体的粉碎、乳化 、脱气、除尘、去锅垢、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。

(3) 基础研究。超声波作用于介质后,在介质中产生声弛豫过程,声弛豫过程伴随着能量在分子各自电度间的输运过程,并在宏观上表现出对声波的吸收(见声波)。通过物质对超声的吸收规律可探索物质的特性和结构,这方面的研究构成了分子声学这一声学分支。

1.1.2论文研究的意义

自改革开放以来,我国经济发展迅速,许多家庭都拥有了汽车。人们在享受驾驶乐趣的同时,更加注重的是行驶的安全。并且,我国公路等级也在不断提高,特别是高速公路的发展,汽车的行驶速度越来越快,车流量也越来越大,汽车碰撞事故越来越多。因此,增强汽车的安全功能,尤其是增强大型、重型车辆的安全导航功能,对于提高行车安全,减轻司机的劳动强度和心理压力,是十分重要的。目前,国内外都在研究如何利用先进的技术,即汽车避撞技术,辅助汽车驾驶者对影响公路交通安全的人、车、路环境进行实时监控,在危急情况下由系统主动干涉驾驶操纵、帮助驾驶者进行应急处理、防止汽车相撞事故的发生。

在超声波测距系统中,测距就是数据采集中要解决的一个主要问题。尽管测距有多种方式,比如,激光测距,微波测距,红外线测距和超声波测距等。但由于超声波指向性强,是一种非接触式的测距方式,它不受光线、被测对象颜色等因素的影响,对于被测物处于黑暗、有灰尘、烟雾、电磁干扰等恶劣环境也有一定的适应能力。并且超声波的传播速度低,适用于测量较近的距离,再加上超声波传感器结构简单,体积小、成本低,因而常被用于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,在移动机器人,汽车安全,海洋测量等上都得到了广泛的应用。因此把超声波测距这一技术用于汽车导航系统有着非常重要的意义。

1.2 课题的研究目标

本课题的研究目标就是利用超声波实现测距功能,并通过LED数码管显示出来,在到达安全距离之内,最大程度保证行车安全。

在汽车倒车时,往往由于司机后视不良造成交通事故,而本设计正是为了解决这一问题而应运而生的。在汽车倒车时,即使司机不向后看,仍然可以通过超声波倒车探测器了解到汽车后面的障碍物的距离,从而对倒车做出有效判断,在汽车到达距离障碍物的安全范围内。

2. 系统硬件电路的设计

硬件电路主要分为单片机系统及显示电路,超声波发射电路和超声波检测接收电路三部分。

2.1单片机系统及显示电路

单片机采用89C51或其兼容系列。系统采用12MHz高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,断码用74LS244驱动,位码用PNP三极管9012驱动。单片机系统及显示电路如图3.2所示。

图3.2 单片机及显示系统电路图

图3.3 超声波发射电路原理图

图3.5 超声波检测接收电路图

2.2 超声波发射电路

超声波发射电路原理图3.3所示。发射电路主要由反向器74LS04和超声波换能器构成,单片机p1.0端口输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路级两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R10,R11一方面可以提高反向器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。

压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部结构如图3.4所示,它有两个压电晶片和一个公振板。当它的两级外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极间未加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器了。超声波发射换能器与 接收换能器在结构上稍有不同,使用时应分清器件上的标志。

2.3超声波检测接收电路

集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz于测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路,如图3.5所示。实验证明,用CX220106A接收超声波(无信号时输出高电平)具有很高的灵敏度和较强的抗干扰能力。适当地更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。

图 3.4 超声波换能器结构图

图 3.6 超声波测距原理图

3. 系统程序的设计

超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。

3.1 超声波测距器的算法设计

图3.6示意了超声波测距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下:

d=s/2(v×t)/2

其中:d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。

超声波也是一种声波,其声速v于温度有关。表3.1列出了几种不同温度下的超声波声速。在使用时,如果温度变化不大,则可认为声速基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。

表3.1 不同温度下超声波声速表

3.2 主程序

主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传到接收器引起的直射波,

需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才可打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(3—2)计算,即可得被测物体与测距器之间的距离。设计时取20℃时的声速为344m/s,则有

d=(v×t)/2=(172T/10000)cm (3—2)

其中:T为计数器T0的计数值。

测出距离后,结果将以十进制BCD码方式送往LED显示约为0.5s,然后再发超声波脉冲重复测量过程。图3.7所示为主程序流程图。

START: MOV SP, #4FH

MOV R0,

MOV R7, #0BH

CLEARDISP: MOV @R0, #00H

INC R0

DJNZ R7, CLEARDISP

MOV 20H, #00H

MOV TMOD,

MOV TH0, #00H ;65ms

MOV TL0, #00H

MOV TH1, #0F2H ;40kHz

MOV TL1, #0F2H

MOV P0, #0FFH

MOV P1, #0FFH

MOV P2, #0FFH

MOV P3, #0FFH

图3.7 主程序流程图 ※※※※※※主程序※※※※※※ #40H ;40H~43H为显示数据存放单元(40H为最高位) #21H ;T1为8位自动重装模式,T0为16位定时器 初值 初值

MOV R4, #04H ;超声波脉冲个数控制(为赋值的一半) SETB PX0

SETB ET0

SETB EA

SETB TR0 ;开启测试定时器

START1: LCALL DISPLAY

JNB 00H, START1 ;收到反射信号时标志位为1

CLR EA

LCALL WORK

SETB EA

CLR 00H

SETB TR0 ;重新开启测试定时器

MOV R2, #64H ;测量间隙控制(约4ms×100=400ms) LOOP: LCALL DISPLAY

DJNZ R2,LOOP

SJMP START1

3.3 超声波发生子程序和超声波接收中断程序

超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率40KHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行时。超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。ORG 0000H LJMP START

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

ORG 002BH

RETI

超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。进入该中断后,就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1.

※※※※※※中断程序※※※※※※

;T0中断,65ms中断一次

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0 ;启动计数器T0,用以计算超声来回时间 SETB TR1 ;开启发超声波用定时器T1

OUT: RETI

;T1中断,发超声波用

INTT1: CPL VOUT

DJNZ R4,RETOUT

CLR TR1 ;超声波发完毕,关T1

CLR ET1

MOV R4,#04H

SETB EX0 ;开启接收回波中断

RETIOUT: RETI

;外中断0,收到回波时进入

PINT0: CLR TR0 ;关计数器

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0 ;将计数值移入处理单元

MOV 45H,TH0

SETB 00H ;接收成功标志

RETI

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示本次测距不成功。

4.调试及性能分析

4.1 调试

超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用ø15的超声波换能器TCT40—10F1(T发射)和TCT40—10S1(R接收),中心频率为40KHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。

硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。根据实际情况,可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。

4.2 性能指示

根据文中电路参数和程序,测距器可测量的范围为0.07~5.50m。实验中,对测量范围为0.07~2.50m的平面物体做了多次测试,测距器的最大误差不超过1cm,重复性很好。

5.控制源程序

5.1 单片机汇编源程序

超声波测距器

采用AT89C51 12MHz晶振

采用共阳LED显示器

测试范围为0.07~4m,堆栈在4FH以上,20H用于标志

显示缓冲单元在40H~43H,内存44H~46H用于计算距离

VOUT EQU P1.0 ;脉冲输出端口

※※※※※※中断入口程序※※※※※※

ORG 0000H

LJMP START

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

ORG 002BH

RETI

※※※※※※主程序※※※※※※

START: MOV SP, #4FH

MOV R0, #40H ;40H~43H为显示数据存放单元(40H为最高位) MOV R7, #0BH

CLEARDISP: MOV @R0, #00H

INC R0

DJNZ R7, CLEARDISP

MOV 20H, #00H

MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H ;65ms初值

MOV TL0, #00H

MOV TH1, #0F2H ;40kHz初值

MOV TL1, #0F2H

MOV P0, #0FFH

MOV P1, #0FFH

MOV P2, #0FFH

MOV P3, #0FFH

MOV R4, #04H ;超声波脉冲个数控制(为赋值的一半) SETB PX0

SETB ET0

SETB EA

SETB TR0 ;开启测试定时器

START1: LCALL DISPLAY

JNB 00H, START1 ;收到反射信号时标志位为1

CLR EA

LCALL WORK

SETB EA

CLR 00H

SETB TR0 ;重新开启测试定时器

MOV R2, #64H ;测量间隙控制(约4ms×100=400ms) LOOP: LCALL DISPLAY

DJNZ R2,LOOP

SJMP START1

※※※※※※中断程序※※※※※※

;T0中断,65ms中断一次

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0 ;启动计数器T0,用以计算超声来回时间 SETB TR1 ;开启发超声波用定时器T1

OUT: RETI

;T1中断,发超声波用

INTT1: CPL VOUT

DJNZ R4,RETOUT

CLR TR1 ;超声波发完毕,关T1

CLR ET1

MOV R4,#04H

SETB EX0 ;开启接收回波中断

RETIOUT: RETI

;外中断0,收到回波时进入

PINT0: CLR TR0 ;关计数器

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0 ;将计数值移入处理单元

MOV 45H,TH0

SETB 00H ;接收成功标志

RETI

※※※※※※显示程序※※※※※※

;40H为最高位,43H为最低位,先扫描高位

DISPLAY: MOV R1,#40H;G

MOV R5,#0E7H;G

PLAY: MOV A,R5

MOV P0,#0FEH

MOV P2,A

MOV @R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

LCALL DL1MS

INC R1

MOV A,R5

JNB ACC.0,ENDOUT;G

RR A

MOV R5,A

AJMP PLAY

ENDOUT: MOV P2,#0FEH

MOV P0,#0FEH

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H, 0FEH,88H,0BFH

;共阳段码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,

“不亮”,“A”,“-”

※※※※※※延时程序※※※※※※

DL1MS: MOV R6, #14H

DL1: MOV R7, #19H

DL2: DJNZ R7, DL2

DJNZ R6, DL1

RET

※※※※※※距离计算程序※※※※※※

Work: PUSH ACC

PUSH PSW

PUSH B

MOV PSW, #18h

MOV R3, 45H

MOV R2, 44H

MOV R1, #00D

MOV R0, #17D

LCALL MUL2BY2

MOV R3, #03H

MOV R2, #0E8H

LCALL DIV4BY2

LCALL DIV4Y2

MOV 400H, R4

MOV A, 40H

JNZ JJ0

MOV 40H,#0AH ;

JJ0: MOV A, R0

MOV R4, A

MOV A, R1

MOV R5, A

MOV R3, #00D

MOV R2, #100D

LCALL DIV4BY2

MOV 41H, R4

MOV A, 41H

JNZ JJ1

MOV A,

SUBB A, #0AH

JNZ JJ1

MOV 41H, #0AH ;

JJ1: M0V A, R0

MOV R4, A

MOV A, R1

MOV R5, A

MOV R3, #00D

MOV R2, #10D

LCALL DIV4BY2

MOV 42H, R4

MOV A, 42H

JNZ JJ2

MOV A, 41H ;

SUBB A, #0AH

JNZ JJ2

MOV 42H, #0AH ;

最高位为0,不点亮 40H ;次高位为0,先看最高位是否为不亮最高位不亮,次高位也不亮 次次高位为0,先看次高位是否为不亮 次高位不亮,次次高位也不亮

POP B

POP PSW

POP ACC

RET

※※※※※※2字节无符号数乘法程序※※※※※※

R7R6R5R4≦R3R2×R1R0

MUL2BY2: CLR A

MOV R7,A

MOV R6,A

MOV R5,A

MOV R4,A

MOV 46H,#10H

MULLOOP1: CLR C

MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

MOV A,R0

RLC A

MOV R0,A

MOV A,R1

RLC A

MOV R1,A

JNC MULLOOP2

MOV A,R4

ADD A,R2

MOV R4,A

MOV A,R5

ADDC A,R3

MOV R5,A

MOV A,R6

ADDC A,#00H

MOV R6,A

ADDC A,#00H

MOV R7,A

MULLOOP2: DJNZ 46H,MULLOOP1

RET

※※※※※※4字节/2字节无符号数除法程序※※※※※※

;R7R6R5R4/R3R2=R7R6R5R4(商)„R1R0(余数)

DIV4BY2: MOV 46H,#20H

MOV R0,#00H

MOV R1,#00H

DIVLOOP1: MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

MOV A,R0

RLC R0

MOV R0,A

MOV A,R1

RLC A

MOV R1,A

CLR C

MOV A,R0

SUBB A,R2

MOV B,A

MOV A,R1

SUBB A,R3

JC DIVLOOP2

MOV R0,B

MOV R1,A

DIVLOOP2: CPL C

DJNZ 46H,DIVLOOP1

MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

RET

END ;

总 结 程序结束

超声波倒车探测系统实际上已得到了广泛的应用。在本次设计中,我们广泛借鉴了各种设计的优点,充分考虑了整个设计中的各个环节。包括产生40KHz的方波,在接收电路中,对所接收方波进行滤波、放大、整形等步骤。但由于条件和技术所限,对于很多以上所分析的在发射和接收过程中所产生的误差没有得到有效的校正。比如温度误差、硬件电路误差等。

在我们为期一个学期的设计中,我们用到了以前学到的很多知识,比如电工、单片机、和汇编语言等。这使我们意识到,任何一件产品的产生,都不是单一知识所能实现的。而且在电路的设计和程序的编制过程中,出现了很多意想不到的错误,让我们措手不及,有些甚至是一些非常低级的错误,但是这些错误也同样让我们获益非浅,它使我们意识到,研究是一个非常严肃的过程,来不得半点马虎。必须有 一个严谨的态度,加上100%的努力才有可能获得成功的喜悦。

致 谢

在本次设计中,遇到了很多困难,感谢老师的指导和帮助,感谢同学们的互相配合才得已圆满完成设计任务。这次论文的经历也会使我终身受益,我感受到做论文是要用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。通过本次毕业设计,我在贾老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,忠心感谢苏老师以及许多同学的指导和支持。

参考文献

[1] 楼然苗、李光飞.基于单片机课程设计指导书中第3章超声波测距器的设计

[2] 李双科,吴记群.基于AT89C52单片机控制的汽车倒车雷达系统设计与实现.兰州石化职业

技术学院学报.2005年12月第5卷第4期28-30页.

[3] 冯德虎.基于超声波的高精度测距系统的研究.陕西科技大学学报.2007年第5卷第4期110

-114页.

[4] 肖志红,汉泽西.一种基于单片机的超声测距系统的设计.现在电子技术.2006年第19期总

第234期97-100页.

[5] 孟立凡,郑宾,侯文.超声测距换能器及收发电路的研究.华北工学院学报.2001年第22卷

第2期87-89页.

[6] 戴曰章,吴志勇。基于AT89C51单片机的超声波测距系统设计.计量与测试技术.2005年第

32卷第2期17-20页。

[7] 孔雅琼,潘仲明.基于C8051F300的超声测距仪设计.单片机与嵌入式系统应用。2007年第

10期43-45页.

[8] 肖质红.超声波测距仪在汽车安全系统中的应用.浙江成里学院报.2007年9月第20卷第5

期43-46页.

[9] 路锦正,王建鄞,杨绍国,赵珂,赵太飞.超声波测距仪的设计.传感器技术。2002年第21

卷第8期29-32页.

[10] 胡萍.超声波测距仪的研制.计算机与现代化.2003年第10期总第98期54-56页。

附 录 附录一 实物图

图3.8 超声波倒车控测器实物图

郑州轻院轻工职业学院

专科毕业论文

题 目 超声波测距

学生姓名 黄凯鹏

专业班级 电气自动化

学 号 院 (系) 电子信息技术系

指导教师(职称) 贾老师

完成时间 2010年 5 月 10日 1

超声波测距

摘 要

如今,拥有汽车的人越来越多,随之带来的交通隐患也越来越大,本文所设计的超声波汽车倒车探测器正是考虑安全方面的问题。

本文详细介绍了一种基于单片机的脉冲反射式超声测距系统。文中首先阐述了超声传感器的原理及特性;对于测距系统的超声波频率、信号脉冲、器件型号等主要参数进行了讨论;在介绍了超声测距各模块功能的基础上,提出了系统的总体构成并对测距系统发射、接收、检测、显示及报报警部分的硬件设计方案进行了论证。根据系统要求采用模块化的编程思路完成系统的算法设计,实现超声发射和距离显示功能。最后通过软硬件的综合调试实现短距离超声测距系统的基本功能。

在本次设计中,最关健的部份是硬件电路和软件设计,所以本文对这两个部份做了比较详尽的介绍。

其中硬件电路包括滤波电路、放大电路和整形电路。滤波电路的作用是滤掉一些噪声;因为超声波传感器是通过振动产生电流的,所产生的电流非常微弱,所以我们需要放大电路;而单片机只接收方波,所以要对放大的电流进行整波,这样单片机就可以正常工作了。

软件部份本文采用汇编语言编程,使用单片机的中断和计时功能,可以方便的实现所设想的功能。

关健词:超声波;传感器。

Creating and Using Custom LonMaker

ABSTRACT

Human who now, has the automobile are getting more and more, brings the transportation hidden danger along with it to be also getting bigger and bigger, this article designs the ultrasonic wave automobile back-draft detector is precisely considers the security aspect the question.

This article introduced one kind in detail based on monolithic integrated circuit's pulse reflection type supersonic range measuring system. In the article first elaborated the supersonic sensor's principle and the characteristic; Regarding range measuring system's supersonic wave frequency, the signal pulse, the component model and so on main parameter has carried on the discussion; In introduced in the supersonic range finder various modules function's foundation, proposed system's overall constitution and to the range measuring system launch, the receive, the examination, the demonstration and the newspaper warning part's hardware design plan has carried on the proof. Requests according to the system to use modular the programming mentality to complete system's algorithm design, realizes the supersonic launch and the range-amplitude display function. Finally realizes the short distance supersonic range measuring system's basic function through software and hardware's synthesis debugging.

In this design, the most key part is the hardware circuit and the software design, therefore this article has made the quite exhaustive introduction to these two parts.

And hardware circuit including filter circuit, amplifying circuit and waveshaping circuit. Filter circuit's function filters out some noises; Because the ultrasonic sensor is produces the electric current through the vibration, produces the electric current is weak, therefore we need the amplifying circuit; But the monolithic integrated circuit only receives the square-wave, must therefore carry on the entire wave to the enlargement electric current, such monolithic integrated circuit might the normal work.

Software part this article uses the language programming, uses monolithic integrated circuit's interrupt and the time function, may facilitate the function which realizes conceives.

Keywords: Ultrasonic;sensor

目 录

摘要……………………………………………………………………….Ⅱ Abstract………………………………………………………………….Ⅲ 1 绪论…………………………………………………………………….Ⅵ 1.1 概述………………………………………………………………..Ⅵ

1.1.1 超声波汽车倒车探测器简介„„„„„„„„„„„„„„„„„„„Ⅵ

1.1.2 论文研究的意义„„„„„„„„„„„„„„„„„„„„„„„„⒈

1.2 课题的研究目标„„„„„„„„„„„„„„„„„„„„„„„„„⒈. 2 系统硬件电路的设计……………….………………………………….⒉. 2.1 单片机系统及显示电路„„„„„„„„„„„„„„„„„„„„„..⒉

2.2 超声波发射电路„„„„„„„„„„„„„„„„„„„„„„„„„.⒊

2.3 超声波检测接收电路„„„„„„„„„„„„„„„„„„„„„„„.⒊ 3 系统程序的设计…………………………………………………………⒋

3.1 超声波测距器的算法设计„„„„„„„„„„„„„„„„„„„„„.⒋

3.2 主程序„„„„„„„„„„„„„„„„„„„„„„„„„„„„„.⒋

3.3 超声波发生子程序和超声波接收中断程序„„„„„„„„„„„„„„.⒍ 4 测试及性能分析………………………………………………………….⒎ 4.1测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„..⒎

4.2 性能指标„„„„„„„„„„„„„„„„„„„„„„„„„„„„..⒏ 5 控制源程序……………………………………………………………….⒐ 5.1 单片机汇编源程序„„„„„„„„„„„„„„„„„„„„„„„„.⒐ 总结………………………………………………………………………….⒗ 致谢………………………………………………………………………….⒘ 参考文献…………………………………………………………………….⒙ 附录………………………………………………………………………….⒚

附录㈠„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„⒚

1.1 概述

1.1.1超声波汽车倒车探测器简介 1 绪论

本文所研究的超声波汽车倒车探测器实际上就是一种近距离的雷达,它利用超声波测距原理,即用超声波发射器向某一方向发送超声波,同时在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时,停止计时。设超声波在空气中的传播速度为V,在空气中的传播时间为T,汽车与障碍物的距离为S,S=VT/2,这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。

其工作机理是依据压电材料的正逆压电效应,利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号,材料就会产生随所加电压的变化规律而变化的机械形变,这种机械形变推动周围介质振动,产生疏密相间的机械波,如果其振动频率在超声范围内,这种机械波就是超声波。

本文所设计的超声波汽车倒车探测器主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路.

首先由单片机驱动产生12KHZ晶振,由超声波发射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到LED液晶显示屏上。超声波发生器可以分为两大类:一类是用电气方式产生超声波;另一类是用机械方式。产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液 和气流旋笛等。它们所产生的超声波的频率,功率和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面较为常用的是压电式超声波换能器

根据设计要求并综合各方面因素,本例决定采用AT89C51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图3.1所示。

图3.1 超声波测距器系统设计框图

我们人类在第一次世界大战时就学会了利用超声波,这就是利用“声纳”的原理来

探测水中目标及其状态,如潜艇的位置等。此时人们向水中发出一系列不同频率的超声波,然后记录与处理反射回声,从回声的特征我们便可以估计出探测物的距离、形态及其动态改变。超声波在医学上也得到了很好的利用,早在1942年,奥地利医生杜西克首次用超声技术扫描脑部结构;以后到了60年代医生们开始将超声波应用于腹部器官的探测。如今超声波扫描技术已成为现代医学诊断不可缺少的工具。

自19世纪末到20世纪初,在物理学上发现了压电效应与反压电效应之后,人们解决了利用电子学技术产生超声波的办法,从此迅速揭开了发展与推广超声技术的历史篇章。

超声应用、超声效应如今已广泛用于实际,主要有如下几方面:

(1) 超声检验。超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。

(2) 超声处理。利用超声的机械作用、空化作用、热效应和化学效应,可进行超声焊接、钻孔、固体的粉碎、乳化 、脱气、除尘、去锅垢、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。

(3) 基础研究。超声波作用于介质后,在介质中产生声弛豫过程,声弛豫过程伴随着能量在分子各自电度间的输运过程,并在宏观上表现出对声波的吸收(见声波)。通过物质对超声的吸收规律可探索物质的特性和结构,这方面的研究构成了分子声学这一声学分支。

1.1.2论文研究的意义

自改革开放以来,我国经济发展迅速,许多家庭都拥有了汽车。人们在享受驾驶乐趣的同时,更加注重的是行驶的安全。并且,我国公路等级也在不断提高,特别是高速公路的发展,汽车的行驶速度越来越快,车流量也越来越大,汽车碰撞事故越来越多。因此,增强汽车的安全功能,尤其是增强大型、重型车辆的安全导航功能,对于提高行车安全,减轻司机的劳动强度和心理压力,是十分重要的。目前,国内外都在研究如何利用先进的技术,即汽车避撞技术,辅助汽车驾驶者对影响公路交通安全的人、车、路环境进行实时监控,在危急情况下由系统主动干涉驾驶操纵、帮助驾驶者进行应急处理、防止汽车相撞事故的发生。

在超声波测距系统中,测距就是数据采集中要解决的一个主要问题。尽管测距有多种方式,比如,激光测距,微波测距,红外线测距和超声波测距等。但由于超声波指向性强,是一种非接触式的测距方式,它不受光线、被测对象颜色等因素的影响,对于被测物处于黑暗、有灰尘、烟雾、电磁干扰等恶劣环境也有一定的适应能力。并且超声波的传播速度低,适用于测量较近的距离,再加上超声波传感器结构简单,体积小、成本低,因而常被用于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,在移动机器人,汽车安全,海洋测量等上都得到了广泛的应用。因此把超声波测距这一技术用于汽车导航系统有着非常重要的意义。

1.2 课题的研究目标

本课题的研究目标就是利用超声波实现测距功能,并通过LED数码管显示出来,在到达安全距离之内,最大程度保证行车安全。

在汽车倒车时,往往由于司机后视不良造成交通事故,而本设计正是为了解决这一问题而应运而生的。在汽车倒车时,即使司机不向后看,仍然可以通过超声波倒车探测器了解到汽车后面的障碍物的距离,从而对倒车做出有效判断,在汽车到达距离障碍物的安全范围内。

2. 系统硬件电路的设计

硬件电路主要分为单片机系统及显示电路,超声波发射电路和超声波检测接收电路三部分。

2.1单片机系统及显示电路

单片机采用89C51或其兼容系列。系统采用12MHz高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,断码用74LS244驱动,位码用PNP三极管9012驱动。单片机系统及显示电路如图3.2所示。

图3.2 单片机及显示系统电路图

图3.3 超声波发射电路原理图

图3.5 超声波检测接收电路图

2.2 超声波发射电路

超声波发射电路原理图3.3所示。发射电路主要由反向器74LS04和超声波换能器构成,单片机p1.0端口输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路级两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R10,R11一方面可以提高反向器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。

压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部结构如图3.4所示,它有两个压电晶片和一个公振板。当它的两级外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极间未加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器了。超声波发射换能器与 接收换能器在结构上稍有不同,使用时应分清器件上的标志。

2.3超声波检测接收电路

集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz于测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路,如图3.5所示。实验证明,用CX220106A接收超声波(无信号时输出高电平)具有很高的灵敏度和较强的抗干扰能力。适当地更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。

图 3.4 超声波换能器结构图

图 3.6 超声波测距原理图

3. 系统程序的设计

超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序行动的时间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。

3.1 超声波测距器的算法设计

图3.6示意了超声波测距的原理,既超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器于反射物体的距离。该距离的计算公式如下:

d=s/2(v×t)/2

其中:d为被测物于测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。

超声波也是一种声波,其声速v于温度有关。表3.1列出了几种不同温度下的超声波声速。在使用时,如果温度变化不大,则可认为声速基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。

表3.1 不同温度下超声波声速表

3.2 主程序

主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传到接收器引起的直射波,

需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才可打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(3—2)计算,即可得被测物体与测距器之间的距离。设计时取20℃时的声速为344m/s,则有

d=(v×t)/2=(172T/10000)cm (3—2)

其中:T为计数器T0的计数值。

测出距离后,结果将以十进制BCD码方式送往LED显示约为0.5s,然后再发超声波脉冲重复测量过程。图3.7所示为主程序流程图。

START: MOV SP, #4FH

MOV R0,

MOV R7, #0BH

CLEARDISP: MOV @R0, #00H

INC R0

DJNZ R7, CLEARDISP

MOV 20H, #00H

MOV TMOD,

MOV TH0, #00H ;65ms

MOV TL0, #00H

MOV TH1, #0F2H ;40kHz

MOV TL1, #0F2H

MOV P0, #0FFH

MOV P1, #0FFH

MOV P2, #0FFH

MOV P3, #0FFH

图3.7 主程序流程图 ※※※※※※主程序※※※※※※ #40H ;40H~43H为显示数据存放单元(40H为最高位) #21H ;T1为8位自动重装模式,T0为16位定时器 初值 初值

MOV R4, #04H ;超声波脉冲个数控制(为赋值的一半) SETB PX0

SETB ET0

SETB EA

SETB TR0 ;开启测试定时器

START1: LCALL DISPLAY

JNB 00H, START1 ;收到反射信号时标志位为1

CLR EA

LCALL WORK

SETB EA

CLR 00H

SETB TR0 ;重新开启测试定时器

MOV R2, #64H ;测量间隙控制(约4ms×100=400ms) LOOP: LCALL DISPLAY

DJNZ R2,LOOP

SJMP START1

3.3 超声波发生子程序和超声波接收中断程序

超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率40KHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行时。超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。ORG 0000H LJMP START

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

ORG 002BH

RETI

超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。进入该中断后,就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1.

※※※※※※中断程序※※※※※※

;T0中断,65ms中断一次

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0 ;启动计数器T0,用以计算超声来回时间 SETB TR1 ;开启发超声波用定时器T1

OUT: RETI

;T1中断,发超声波用

INTT1: CPL VOUT

DJNZ R4,RETOUT

CLR TR1 ;超声波发完毕,关T1

CLR ET1

MOV R4,#04H

SETB EX0 ;开启接收回波中断

RETIOUT: RETI

;外中断0,收到回波时进入

PINT0: CLR TR0 ;关计数器

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0 ;将计数值移入处理单元

MOV 45H,TH0

SETB 00H ;接收成功标志

RETI

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示本次测距不成功。

4.调试及性能分析

4.1 调试

超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用ø15的超声波换能器TCT40—10F1(T发射)和TCT40—10S1(R接收),中心频率为40KHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。

硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。根据实际情况,可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。

4.2 性能指示

根据文中电路参数和程序,测距器可测量的范围为0.07~5.50m。实验中,对测量范围为0.07~2.50m的平面物体做了多次测试,测距器的最大误差不超过1cm,重复性很好。

5.控制源程序

5.1 单片机汇编源程序

超声波测距器

采用AT89C51 12MHz晶振

采用共阳LED显示器

测试范围为0.07~4m,堆栈在4FH以上,20H用于标志

显示缓冲单元在40H~43H,内存44H~46H用于计算距离

VOUT EQU P1.0 ;脉冲输出端口

※※※※※※中断入口程序※※※※※※

ORG 0000H

LJMP START

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

ORG 002BH

RETI

※※※※※※主程序※※※※※※

START: MOV SP, #4FH

MOV R0, #40H ;40H~43H为显示数据存放单元(40H为最高位) MOV R7, #0BH

CLEARDISP: MOV @R0, #00H

INC R0

DJNZ R7, CLEARDISP

MOV 20H, #00H

MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H ;65ms初值

MOV TL0, #00H

MOV TH1, #0F2H ;40kHz初值

MOV TL1, #0F2H

MOV P0, #0FFH

MOV P1, #0FFH

MOV P2, #0FFH

MOV P3, #0FFH

MOV R4, #04H ;超声波脉冲个数控制(为赋值的一半) SETB PX0

SETB ET0

SETB EA

SETB TR0 ;开启测试定时器

START1: LCALL DISPLAY

JNB 00H, START1 ;收到反射信号时标志位为1

CLR EA

LCALL WORK

SETB EA

CLR 00H

SETB TR0 ;重新开启测试定时器

MOV R2, #64H ;测量间隙控制(约4ms×100=400ms) LOOP: LCALL DISPLAY

DJNZ R2,LOOP

SJMP START1

※※※※※※中断程序※※※※※※

;T0中断,65ms中断一次

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0 ;启动计数器T0,用以计算超声来回时间 SETB TR1 ;开启发超声波用定时器T1

OUT: RETI

;T1中断,发超声波用

INTT1: CPL VOUT

DJNZ R4,RETOUT

CLR TR1 ;超声波发完毕,关T1

CLR ET1

MOV R4,#04H

SETB EX0 ;开启接收回波中断

RETIOUT: RETI

;外中断0,收到回波时进入

PINT0: CLR TR0 ;关计数器

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0 ;将计数值移入处理单元

MOV 45H,TH0

SETB 00H ;接收成功标志

RETI

※※※※※※显示程序※※※※※※

;40H为最高位,43H为最低位,先扫描高位

DISPLAY: MOV R1,#40H;G

MOV R5,#0E7H;G

PLAY: MOV A,R5

MOV P0,#0FEH

MOV P2,A

MOV @R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

LCALL DL1MS

INC R1

MOV A,R5

JNB ACC.0,ENDOUT;G

RR A

MOV R5,A

AJMP PLAY

ENDOUT: MOV P2,#0FEH

MOV P0,#0FEH

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H, 0FEH,88H,0BFH

;共阳段码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,

“不亮”,“A”,“-”

※※※※※※延时程序※※※※※※

DL1MS: MOV R6, #14H

DL1: MOV R7, #19H

DL2: DJNZ R7, DL2

DJNZ R6, DL1

RET

※※※※※※距离计算程序※※※※※※

Work: PUSH ACC

PUSH PSW

PUSH B

MOV PSW, #18h

MOV R3, 45H

MOV R2, 44H

MOV R1, #00D

MOV R0, #17D

LCALL MUL2BY2

MOV R3, #03H

MOV R2, #0E8H

LCALL DIV4BY2

LCALL DIV4Y2

MOV 400H, R4

MOV A, 40H

JNZ JJ0

MOV 40H,#0AH ;

JJ0: MOV A, R0

MOV R4, A

MOV A, R1

MOV R5, A

MOV R3, #00D

MOV R2, #100D

LCALL DIV4BY2

MOV 41H, R4

MOV A, 41H

JNZ JJ1

MOV A,

SUBB A, #0AH

JNZ JJ1

MOV 41H, #0AH ;

JJ1: M0V A, R0

MOV R4, A

MOV A, R1

MOV R5, A

MOV R3, #00D

MOV R2, #10D

LCALL DIV4BY2

MOV 42H, R4

MOV A, 42H

JNZ JJ2

MOV A, 41H ;

SUBB A, #0AH

JNZ JJ2

MOV 42H, #0AH ;

最高位为0,不点亮 40H ;次高位为0,先看最高位是否为不亮最高位不亮,次高位也不亮 次次高位为0,先看次高位是否为不亮 次高位不亮,次次高位也不亮

POP B

POP PSW

POP ACC

RET

※※※※※※2字节无符号数乘法程序※※※※※※

R7R6R5R4≦R3R2×R1R0

MUL2BY2: CLR A

MOV R7,A

MOV R6,A

MOV R5,A

MOV R4,A

MOV 46H,#10H

MULLOOP1: CLR C

MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

MOV A,R0

RLC A

MOV R0,A

MOV A,R1

RLC A

MOV R1,A

JNC MULLOOP2

MOV A,R4

ADD A,R2

MOV R4,A

MOV A,R5

ADDC A,R3

MOV R5,A

MOV A,R6

ADDC A,#00H

MOV R6,A

ADDC A,#00H

MOV R7,A

MULLOOP2: DJNZ 46H,MULLOOP1

RET

※※※※※※4字节/2字节无符号数除法程序※※※※※※

;R7R6R5R4/R3R2=R7R6R5R4(商)„R1R0(余数)

DIV4BY2: MOV 46H,#20H

MOV R0,#00H

MOV R1,#00H

DIVLOOP1: MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

MOV A,R0

RLC R0

MOV R0,A

MOV A,R1

RLC A

MOV R1,A

CLR C

MOV A,R0

SUBB A,R2

MOV B,A

MOV A,R1

SUBB A,R3

JC DIVLOOP2

MOV R0,B

MOV R1,A

DIVLOOP2: CPL C

DJNZ 46H,DIVLOOP1

MOV A,R4

RLC A

MOV R4,A

MOV A,R5

RLC A

MOV R5,A

MOV A,R6

RLC A

MOV R6,A

MOV A,R7

RLC A

MOV R7,A

RET

END ;

总 结 程序结束

超声波倒车探测系统实际上已得到了广泛的应用。在本次设计中,我们广泛借鉴了各种设计的优点,充分考虑了整个设计中的各个环节。包括产生40KHz的方波,在接收电路中,对所接收方波进行滤波、放大、整形等步骤。但由于条件和技术所限,对于很多以上所分析的在发射和接收过程中所产生的误差没有得到有效的校正。比如温度误差、硬件电路误差等。

在我们为期一个学期的设计中,我们用到了以前学到的很多知识,比如电工、单片机、和汇编语言等。这使我们意识到,任何一件产品的产生,都不是单一知识所能实现的。而且在电路的设计和程序的编制过程中,出现了很多意想不到的错误,让我们措手不及,有些甚至是一些非常低级的错误,但是这些错误也同样让我们获益非浅,它使我们意识到,研究是一个非常严肃的过程,来不得半点马虎。必须有 一个严谨的态度,加上100%的努力才有可能获得成功的喜悦。

致 谢

在本次设计中,遇到了很多困难,感谢老师的指导和帮助,感谢同学们的互相配合才得已圆满完成设计任务。这次论文的经历也会使我终身受益,我感受到做论文是要用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。通过本次毕业设计,我在贾老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,忠心感谢苏老师以及许多同学的指导和支持。

参考文献

[1] 楼然苗、李光飞.基于单片机课程设计指导书中第3章超声波测距器的设计

[2] 李双科,吴记群.基于AT89C52单片机控制的汽车倒车雷达系统设计与实现.兰州石化职业

技术学院学报.2005年12月第5卷第4期28-30页.

[3] 冯德虎.基于超声波的高精度测距系统的研究.陕西科技大学学报.2007年第5卷第4期110

-114页.

[4] 肖志红,汉泽西.一种基于单片机的超声测距系统的设计.现在电子技术.2006年第19期总

第234期97-100页.

[5] 孟立凡,郑宾,侯文.超声测距换能器及收发电路的研究.华北工学院学报.2001年第22卷

第2期87-89页.

[6] 戴曰章,吴志勇。基于AT89C51单片机的超声波测距系统设计.计量与测试技术.2005年第

32卷第2期17-20页。

[7] 孔雅琼,潘仲明.基于C8051F300的超声测距仪设计.单片机与嵌入式系统应用。2007年第

10期43-45页.

[8] 肖质红.超声波测距仪在汽车安全系统中的应用.浙江成里学院报.2007年9月第20卷第5

期43-46页.

[9] 路锦正,王建鄞,杨绍国,赵珂,赵太飞.超声波测距仪的设计.传感器技术。2002年第21

卷第8期29-32页.

[10] 胡萍.超声波测距仪的研制.计算机与现代化.2003年第10期总第98期54-56页。

附 录 附录一 实物图

图3.8 超声波倒车控测器实物图


相关内容

  • 基于单片机的倒车雷达设计毕业设计
  • 基于单片机的倒车雷达设计 摘 要 随着社会经济的发展,交通运输业日益兴旺,汽车的数量大幅攀升.交通拥挤状况也日益严重,倒车撞车事件屡屡发生,造成了不可避免的人生伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞预警系统势在必行,超声波测距法是最常见的一种距离测距方法,本文介绍 ...

  • 电气自动化设计论文题目大全
  • 机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数 ...

  • 电气自动化毕业设计论文题目
  • 电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机 ...

  • PLC毕业设计论文题目
  • P L C 第1-100个PLC毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MS ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 超声测距-汽车倒车雷达的设计
  • 学 位 论 文 超声测距-汽车倒车雷达的设计 作 者 姓 名: 学 科 专 业: 通信工程 学 号: 指 导 教 师: 教授 完 成 日 期: 太原工业学院 Taiyuan Institute of Tec 太原工业学院毕业设计(论文) 诚信申明 本人申明: 本人所提交的毕业设计(论文)<超声 ...

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...

  • 汽车倒车防撞报警器毕业设计
  • 乐山师范学院毕业设计(论文) 本科生毕业设计报告 学 院 物理与电子工程学院 专 业 电子信息工程 论文题目:汽车倒车防撞报警器设计 学生姓名 指导教师 班 级 学 号 完成日期:2014 年 12 月 题目:汽车倒车防撞报警器 物理与电子工程学院 电子信息工程 学号 [摘 要]本设计是以基于AT8 ...