超声波测距
超声波测距的原理

超声波测距的原理超声波测距是一种智能测距技术,它利用声速的不同以及发射接收信号的时间差,来计算距离的测量技术。
1.原理超声波测距的原理是通过发射声波,测量声波传播的时间来计算距离。
根据声波在介质中的传播速度,计算出发射点至接收点的距离。
原理公式:距离=声速×时间即:Distance=Speed × Time其中,声速即声波在介质中的传播速度,其值为343m/s;时间即发射声波至接收声波的时间,单位为秒(s)。
2.测距方法(1)双抛物线法发射设备发出短促的超声波,声波以某一固定的速度传播,声波开始发射时,传播的距离为零,传播距离随着时间增长而增长,当该声波正好从目标点穿越而去时,应用接收设备接收该声波,利用计算机处理作出声波传播距离的图形,从双抛物线拟合计算出测量值。
(2)回波法发射设备发出一次超声波信号,当发射的超声波信号到达目标物时,目标物会把超声波信号接收并反射回来,接收设备接收反射的超声波信号,将发射信号及反射信号的时间差作为距离的测量参数进行计算,从而计算出距离的测量值。
回波计算距离的公式:Distance=Time×V/2其中,Time为声波发射到接收的时间差,V为声波在介质空气中的传播速度。
三、超声波测距应用超声波测距技术在智能汽车、工业控制与安全监控、建筑物安全管理等领域有着广泛的应用,其中包括以下几种:(1)智能汽车:超声波测距技术可以帮助智能汽车检测前方障碍物的距离,从而进行安全护栏的移动,同时也能帮助智能汽车检测行驶路线,以便安全驾驶。
(2)工业控制与安全监控:超声波测距技术可以帮助工业设备检测具体物体的距离,从而进行控制和安全监控,保障工业生产的安全运行。
(3)建筑物安全管理:超声波测距技术可以帮助建筑物检测具体的安全距离,从而保障建筑物的安全管理。
四、总结超声波测距是一项智能测距技术,原理是利用声波的传播速度及传播时间差,来计算出两点之间的距离。
超声波测距

2.3 超声波测距原理和方法超声波测距方法从原理上可分为共振式、脉冲反射式[4]两种。
由于共振法的应用要求复杂,一般采用脉冲反射式。
超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时(也有发射后开始计时,看各种情况不同运用方式),超声波在空气中传播,碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时(也有在接到最后一个返回波后停止计时,看设计者出发点而定)。
图2-6 超声波测距原理图在已知超声波在空气中的传播速度为V 的前提下,利用:12S VT = (2-1)即可计算得传感器与反射点之间的距离S ,测量距离:22()2hd s =- (2-2)当S>>h 时,则d ≈S ,即根据计时器记录的测出发射与接收回波的时间差T ,就可以计算出发射点距障碍物的距离S ,即:12d VT = (2-3)这就是所谓的时间差测距法。
由于超声波也是一种声波,其声速V 与温度有关,附表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿法加以校正。
以下给出声速与温度的关系表2-1:表2-1 声速与温度的关系表温度/℃ -30 -20 -1 声速:m/s3338344350386声速确定后,只要测得超声波往返的时间,即可求得距离,这就是超声波测距原理。
在理想状态下的超声波测距原理如图2-7所示:图2-7 理想状态下的超声波测距原理2.4系统涉及的主要参数2.4.1传感器的指向角传感器的指向角是声束半功率点的夹角,是影响测距的一个重要技术参数,记为θ,它直接影响测量的分辨率。
对圆片传感器来说,它的大小与工作波长λ,传感器半径r 有关。
由:(2π/λ)* r *sin (θ/2)=1.615 (2-4)当040f kHz =时,λ=C/0f =8.5mm 。
当0f 选定后,指向角θ近似与传感器半径成反比。
超声波测距原理

超声波测距原理超声波测距是利用超声波在空气中传播的特性来测量距离的一种技术。
它通常被应用在工业自动化、智能车辆、无人机等领域,具有测距精度高、反射面要求低、不受光照影响等优点。
超声波测距的原理基于声波在空气中的传播速度恒定的特性,通过测量超声波的发射和接收时间来计算距离。
首先,超声波传感器会发射一束超声波脉冲,这个脉冲会在空气中以声速传播。
当这个脉冲遇到一个物体时,部分声波能量会被物体反射回传感器。
传感器会立即切换成接收模式,开始接收反射回来的超声波。
通过测量发射和接收超声波的时间差,可以计算出物体与传感器之间的距离。
超声波测距的原理可以用以下公式表示,距离 = 时间差×声速 / 2。
其中,时间差是发射和接收超声波的时间间隔,声速是超声波在空气中传播的速度。
由于超声波在空气中的传播速度大约为340m/s,因此可以通过测量时间差来计算出物体与传感器之间的距离。
超声波测距的精度受到多种因素的影响,其中包括超声波传感器的发射频率、接收灵敏度、环境温度、声波反射面的性质等。
发射频率越高,测距精度越高,但穿透能力越弱;而接收灵敏度则决定了传感器对反射回来的超声波的捕捉能力。
环境温度的变化会影响声速,从而影响测距的准确性。
此外,反射面的性质也会影响超声波的反射情况,不同的材质和形状都会对超声波的反射产生影响。
为了提高超声波测距的精度和稳定性,通常需要对传感器进行校准和滤波处理。
校准可以通过对传感器的发射频率和接收灵敏度进行调整,以及通过环境温度的补偿来提高测距的准确性。
滤波处理则可以通过滤除噪声信号和干扰信号,使测距结果更加稳定可靠。
总的来说,超声波测距原理是利用超声波在空气中传播的特性来测量距离的一种技术。
它通过测量超声波的发射和接收时间来计算物体与传感器之间的距离,具有测距精度高、反射面要求低、不受光照影响等优点。
在实际应用中,需要考虑多种因素对测距精度的影响,并进行相应的校准和滤波处理,以提高测距的准确性和稳定性。
超声波测距设计毕业设计

超声波测距设计毕业设计一、引言距离测量在许多领域都具有重要的应用,如工业自动化、机器人导航、汽车防撞等。
超声波测距作为一种非接触式的测量方法,具有测量精度高、响应速度快、成本低等优点,因此在实际工程中得到了广泛的应用。
本次毕业设计旨在设计一种基于超声波的测距系统,实现对目标物体距离的准确测量。
二、超声波测距原理超声波是一种频率高于 20kHz 的机械波,其在空气中的传播速度约为 340m/s。
超声波测距的原理是通过发射超声波脉冲,并测量其从发射到接收的时间间隔,然后根据声速和时间间隔计算出目标物体与传感器之间的距离。
假设发射超声波脉冲的时刻为 t1,接收到回波的时刻为 t2,声速为c,距离为 d,则距离 d 可以通过以下公式计算:d = c ×(t2 t1) / 2三、系统硬件设计(一)超声波发射模块超声波发射模块主要由超声波换能器和驱动电路组成。
超声波换能器将电信号转换为超声波信号发射出去,驱动电路则提供足够的功率和电压来驱动换能器工作。
(二)超声波接收模块超声波接收模块主要由超声波换能器、前置放大器、带通滤波器和比较器组成。
换能器将接收到的超声波信号转换为电信号,前置放大器对信号进行放大,带通滤波器去除噪声和干扰,比较器将信号整形为方波信号。
(三)控制与处理模块控制与处理模块采用单片机作为核心,负责控制超声波的发射和接收,测量时间间隔,并计算距离。
同时,单片机还可以将测量结果通过显示模块进行显示,或者通过通信模块与上位机进行通信。
(四)显示模块显示模块用于显示测量结果,可以采用液晶显示屏(LCD)或数码管。
(五)电源模块电源模块为整个系统提供稳定的电源,包括 5V 和 33V 等不同的电压等级。
四、系统软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机的初始化、定时器的初始化、端口的初始化等。
然后进入主循环,不断地发射超声波脉冲,并等待接收回波。
当接收到回波后,计算距离,并进行显示或通信。
(完整)超声波测距原理及简介

超声波测距原理及简介超声波测距是什么由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人研制上也得到了广泛的应用。
为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息(距离和方向)。
本文所介绍的三方向(前、左、右)超声波测距系统,就是为机器人了解其前方、左侧和右侧的环境而提供一个运动距离信息。
超声波测距原理1、超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器.总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
2、压电式超声波发生器原理压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板.当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
3、超声波测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 .这就是所谓的时间差测距法。
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离.由此可见,超声波测距原理与雷达原理是一样的。
超声波雷达的测距原理

超声波雷达的测距原理超声波雷达是一种利用高频超声波进行测距的无线电波雷达。
它的原理是利用超声波在空气中的传播速度与距离的关系,通过发射和接收超声波信号来测量距离。
超声波的频率通常在20kHz到200kHz之间,这种频率的声波在空气中传播时,具有较强的穿透力和折射力。
因此,超声波雷达可以穿透一定的障碍物,如烟雾、雾气、沙尘等,进行远距离的测量。
超声波雷达的测距原理主要分为两种:时间测距和频率测距。
一、时间测距时间测距是利用超声波在发射和接收之间传播的时间来计算距离。
超声波发射器向目标发射超声波信号,当信号遇到目标时,会被反射回来,经过接收器接收。
接收器接收到信号后,会将信号转换为电信号,然后计算发射和接收之间的时间差,再根据声波在空气中的传播速度计算出距离。
时间测距的优点是精度高,可以达到毫米级别。
但是,它的缺点是受到环境影响较大,如温度、湿度等因素会影响声波在空气中的传播速度,从而影响测距精度。
二、频率测距频率测距是利用超声波的频率变化来计算距离。
当超声波发射器向目标发射超声波信号时,信号会被目标反射回来,经过接收器接收。
接收器接收到信号后,会将信号转换为电信号,并进行频率分析。
由于声波在空气中传播时会受到多次反射和折射,所以接收到的信号会受到多普勒效应的影响,导致频率发生变化。
根据多普勒效应的原理,可以计算出发射器和目标之间的相对速度,进而计算出距离。
频率测距的优点是受环境影响较小,可以适应多种环境条件。
但是,它的缺点是精度较低,一般只能达到厘米级别。
总的来说,超声波雷达的测距原理是利用超声波在空气中的传播速度与距离的关系,通过发射和接收超声波信号来测量距离。
时间测距和频率测距是两种常用的测距方法,它们各有优缺点,需要根据具体的应用场景选择合适的方法。
超声波精确测距的研究

超声波精确测距的研究超声波测距是一种重要的无损检测技术,在工业、医疗和科研等领域具有广泛的应用价值。
随着科学技术的发展,对超声波测距的精度和稳定性的要求也越来越高。
本文将围绕超声波精确测距的研究展开,首先介绍超声波测距的背景和现状,然后提出存在的问题和相应的研究方法,最后分析实验结果并展望未来研究方向。
超声波测距的研究现状超声波测距的方法主要有时间差法、幅值法、频率法和相位法等。
其中,时间差法是最常用的方法,其原理是利用超声波传播速度与传播时间的乘积来确定距离。
目前,研究人员已经提出了多种优化时间差法测距的技术,如多普勒频移补偿、回波信号增强、噪声抑制等。
问题提出尽管现有的超声波测距方法已经取得了一定的成果,但仍存在一些问题。
首先,测距精度受到多种因素的影响,如超声波传播速度的变化、检测表面的粗糙度等。
其次,现有的方法在低噪声环境下测距效果较好,但在复杂环境下,如存在多径效应、衰减效应等时,测距精度和稳定性会受到较大影响。
因此,如何提高超声波测距的精度和稳定性是亟待解决的问题。
研究方法为了解决上述问题,本文采用了以下研究方法:1、实验设计:设计不同距离、不同材料的超声波测距实验,以模拟实际应用中的各种情况。
2、数据采集和处理:利用高精度数据采集卡和信号处理软件,获取超声波回波信号,并进行信号增强、噪声抑制等处理。
3、误差分析:通过对实验数据的分析,找出影响测距精度的主要因素,并对其进行误差分析。
实验结果与分析实验结果表明,超声波测距的精度和稳定性得到了显著提高。
在近场区域内,测距误差小于1%,稳定性良好;在远场区域内,测距误差略高,但仍在可接受范围内。
通过对实验数据的分析,发现超声波传播速度的波动和检测表面粗糙度是影响测距精度的主要因素。
在复杂环境下,本文所采用的方法具有较好的鲁棒性和抗干扰能力。
结论与展望本文通过对超声波精确测距的研究,提出了一种有效的优化方法,提高了测距精度和稳定性。
然而,仍存在一些局限性,如对复杂环境的适应能力有待进一步提高。
超声波测距实验报告

超声波测距模块工作原理
超声波发射器发射 一组超声波脉冲
脉冲遇到物体后反 射回来
超声波接收器接收 反射回来的脉冲
通过计算发射和接 收脉冲之间的时间 差,得到物体与传 感器之间的距离
编写Arduino程序,控制 超声波传感器发送和接收 信号
连接Arduino板与电脑, 上传程序并运行
调整超声波传感器的角度 和位置,确保测量距离准 确
开始测量
准备超声波传感器和Arduino板 连接超声波传感器和Arduino板 编写程序,设置触发和接收引脚 启动Arduino板,开始测量距离
数据记录和处理
添加标题
添加标题
添加标题
添加标题
拓展应用场景:将超声波测距技术 应用于更多领域,如自动驾驶、智 能机器人等。
降低成本:通过优化设计和生产工艺, 降低超声波传感器和测距系统的成本, 使其更广泛地应用于各种领域。
感谢您的观看
汇报人:XX
实验步骤
准备实验器材
超声波传感器 添加标题
连接线 添加标题
添加标题 Arduino开发板
添加标题 面包板
跳线 添加标题
测量工具 添加标题
添加标题 电脑和软件
添加标题 实验环境
搭建实验装置
准备超声波传感器、 Arduino板、面包板、跳 线等材料
连接超声波传感器与 Arduino板的引脚
连接Arduino板与面包板 的引脚
学会使用超声波传感器进行距离测 量
学会分析实验数据,得出结论
掌握数据处理和分析技巧
学习如何使用超声波传感器进行距 离测量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总体方案本设计主要是进行距离的测量和报警,设计中涉及到的内容较多,主要是将单片机控制模块、超声波测距模块、蜂鸣器报警模块、4位数码管显示模块这几个模块结合起来。
而本设计的核心是超声波测距模块,其他相关模块都是在测距的基础上拓展起来的,测距模块是利用超声波传感器,之后选择合适单片机芯片,以下就是从相关方面来论述的。
超声波测距仪超声波是一种超出人类听觉极限的声波即其振动频率高于20 kHz的机械波。
超声波传感器在工作的时候就是将电压和超声波之间的互相转换,当超声波传感器发射超声波时,发射超声波的探头将电压转化的超声波发射出去,当接收超声波时,超声波接收探头将超声波转化的电压回送到单片机控制芯片。
超声波具有振动频率高、波长短、绕射现象小而且方向性好还能够为反射线定向传播等优点,而且超声波传感器的能量消耗缓慢有利于测距。
在中、长距离测量时,超声波传感器的精度和方向性都要大大优于红外线传感器,但价格也稍贵。
从安全性,成本、方向性等方面综合考虑,超声波传感器更适合设计要求。
综合上述三种测距仪的对比,本实验选着超声波测距仪。
系统方案本系统选择52单片机作为控制系统核心,所测得的距离数值由4位共阴极数码管显示,与障碍物之间的不同距离利用蜂鸣器频率的不同报警声提示,超声波发射信号由52单片机的P1.0口送出到超声波发射电路,将超声波发送出去,报警系统由蜂鸣器电路构成。
本设计中将收发超声波的探头分离这样不会使收发信号混叠,从而能避免干扰,可以很好的提高系统的可靠性。
系统框图如下:硬件设计超声波测距模块模块功能该模块利用超声波测距仪,测试小车与障碍物之间的距离,当距离小于某一给定值时,利用程序,将信号传递给单片机的某个引脚。
其他控制模块检测该引脚的电平高低,根据电平的高低,控制小车的行驶状态。
基本实现原理超声波接收器 放大器 检波电路显示模块51单片机放大电路报警模块 超声波接收器HC-SR04超声波测距模块简介HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达到3mm,模块包括超声波发射器,接收器与控制电路。
基本工作原理:1)采用IO口TRIG触发测距,给至少10us的高电平信号;2)模块自动发送8个40khz的方波,自动检测是否有信号返回;3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*声速)、实物图如上图接线,VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO 回响信号输出等四支线。
测距时序图观察时序图可知,提供一个10us以上的脉冲触发信号给TRIG引脚,模块内部将发出8个40KHZ周期电平并检测回波。
检测到有回波信号则输出回响信号,回响信号的脉冲宽度与所测的距离成正比,由此可通过回响信号的脉宽计算距离系统模块显示模块数码管分动态显示和静态显示,这里选用动态显示动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
报警模块根据距离显示结果的远近,控制蜂鸣器的鸣叫(利用I/O口产生一个频率的方波)软件设计系统程序设计的主要的功能是发射超声波、接受超声波、计算测量距离、数据计算、蜂鸣器报警和数码管显示主程序流程图如上,当发生中断时,则会进行中断处理。
设计中断处理流程图中断处理流程包括,报警处理和数码管扫描处理N报警中断处理误差分析上述实际为73cm 实验数据位71cm超声波测距误差分析根据超声波测距的原理,测量误差的来源有:1、启动发射和启动计时之间的偏差;2、收到回波到被检测出的滞后;3、收到中断到中断响应停止计时之间的滞后;4、计时器本身的误差;5、温度对声波速度以及上述因素的影响。
第二项误差源于检测电路的灵敏度和判断偏差,从收到实际回波到电路确认并输出相应信号肯定存在滞后,这和回波信号强弱、检测电路原理以及判断电路的敏感性相关,也是超声波测距的核心。
因为如果灵敏度过高,则会将一些干扰信号误作为回波,导致测量出错,如果过低,又大大限制了检测距离,因为回波衰减是距离的平方关系。
这部分误差是导致数据不稳定的主要来源,因为判断滞后会随着回波的强弱而变化。
代码//晶振=12M//MCU=STC10F04XE//P0.0-P0.6共阳阴数码管引脚//Trig = P1^0//Echo = P3^2#include <reg52.h> //包括一个52标准内核的头文件#define uchar unsigned char //定义一下方便使用#define uint unsigned int#define ulong unsigned long//***********************************************//sfr CLK_DIV = 0x97; //为STC单片机定义,系统时钟分频// //为STC单片机的IO口设置地址定义sfr P0M1 = 0X93;sfr P0M0 = 0X94;sfr P1M1 = 0X91;sfr P1M0 = 0X92;Sfr P2M1 = 0X95;Sfr P2M0 = 0X96;//***********************************************sbit Trig = P1^0; //产生脉冲引脚sbit Echo = P3^2; //回波引脚sbit spk = P2^0; //蜂鸣器uchar code SEG7[10]={0xeb,0x28,0xb3,0xba,0x78,0xda,0xdb,0xa8,0xfb,0xfa};//数码管0-9uint distance[4]; //测距接收缓冲区uchar ge,shi,bai,qian,temp,flag,outcomeH,outcomeL,i; //自定义寄存器bit succeed_flag; //测量成功标志//********函数声明void conversion(uint temp_data);void delay_30us();void main(void) // 主程序{ uint distance_data,a,b,j=1000;uchar CONT_1;P0M1 = 0; //将io口设置为推挽输出P1M1 = 0;P2M1 = 0;P0M0 = 0XFF;P1M0 = 0XFF;P2M0 = 0XFF;spk = 0;i=0;flag=0;Trig=0; //首先拉低脉冲输入引脚TMOD=0x11; //定时器0,定时器1,16位工作方式TR0=1; //启动定时器0IT0=0; //由高电平变低电平,触发外部中断ET0=1; //打开定时器0中断//ET1=1; //打开定时器1中断EX0=0; //关闭外部中断EA=1; //打开总中断0while(1) //程序循环{while(j--); //保证系统足够上电时间EA=0; //关闭中断时为了准确的计时Trig=1;delay_30us();Trig=0; //产生一个30us的脉冲,在Trig引脚while(Echo==0); //等待Echo回波引脚变高电平succeed_flag=0; //清测量成功标志EX0=1; //打开外部中断TH1=0; //定时器1清零TL1=0; //定时器1清零TF1=0; //需要软件清零吗?TR1=1; //启动定时器1EA=1;while(TH1 < 30);//等待测量的结果,周期65.535毫秒(可用中断实现)TR1=0; //关闭定时器1EX0=0; //关闭外部中断if(succeed_flag==1){distance_data=outcomeH; //测量结果的高8位distance_data<<=8; //放入16位的高8位distance_data=distance_data|outcomeL;//与低8位合并成为16位结果数据// distance_data*=12; //因为定时器默认为12分频distance_data/=58; //微秒的单位除以58等于厘米if( distance_data<=50)spk = 1;else spk=0;} //为什么除以58等于厘米,Y米=(X秒*344)/2// X秒=(2*Y米)/344 ==》X秒=0.0058*Y米=>厘米=微秒/58if(succeed_flag==0){distance_data=0; //没有回波则清零}a=distance_data;if(b==a) CONT_1=0; //这一段程序的作用是什么?if(b!=a) CONT_1++;if(CONT_1>=3){CONT_1=0;b=a;conversion(b);}}}//***************************************************************//外部中断0,用做判断回波电平INTO_() interrupt 0 // 外部中断是0号,外部中断已设置为了下降沿触发{outcomeH =TH1; //取出定时器的值outcomeL =TL1; //取出定时器的值succeed_flag=1; //至成功测量的标志EX0=0; //关闭外部中断}//****************************************************************//定时器0中断,用做显示timer0() interrupt 1 // 定时器0中断是1号{TH0=0xfd; //写入定时器0初始值TL0=0x77;switch(flag){ case 0x00:P0=ge; P2= 0xEF;flag++;break; //个位片选对应于p0.0case 0x01:P0=shi; P2= 0xDF;flag++;break;case 0x02:P0=bai; P2= 0xBF;flag++;break;case 0x03:P0=qian;P2= 0x7F;flag=0;break;if(shi<30) //判断蜂鸣器的鸣叫spk=!spk;}}//显示数据转换程序void conversion(uint temp_data){uchar ge_data,shi_data,bai_data,qian_data ;qian_data=temp_data/1000 ;temp_data=temp_data%1000; //取余运算bai_data=temp_data/100 ;temp_data=temp_data%100; //取余运算shi_data=temp_data/10 ;temp_data=temp_data%10; //取余运算ge_data=temp_data;EA=0;qian=SEG7[qian_data];bai=SEG7[bai_data];shi=SEG7[shi_data];ge =SEG7[ge_data];EA=1;}void delay_30us(){ uchar bt ;for(bt=0;bt<10;bt++); }// void delay_750us()// { uchar bt ;// for(bt=0;bt<250;bt++); // }。