基于单片机的超声波测距系统的设计

基于单片机的超声波测距系统的设计
基于单片机的超声波测距系统的设计

基于单片机的超声波测距系统的设计

目录

第一章引言 (2)

1.1 研究的背景 (2)

1.2 研究的目的及意义 (3)

第二章整体方案设计 (3)

2.1 超声波测距原理 (3)

2.2 单片机简介 (4)

第三章系统设计 (5)

3.1 系统框架 (5)

3.2 原理图 (5)

3.3 单片机最小系统 (6)

3.4 显示屏模块 (6)

3.5 超声波模块 (7)

3.5.1工作原理 (7)

3.5.2模块实物图 (8)

3.5.3电气参数 (8)

第四章软件设计 (8)

4.1 软件设计环境 (8)

4.2 主程序设计 (9)

4.3 程序流程图 (9)

第五章系统测试 (10)

5.1 硬件检测 (10)

5.2 软件检测 (11)

5.3 电路调试 (11)

5.4 实验测试结果 (11)

第六章结论 (12)

谢辞...................................................................................................... 错误!未定义书签。参考文献. (13)

附录...................................................................................................... 错误!未定义书签。

附录1 系统原理图 (14)

附录2 主要程序代码 (15)

摘要

作者设计了一款简单的超声波测距系统。该设计以AT89C51单片机为核心进行控制;通过按键进行手动控制,方便操作;以超声波为媒介对目标进行测距,由于测距方式为非接触式测量,有利于在特殊环境下进行测距,较为安全快捷;使用Keil C编程软件,进行软件设计,实现了软硬件的结合。该设计仅实现了测距功能,适用环境不具体,较为简单,实用性欠佳。由于选用的超声波传感器质量一般,受温湿度变化的影响较大,不宜在环境变化较大的地区使用,功能尚需改进。

关键词单片机超声波测距系统非接触式测量

ABSTRACT

The author designs a simple ultrasonic ranging system. The design using AT89C51 MCU as its core, manual controlled by buttons which is easy to be operated. Using ultrasonic as a medium for the target range, due to it is an non-contact measurement, is more convenient in measurement under special condition and safer and faster. Programmed by Keil C, the design combines the hardware and software. The design just complete the ranging function, and its application environment is not specific. The design is also relatively simple and poor practicability. Because the chosen ultrasonic sensor is of average quality and easy affected by temperature and humidity changes, not suitable for use in areas with large environmental changes, the function still needs to be improved.

Key Words MCU Ultrasonic wave Ranging system Non-contact measurement

第一章引言

超声波具有许多独特的优点,能够在许多方面给人类社会的发展提供便利。它广泛应用于各个技术和应用领域,在科学发展中扮演着重要的角色。传感技术目前在全世界范围内飞速发展,而且依然存在着较大的上升空间。

1.1 研究的背景

当今时代是数字化的时代,人们对于测距的要求逐渐增多。例如在恶劣条件下,要求

在无法直接接触目标的情况下完成测距。因此非接触式的测距方式不断增多,且迅速发展。如今,越来越多的非接触式测距方法被人们研发出来。激光测距、超声波测距、雷达测距等都是很好的例子。激光测距利用激光的特点,传播速度快,因此测量速度十分迅速,且在下雨天等较为复杂的天气中也能够顺利测距,抗干扰能力十分强大,但是代价是处理数据的方式太过复杂,测距成本过高。而雷达测距的优点在于可以应对多种恶劣的天气环境,同时可以长时间进行工作。但是十分容易被电磁波等方式影响,使其丧失工作能力。

同前两种测距方式相比,超声波测距有着自己独特的优点。相比于雷达测距,超声波测距可以不受电磁波的干扰,可以直接测量距离不过于遥远的目标。同时超声波测距的方向性较强,同激光测距相比,超声波测距的成本低廉,适用范围更加广阔。目前超声波测距普遍应用于各个测距领域,前景广阔。

1.2 研究的目的及意义

在日常的实验研究中,测量相关数据是必不可少的环节,然而普通的直尺卷尺测量在实验中又难以发挥作用,且容易受到相关工作环境的影响,致使测量数据造成偏差,在危险环境中测量,如若使用传统测距,容易造成人员伤亡,更加危险。而此时使用超声波测距,既不易受到外界环境的干扰,也保证了人员人身安全,使得实验研究方便展开。

此次课题为设计一种超声波测距系统,将会通过收发超声波信号,从而获取到超声波的传播时间,通过相关程序计算出距离并显示在LCD 显示屏中。通过超声波测量出数据,方便于日常的实验研究中获得数据。

第二章 整体方案设计

2.1 超声波测距原理

超声波实际上就是高频率的声波,自从科学家们研究出如何人工产生超声波后就开始被广泛研究和使用。超声波的方向性较强,同时在特定的距离内不会快速消散,能量十分集中,因此被广泛应用于测距方面。此外,研究超声波已经成为了一个一门学科。超声学就是从声学分支出来,用于专门研究超声波,可见超声波对科学发展的重要性。超声波可以作为信息的载体进行传输,又可以传递能量作用于物体,适用范围十分广泛。

超声波测距仪是利用声波反射的特性,而进行测距作业的装置。由于在同一介质中声波的传播速度为定值。根据测量测距仪与目标之间声波的传输时间即可准确求出发射器距。超声波在十五摄氏度的空气中的传播速度约为340m/s ,所以可以通过记录到的时间就可以计算出发射器距目标的距离[1],距离公式如式2-1所示。

(式2-1)

22T C s d ?==

d是目标物体与测距仪器的距离,s为超声波的来回路程之和,c为超声波的传播速度,t为超声波来回所用的时间[2]。

但是此种方法存在一定误差,超声波的本质是高频率的声波,具有声波的特性。因此测距时的气温会对超声波的波速产生影响。如果传播时的温度过高或过低,超声波的速度就与正常时不同,得出的数据也会不准确。与此同时,超声波在不同的介质中有不同的传播速度,超声波在真空环境下更是无法传播。因此本方案不适用于温度变化较大或温度过高、过低的环境,更不能在真空条件下工作。

2.2单片机简介

单片机是一种集成电路芯片,将多种功能集成到一块鬼片上构成的一个小而完善的微型计算机系统[3]。在单片机中,广泛使用了集成电路的相关知识与科学技术。而且由于单片机的芯片成本较低,规模较小,移动携带十分方便。此外单片机程序可以反复多次擦除重写,更加降低了制作成品的成本,提高了容错率,因此被广泛接受。

单片机自从20世纪70年代问世以来,由于其自身的优点而被广泛关注,也因此获得机会,飞速发展。刚刚开发出的单片机相比于当时的计算机等有着巨大的优势。重量较轻,体积很小的特点让单片机广受重视。而功能齐全也让单片机被广泛使用。与此同时,相比于当时计算机的价格,单片机的价格低廉也为单片机的发展提供了更多保护。从此,单片机的发展已经打下坚实的基础,直至今日,单片机都是科研的重要工具之一。

单片机的发展早期,由于技术有限,单片机多以4位或者8位存在。直至今日,8位单片机也是在科研场所中不可或缺的存在。当时8051单片机因其优越的性能而广受好评,随后在8051单片机的基础上进行改进,诞生了新的单片机种类,直到现在仍旧被广泛使用。随着科学技术的发展,对于单片机的要求逐渐提高,16位单片机也被研发出来。但是由于其自身的特点相比于8位单片机而言性价比不高,并没有被广泛接受。直至90年代,单片机技术飞速发展,而且由于人们对单片机的要求不断提高,32位单片机迅速出现,并飞快占领市场,替代了原本不被广泛使用的16位单片机。与此同时,研究人员在研究32位单片机的同时,并没有放弃对8位单片机的改进。8位单片机在原有的基础上发展迅速,将本身就十分优秀的性能更进一步,在保持优秀的性能的同时,进一步降低价格,将自身的优势发挥到极致。如今的单片机以及具备多种功能,多种操作系统都可以在单片机上使用,方便快捷,使得单片机能更好的服务于人类社会。

设计中选用的是STC89C51单片机。STC89C51是一种低消耗、高性能的单片机,片内含有4KB快闪可编程/擦除只读存储器的8位CMOS微控制器[4]。此外,该单片机在非工作状态会自动减小功耗,当出现意外情况而导致断电等问题时,单片机也可以保存已有的内容,防止出现因为意外而产生的存储内容丢失的情况[5]。

第三章 系统设计

3.1 系统框架

本系统主要由三部分构成:C51单片机最小系统、超声波模块、LCD1602显示屏。系统框图如图3-1所示。

图3-1 系统框架图

3.2 原理图

整体系统的原理图如图3-2所示。LCD1602的D0到D7连接上拉排阻并外接到单片机P0.0到P0.7端口,从而显示所测量的距离,超声波HC-SR04模块中的trig 端、echo 端分别接在单片机中的P1.0、P3.2两个端口,通过单片机的计时器计算时间,最终将计算出的结果显示到LCD1602显示屏中。

图3-2 系统原理图

C51单片机最小系统 超声波发送 超声波接收 LCD 显示屏

3.3 单片机最小系统

单片机最小系统是可以正常使用的的单片机最小配置系统。不用添加过多的外部设备,仅用单片机最小系统就可以使单片机进行正常工作。51单片机使用时间较早,应用范围广泛[6],但是也存在着明显的缺点。这种单片机抗干扰能力较差,需要通过其他方法弥补这一缺点。为了解决这个问题,设计中需要配置一个稳定的供电设备[7]。因此在设计中,为了提供供电设备,可通过USB接口使用充电宝以及计算机的USB口供电。C51最小系统的原理图如图3-3所示。

图3-3 最小系统的原理图

复位电路在STC89C51单片机中必不可少,具有重要的作用。复位电路的作用是将原本的电路恢复到初始状态,从而防止CPU发出错误指令,使得整体的单片机进行错误的操作,影响实验结果。单片机运行时,由于抗干扰能力较差,容易受到各种因素的干扰,至使最终的数据偏差严重。为了避免这种情况,就需要人为按下复位按钮,可以使得程序重新执行,从而完成对数据的正常处理。

3.4 显示屏模块

本次设计所使用的显示屏为LCD1062显示屏,实物如图3-4所示。模块通过电压对显示屏进行控制,可以显示图形。

图3-4 LCD1062显示屏实物图

3.5超声波模块

在设计中,使用的超声波模块为HC-SR04超声波测距模块。该模块由多个部分组成。其中超声波发射器负责向目标发出超声波;超声波接收器则负责接收反射回来的超声波[8]。

3.5.1工作原理

该模块采用IO口TRIG触发测距,给最少10μs的高电平信呈。工作时模块自动发送8个40KHz的方波,发送后会检测有无信号返回;当模块接收到返回信号时,就通过IO 口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间[9]。HC-SR04的超声波时序图如图3-5所示。

图3-5 HC-SR04超声波时序图

此模块为了防止后一次的触发信号与前一次的输出回响信号因间隔过短而可能造成两信号重叠从而影响实验结果,设置的测量周期应至少为60ms。

3.5.2

模块实物图

HC-SR04超声波模块实物图如图3-6所示。该模块共有四个接口。其中,VCC 接口端提供+5V 电源电压,TRIG 接口用于控制触发信号输入,ECHO 接口用于回响信号输出,GND 接口则用于接地。

图3-6 HC-SR04模块实物图

3.5.3电气参数

在进行设计时,对模块的具体参数需要有详细的了解,能够对电路有所规划,测量距离也能够明确范围。模块的具体参数如表3-1所示。

表3-1 HC-SR04模块电气参数

通过表中的数据,我们可以得知设计成品的具体使用范围,最远射程为4m ,最近射

程为2cm 。 第四章 软件设计

4.1 软件设计环境

本设计是在Keil 的环境下编译,通过C 语言进行编程。C 语言有着自己独特的优点,C 语言具有其他多种语言的优点并将这些优点进行融合,方便人们使用。C 语言可以设计

电气参数

HC-SR04超声波模块 工作电压

DC 5V 工作电流

15mA 工作频率

40kHz 最远射程

4m 最近射程

2cm 测量角度

15度 输入触发信号

10uS 的TTL 脉冲 输出回响信号

输出TTL 电平信号,与射程成比例 规格尺寸

45*20*15mm

系统,同时也能够在应用程序等方面起到重要作用。C语言的应用范围十分广泛,软件开发方面就是不可缺少的一种语言。而且在全世界的多种科研发展中,C语言起到了很重要的作用,比如单片机以及嵌入式系统的开发[10],C语言更是起到了重要的作用。C语言是结构式语言,具有许多优点。C语言的优点在于将代码与数据分隔开,将程序的整体分成各个部分,各部分间独立运行。这种结构使得C语言编写的程序清晰明了,方便初学者使用,也方便人们对编好的程序进行分析和调试,寻找问题。C语言是中级语言,在保留低级语言的实用性特点的同时,又包含高级语言的基本结构,使用更加便捷。C语言功能齐全,具有各种各样的数据类型,并且引入了指针的概念,使程序效率更高[11]。C语言兼容性强,能够兼容各种操作系统。Keil是为51系列单片机而专门开发的C语言系统。Keil 提供了一套完整的开发方案,其中包括C编译器、宏汇编、连接器、库管理以及一个功能十分强大的仿真调试器等,通过一个集成开发环境将这些部分组合在一起[12]。

4.2主程序设计

程序中首先设定定时器T0工作模式,置位总中断允许位EA,显示端口P2清0。系统初始化后,超声波模块发出一个延时0.1ms的超声波脉冲,打开外中断0,接收返回的超声波信号。本设计使用了12MHz的晶振,计算器中每计一个数就是1μs,当测到接收成功的标志位后,计数器T0中的数按计算公式计算,即可得到目标距离错误!未找到引用源。。(计数器T0中的数即为超声波来回所用的时间。)超声波测距程序见附录。

4.3程序流程图

本流程图为整体系统的程序流程图,如图4-1所示。系统运行后,模块发出超声波脉冲,等待接收返回的超声波。当接收到返回的超声波时,系统将测量的数据记录,并计算出距离,最终在显示屏中显示结果。

图4-1 主程序流程图

测距程序详细流程图如图4-2所示,测距过程中,定时器初始化并启动,超声波发射器发射超声波,延时0.1ms后开启中断并准备接收反射回来的超声波,当检测到声波返回时,系统关闭定时器,读取所计数值,当未检测到声波返回时,系统继续记录数据。

N

图4-2 测距程序详细流程图

通过此流程,可以测得超声波往返的时间,从而得出目标物体到测距仪的距离,最终显示在LCD显示屏中。

第五章系统测试

5.1硬件检测

在本次设计中有许多元件,需要我们了解每个引脚的功能,再进行连接。购得材料后开始连接,焊接时应当细心仔细,避免出现焊接错误。

此次设计使用插接的方法,有以下几点应当注意。

(1)购得元件后,应当仔细检查测试,确认每个元件能够正常使用,不出现意外损坏的情况。

(2)仔细辨别每个元件的引脚,防止出现人为的看错引脚而导致电路出现问题的情况。

(3)采用多种颜色的导线,方便查线以及后期检查电路。

(4)制作过程中,应当显露出各个元件的标志,方便检查调试以及各种后期处理工作。

(5)在连线之前,应当对连线有所规划,尽可能的避免出现线路杂乱重叠的情况。

(6)连线过程中尽可能做到美观,避免出现外表杂乱的情况。

5.2软件检测

通过Keil uVision4写好程序后,先检测程序中是否存在语法错误、逻辑错误等,检查完毕后再将程序烧入单片机中,观察是否可以正常工作。

5.3 电路调试

完成电路后应进行电路调试工作。连接完成后,应当对电路的各个部分进行检测,遇到问题及时排查处理,防止出现电路损坏的情况。调试步骤有:

(1)在元件连接完毕后,先不要通电,应检查元件引脚是否正确连接,避免出现因为引脚连接错误而导致的一系列问题。同时对于每根线的检查应该仔细,以原理电路进行辅助,确保电路的正常连接。

(2)检查电路无误后就可以连接电源,但是此时不应让仪器立刻工作,而是要注意是否出现意外情况,比如:元器件是否在通电状态下处于正常工作状态,是否漏电,是否出现发烫的情况。一旦出现类似情况,就应当及时关闭电源,重新检查元件是否出现问题,连线是否完好,是否出现短路等问题,处理完毕后再次通电进行测试,直至确保一切正常。此外测量各元件引脚电源的电压,保证元件正常工作错误!未找到引用源。。

(3)对成品进行全面调试。在设计的过程中都会有设计要求与指标,此时需要将成品的工作效果与设计要求一一对比,确保每个成品结果都与设计要求相符合。一旦出现问题,应该立刻解决,避免成品最终于设计要求不符的情况出现。直至将整体全部调试测试完毕,确认元件与电路等均符合设计要求,成品才可以确保满足设计要求。

5.4实验测试结果

设计完成,对实物进行测试。本次实验目标是测量两块地板的长度,通过与卷尺测量结果进行对比测试是否成功。本次设计实物如图5-1所示。

图5-1 设计实物图

测量两块地板的长度,先通过卷尺测量得出长度。再通过该超声波测距测量。卷尺测量结果如图5-2所示。

图5-2 卷尺测量结果

经过测试,使用卷尺进行测量的测量结果为1.06m,将数据记录。目标的距离为1.06m。接下来使用所制作的测距仪进行测距。并将两个结果进行对比,最终得出结果。

如图5-3所示,使用测距仪测距的测量结果为1.08m。由于人为操作存在误差,可以近似于卷尺测量的1.06m,可以认为测量成功。

图5-3 测距仪测量结果

测距系统成功测出两块地板的长度,此时可以认为设计已经满足前期设计要求,设计成功。

第六章结论

本设计是一个基于C51单片机的超声波测距系统,以C51单片机为核心,搭配超声波

测距模块和LCD1602显示屏,对目标进行测距。通过按键进行非接触式测距,方便使用者在各个环境中使用。

超声波测距的原理是向被测目标发射超声波并接收返回的超声波。设计中以反射波为媒介,通过发射波被目标物体反射后接收反射波的方式实现测距功能错误!未找到引用源。。当使用者进行测距时,通过按键操作可以控制系统进行测距,并在显示屏中显示出来。由于本设计属于非接触式测量,使用者可以在不接触目标物体的情况下对目标完成测距。在超声波测距硬件电路中,主要模块包括C51单片机最小系统、HC-SR04超声波测距模块和LCD1602显示屏。设计中为了减小测量误差,提高测量精度,使用了12MHz高精度晶振。目的是通过获得较稳定时钟频率从而减小误差。由于可能存在超声波发射之后直接被接收器接收的情况,这种情况下就会导致测量数据错误,影响结果。为避免这种情况的发生,需要对超声波的发射进行延时处理,因此超声波测距仪会有一个最小测距距离。

此次完成了超声波测距的设计,实现了既定目标,通过与卷尺作为测量工具进行对比,成功测出目标距离。

然而本次设计仍存在较多不足。设计较为简单,无法满足更多具体需求是本次设计的缺点,应当添加多种具体功能,使设计满足更多使用者的需求,应用于更多场合,例如:在本设计的基础上增添报警装置,当测距系统检测到物体距离过近时会发出警报,提醒使用者注意安全,由此研发出汽车倒车防撞装置。同时,由于超声波在不同介质不同温度中的传播速度不同,所以本设计不适宜极端温度或者介质不为空气的环境,因此无法用于在极端条件下的测距,使用环境会受到限制。此外,由于超声波自身的局限性,如果目标距离过远,最终所测的结果也会和真实结果产生较大偏差,因此不能进行过远距离的测量。

参考文献

[1]陆雯.用AT89S51设计简单的倒车防撞探测器[J].广西轻工业,2011,(11):75-76.

[2]张体荣,陈胜权,熊川等.高精度超声波测距仪的设计[J].桂林航天工业高等专科学校学报,2008,(03):42-44.

[3]贾强.三维超声波测距仪的设计[J].天津科技,2014,(08):28-31.

[4]朴明波.对利用CCD技术进行实时在线非接触式线径测量的研究[D].葫芦岛:辽宁工程技术大学,2004.

[5]齐红丽.窄脉冲时域反射仪的设计[D].太原:华北工学院,2004.

[6]丁传鑫.双车道公路平曲线对车辆行驶轨迹的影响研究[D].淮南:安徽理工大学,2014.

[7]曹嘉玮.基于单片机控制的步进电机调速系统[J].电子世界,2011(07):22-26.

[8]胡昌城.船体装备配三维快速安装定位系统总体设计及关键技术研究[D].武汉:华中科技大学,2012.

[9]魏宏,王锡康,李新壮等.大数据背景下的智慧家居控制系统[J].电脑迷,2018,(04):117-117.

[10]张志伟.激光浊度仪的研究与设计[D].大庆:东北石油大学,2010.

[11]王宁.齿轮视觉测量系统与齿廓测量技术研究[D].沈阳:沈阳工业大学,2017.

[12]李晓东.基于STM32的双超声压缩系统电源研制及实验研究[D].广州:广东工业大学,2015.

[13]附录1 系统原理图

附录2 主要程序代码

代码1——头文件

#ifndef __LCD_H_

#define __LCD_H_

/**********************************

当使用的是4位数据传输的时候定义,

使用8位取消这个定义

**********************************/

#define LCD1602_4PINS

/**********************************

包含头文件

**********************************/

#include

//---重定义关键词---//

#ifndef uchar

#define uchar unsigned char

#endif

#ifndef uint

#define uint unsigned int

#endif

/**********************************

PIN口定义

**********************************/

#define LCD1602_DA TAPINS P1

sbit LCD1602_E=P2^5;

sbit LCD1602_RW=P2^6;

sbit LCD1602_RS=P2^7;

/**********************************

函数声明

**********************************/

/*在51单片机12MHZ时钟下的延时函数*/

void Lcd1602_Delay1ms(uint c); //误差0us

/*LCD1602写入8位命令子函数*/

void LcdWriteCom(uchar com);

/*LCD1602写入8位数据子函数*/

void LcdWriteData(uchar dat) ;

/*LCD1602初始化子程序*/

void LcdInit();

#endif

代码2——主程序

#include

#include

#include"lcd.h"

sbit Trig = P2^1;

sbit Echo = P2^0;

unsigned char Title[]="Distance Measurement"; unsigned char OutRangeAlarm[]="Out of range!";

unsigned char code ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','.','-','M'};

static unsigned char DisNum = 0; //显示用指针

unsigned int time=0;

unsigned long S=0;

bit flag =0;

unsigned char disbuff[4] ={ 0,0,0,0,};

/***************************************************************************** **

* 函数名 : main

* 函数功能 : 主函数

* 输入 : 无

* 输出 : 无

***************************************************************************** **/

void Conut(void)

{

int j=0;

time=TH0*256+TL0;

TH0=0;

TL0=0;

S=(time*1.7)/100; //算出来是CM

//显示第二行

LcdWriteCom(0x80+0x45);

if((S>=700)||flag==1) //超出测量范围显示“-”

{

flag=0;

LcdWriteData(ASCII[11]);

LcdWriteData(ASCII[10]); //显示点

LcdWriteData(ASCII[11]);

LcdWriteData(ASCII[11]);

LcdWriteData( ASCII[12]); //显示M

}

else

{

disbuff[0]=S%1000/100;

disbuff[1]=S%1000%100/10;

disbuff[2]=S%1000%10 %10;

LcdWriteData(ASCII[disbuff[0]]);

LcdWriteData(ASCII[10]); //显示点

LcdWriteData(ASCII[disbuff[1]]);

LcdWriteData(ASCII[disbuff[2]]);

LcdWriteData(ASCII[12]); //显示M

}

}

void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围

{

flag=1; //中断溢出标志

}

void StartModule() //启动模块

{

unsigned char i;

Trig=1; //启动一次模块给10us的高电平信号

for(i=10;i>0;i--)

_nop_();

Trig=0;

void delayms(unsigned int ms)

{

unsigned char i=100,j;

for(;ms;ms--)

{

while(--i)

{

j=10;

while(--j);

}

}

}

void main(void)

{

uchar i;

TMOD=0x01; //设T0为方式1,GATE=1;

TH0=0;

TL0=0;

ET0=1; //允许T0中断

EA=1; //开启总中断

LcdInit();

//第一行显示字符串

LcdWriteCom(0x80);

for(i=0;i<16;i++)

LcdWriteData(Title[i]);

while(1)

{

StartModule();

while(!Echo); //当RX为零时等待

TR0=1; //开启计数

while(Echo); //当RX为1计数并等待

TR0=0; //关闭计数

Conut(); //计算

delayms(80);

}

}

代码3——lcd1062显示屏

#include"lcd.h"

/***************************************************************************** **

* 函数名 : Lcd1602_Delay1ms

* 函数功能 : 延时函数,延时1ms

* 输入 : c

* 输出 : 无

* 说名 : 该函数是在12MHZ晶振下,12分频单片机的延时。

***************************************************************************** **/

void Lcd1602_Delay1ms(uint c) //误差 0us

{

uchar a,b;

for (; c>0; c--)

{

for(a=1;a>0;a--);

}

}

}

/***************************************************************************** **

* 函数名 : LcdWriteCom

* 函数功能 : 向LCD写入一个字节的命令

* 输入 : com

* 输出 : 无

***************************************************************************** **/

#ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能

LCD1602_RS = 0; //选择发送命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //放入命令

Lcd1602_Delay1ms(1); //等待数据稳定

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteCom(uchar com) //写入命令

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 0; //选择写入命令

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

// Lcd1602_Delay1ms(1);

LCD1602_DATAPINS = com << 4; //发送低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

/***************************************************************************** **

* 函数名 : LcdWriteData

* 函数功能 : 向LCD写入一个字节的数据

* 输入 : dat

* 输出 : 无

***************************************************************************** **/

#ifndef LCD1602_4PINS

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择输入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //写入数据

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5); //保持时间

LCD1602_E = 0;

}

#else

void LcdWriteData(uchar dat) //写入数据

{

LCD1602_E = 0; //使能清零

LCD1602_RS = 1; //选择写入数据

LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

LCD1602_DATAPINS = dat << 4; //写入低四位

Lcd1602_Delay1ms(1);

LCD1602_E = 1; //写入时序

Lcd1602_Delay1ms(5);

LCD1602_E = 0;

}

#endif

/***************************************************************************** **

* 函数名 : LcdInit()

* 函数功能 : 初始化LCD屏

* 输入 : 无

* 输出 : 无

***************************************************************************** **/

#ifndef LCD1602_4PINS

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x38); //开显示

LcdWriteCom(0x0c); //开显示不显示光标

LcdWriteCom(0x06); //写一个指针加1

LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#else

void LcdInit() //LCD初始化子程序

{

LcdWriteCom(0x32); //将8位总线转为4位总线LcdWriteCom(0x28); //在四位线下的初始化LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1 LcdWriteCom(0x01); //清屏

LcdWriteCom(0x80); //设置数据指针起点

}

#endif

51单片机超声波测距程序

//晶振:11.0592 //TRIG:P1.2 ECH0:P1.1 //波特率:9600 #include #include #include #define uchar unsigned char #define uint unsigned int sbit RX=P0^2; sbit TX=P0^3; unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0; void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; //算出来是CM if(flag==1) //超出测量 { flag=0; printf("-----\n"); } printf("S=%f\n",S); } void delayms(unsigned int ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i)

{ j=10; while(--j); } } } void zd0() interrupt 1 //T0中断用来计数器溢出,超出测距范围{ flag=1; //中断溢出标志 } void StartModule() //T1中断用来扫描数码管和计800ms启动模块{ TX=1; //800MS启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; } void main(void) { TMOD=0x21; //设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0;

基于51单片机的超声波测距毕业设计(论文)

一设计题目基于51单片机的超声波测距 二设计者 姓名班级学号组号 三、设计思路及框图、原理图 任务:以单片机为核心,设计并制作一超声波测距系统基本要求: 利用时间差测距,不考虑温度变化 用数码管显示测试结果 工作频率:450kHz 测距范围:0.5~10米 测试精度: 10% 发挥部分尽量增大测控范围,提高测试精度 1.系统的硬件结构设计 1.1. 超声波发生电路 发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的450kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 1.2超声波检测接收电路 采用集成电路CX20106A为超声波接收芯片。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电

容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。 1.3 显示电路 显示电路主要由74ls273芯片驱动,用PNPC8550三级管进行位选,七段共阳极数码管显示。 2.系统的软件结构设计 设计思路 主程序中包括温度补偿子程序,计算子程序,显示子程序。采用汇编编程。首先进行系统初始化。其次利用循环产生4个40KHZ的方波,由输出口进行输出,并开始计时。第三等待中断,若超声波被接收探头捕捉到,那么通过中断可测得

超声波测距仪毕业论文

第一章绪论 1.1课题设计目的及意义 1.1.1设计的目的 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目 前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。 1.1.2设计的意义 超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。 1.2超声波测距仪的设计思路 1.2.1超声波测距原理 发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。

基于单片机的超声波测距

测控技术与仪器专业课程设计报告 班级姓名学号起始时间 课程设计题目: 测控技术与仪器专业课程设计报告 摘 要:本文介绍了一种基于单片机的超声波测距仪的设计。详细给出了超声波测距仪的工作原理、超 声波发射电路和接受电路、测温电路、显示电路等硬件设计,以及相应的软件设计。设计中采用升压电路,提高了超声换能器的输出能力;采用红外接收芯片,减少了电路间相互干扰,提高了灵敏度;同时,考虑了环境温度对超声波测距的影响,采用温度传感器,提高了测量精度。该设计试验运行良好,系统结构简单、操作方便、价格低廉,具有广阔的推广前景。 关键字:超声波测距仪;超声波换能器;单片机;温度传感器 1 对题目的认识和理解 目前,常用的测距方法主要有毫米波测距、激光测距和超声波测距三种。超声波测距较前两种测距方法而言,具有指向性强、能耗缓慢、受环境因素影响较小等特点,广泛应用于如井深、液位、管道长度、倒车等短距离测量。 超声波测距适用于高精度中长距离测量。因为超声波在标准空气中传播速度为331.45m/s ,由单片机负责计时,单片机使用12.0M 晶振,所以此系统测量精度理论上可以达到毫米级。 目前比较普遍的测距的原理是:通过发射具有特征频率的超声波对被摄目标的探测,通过发射出特征频率的超声波和反射回接受到特征频率的超声波所用的时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场合,超声波测厚,超声波汽车测距告警装置等。 本设计选用频率为40kHZ 左右的超声波,它在空气中传播的效率最佳。由于超声波测距主要受温度影响较大,所以本设计增加了温度补偿电路。本设计具有电路简单、操作简便工作稳定可靠、测距精确和能耗小、成本低等特点,可实现无接触式测量,应用广泛。 1.1 超声波测距原理 超声波测距是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到回波就立即停止计时。根据计时器测出发射和接收回波的时间差t ,可以计算出发射点距障碍物的距离s :2 = t c s ,其中t c 为超声波在空气中的传 播速度,它随温度的变化而变化,其变化关系如下:331.50.6=+t c T 式中T 为环境摄氏温度,可由温 度传感器获取。

基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文

基于单片机的超声波测距电子烧友会基于51单片机的超声波测距仪 之倒车雷达作品设计毕业论文 摘要: 超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,他广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。 本课题详细介绍了超声波传感器的原理和特性,以及STC公司的STC89C52的单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的不足并加以改进,将温度引起的误差考虑在内并且加以修正,给出了以STC89C52单片机为核心的低成本、高精度、液晶显示超声波测距系统的硬件电路和软件设计方法。该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单并且做到了可设计报警范围的功能,在测量精度方面能达到工业使用的要求。 关键词:单片机;液晶显示;报警;测距 I

Ultrasonic distance measurement based on single chip Abstract:Ultrasound has a strong point, the energy consumption of the slow spread of the advantages of distance, so the use of sensor technology and automatic control technology, the program combines distance, ultrasonic distance measurement is the most common one, and he widely used in security, parking sensor, water level measurement, construction sites and some industrial sites. This subject introduces the principles and characteristics of ultrasonic sensors, and microcontroller STC89C52 STC's performance and characteristics, and the analysis of the ultrasonic distance measurement based on the principle that the lack of design ranging system and make improvements, will into account the error due to temperature and should be amended to STC89C52 given low-cost microcontroller as the core, high-accuracy, liquid crystal display ultrasonic ranging system of hardware and software design methods. The system circuit design is reasonable, stable, good performance, fast detection of simple calculation and can be designed to achieve the alarm range of functions to achieve precision in the measurement requirements for industrial use. Keywords:microcontroller; LCD display; alarm; ranging

超声波测距仪单片机课设实验资料报告材料

微机原理与单片机系统课程设计 业:专轨道交通信号与控制 级:班1305 交控

姓名:贺云鹏 学号: 201310104 指导教师:建国 交通大学自动化与电气工程学院 30 日 12 2015 年月 超声波测距仪设计设计说明1 设计目的1.1 测量声波在发超声波测距的原理是利用超声波在空气中的传播速度为已知,根据发射和接收的时间差计算出发射点到障碍射后遇到障碍物反射回来的时间,物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。 超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域。 1.2 设计方法 本课题包括数据测距模块、显示模块。测距模块包括一个HC-SR04超声波测距模块和一片AT89C51单片机,该设计选用HC-SR04超声波测距模块,通过单片机对超声波进行计时并根据超AT89C51发射和接受超声波,使用HC-SR04.声波在空气中速度为340米每秒的特性计算出距离。显示模块包括一个4位共阳极LED数码管和AT89C51单片机,由AT89C51单片机控制数码管动态显示距离。 1.3 设计要求 采用单片机为核心部件,选用超声波模组,实现对距离的测量,测量距离能够通过显示输出(LED,LCD)。 2 设计方案及原理 2.1超声波测距模块设计

基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文

基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

超声波测距仪毕业设计论文

For personal use only in study and research; not for commercial use 第一章绪论 1.1课题设计目的及意义 For personal use only in study and research; not for commercial use 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目 前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。 For personal use only in study and research; not for commercial use 超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。 1.2超声波测距仪的设计思路

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

一、实验目的 1.了解超声波测距原理; 2.根据超声波测距原理,设计超声波测距器的硬件结构电路; 3.对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用 超声波方法测量物体间的距离; 4.以数字的形式显示所测量的距离; 5.用蜂鸣器和发光二极管实现报警功能。 二、实验容 1.认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系 统框图; 2.决定各项参数所需要的硬件设施,完成电路的理论分析和电路模型构造。 3.对各单元模块进行调试与验证; 4.对单元模块进行整合,整体调试; 5.完成原理图设计和硬件制作; 6.编写程序和整体调试电路; 7.写出实验报告并交于老师验收。 三、实验原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理,单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示。 (一)超声波模块原理: 超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图1。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

基于单片机的超声波测距仪的设计与实现毕业论文

基于单片机的超声波测距仪的设计与实现

中文摘要 本设计基于单片机AT89C52,利用超声波传感器HC-SR04、LCD显示屏及蜂鸣器等元件共同实现了带温度补偿功能可报警的超声波测距仪。我们以AT89C52作为主控芯片,通过计算超声波往返时间从而测量与前方障碍物的距离,并在LCD显示。单片机控制超声波的发射。然后单片机进行处理运算,把测量距离与设定的报警距离值进行比较判断,当测量距离小于设定值时,AT89C52发出指令控制蜂鸣器报警,并且AT89C52控制各部件刷新各测量值。在不同温度下,超声波的传播速度是有差别的,所以我们通过DS18B20测温单元进行温度补偿,减小因温度变化引起的测量误差,提高测量精度。超声波测距仪可以实现4m以内的精确测距,经验证误差小于3mm。 关键词:超声波;测距仪;AT89C52;DS18B20;报警

Design and Realization of ultrasonic range finder based ABSTRACT The design objective is to design and implement microcontroller based ultrasonic range finder. The main use of AT89C52, HC-SR04 ultrasonic sensor alarm system complete ranging production. We AT89C52 as the main chip, by calculating the round-trip time ultrasound to measure the distance to obstacles in front of, and displayed in the LCD. SCM ultrasonic transmitter. Then the microcontroller for processing operation to measure the distance and set alarm values are compared to judge distance, when measured distance is less than the set value, AT89C52 issue commands to control the buzzer alarm, and control each member refresh AT89C52 measured values. Because at different temperatures, ultrasonic wave propagation velocity is a difference, so we DS18B20 temperature measurement by the temperature compensation unit, reducing errors due to temperature changes, and improve measurement accuracy. Good design can achieve precise range ultrasonic distance within 4m, proven error is less than 3mm. Keywords:Ultrasonic;Location;AT89C52;DS18B20;Alarm

毕业设计开题报告—超声波测距

毕业设计(论文)开题报告学生姓名:学号: 所在学院: 专业:通信工程 设计(论文)题目:基于STM32的超声波测距仪 指导教师: 2014年2月25日

开题报告填写要求 1.开题报告(含“文献综述”)作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签署意见及所在专业审查后生效; 2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴,完成后应及时交给指导教师签署意见; 3.“文献综述”应按论文的格式成文,并直接书写(或打印)在本开题报告第一栏目内,学生写文献综述的参考文献应不少于15篇(不包括辞典、手册); 4.有关年月日等日期的填写,应当按照国标GB/T 7408—94《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。如“2004年4月26日”或“2004-04-26”。

毕业设计(论文)开题报告 1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2000字左右的文献综述: 文献综述 一、课题研究背景、目的和意义 传感器技术是现代信息技术的主要内容之一,信息技术主要包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外线传感器、压力传感器等等,其中超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。 超声波测距是一种典型的非接触测量方式。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。且超声波测距系统结构简单、电路易实现、成本低、速度快,所以在工业自动控制、建筑工程测量和机器人视觉识别等领域应用非常广泛。 超声波作为一种特殊的声波,同样具有声波传输的基本物理特性、反射、折射、干涉、衍射、散射与物理紧密联系,应用灵活。它是一种指向性强,能量消耗慢的波。它在介质中传播的距离较远,因而超声波经常用于距离的测量,可解决超长度的测量。二、超声波测距仪的整体设计思路 超声波测距一般采用渡越时间法。超声波测距的实质是时间的测量,即:用超声脉冲激励超声探头向外发射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过精确测量从发射超声波至接收回波所经历的射程时间t(渡越时间),按下式计算超声波探头与被测物体之间的距离S,即 S=12ct 其中,c 为空气介质中声波的传播速度。在常温下,超声波的传播速度为340 m/s,

基于51单片机的超声波测距系统

基于51单片机的超声波测距系统 贾源 完成日期:2011年2月22日

目录 一、设计任务和性能指标 (3) 1.1设计任务 (3) 1.2性能指标 (3) 二、超声波测距原理概述 (4) 2.1超声波传感器 (5) 2.1.1超声波发生器 (5) 2.1.2压电式超声波发生器原理 (5) 2.1.3单片机超声波测距系统构成 (5) 三、设计方案 (6) 3.1AT89C2051单片机 (7) 3.2超声波测距系统构成 (8) 3.2.1超声波测距单片机系统 (9) 图3-1:超声波测距单片机系统 (9) 3.2.2超声波发射、接收电路 (9) 图3-1:超声波测距发送接收单元 (10) 3.2.3显示电路 (10) 四.系统软件设计 (11) 4.1主程序设计 (11) 4.2超声波测距子程序 (12) 4.3超声波测距程序流程图 (13) 4.4超声波测距程子序流程图 (14) 五.调试及性能分析 (14) 5.1调试步骤 (14) 5.2性能分析 (15) 六.心得体会 (15) 参考文献 (16) 附录一超声波测系统原理图 (18) 附录二超声波测系统原理图安装图 (19) 附录三超声波测系统原理图PCB图 (20) 附录四超声波测系统原理图C语言原程序 (21) 参考文献 (26)

一、设计任务和性能指标 1.1设计任务 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个超声波测距仪器,用LED数码管把测距仪距测出的距离显示出来。 要求用Protel 画出系统的电路原理图,印刷电路板,绘出程序流程图,并给出程序清单。 1.2性能指标 距离显示:用三位LED数码管进行显示(单位是CM)。 测距范围:25CM到 250CM之间。误差:1%。

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

大学 无线通信课程设计报告基于单片机的超声波测距系统 专业:通信工程 学号:20085428 姓名:超越

基于单片机的超声波测距系统 1.设计原理概述 文章是对基于单片机的超声波测距系统的研究,首先要知道超声波测距的原理,它声波的一种,声波是物体机械振动状态(或能量)的传播形式。 超声波的特性: (1)超声波在介质传播过程中,会发生衰减和散射。由于受介质和杂质的阻碍或吸收,其强度会产生衰减。 (2)超声波声束能集中在特定的方向上,具有良好的指向性。超声波可以在固体、液体和气体中以不同的速度进行传播,其速度受介质温度、压力等因素的影响,但在相同外部环境下,超声波在同一介质中的传播速度是一常数。 (3)超声波在异种介质的界面上会产生发射、叠加等现象。 实用的超声测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距

离的测量时应用低频率的传感器。 声波在其传播介质中被定义为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标,而返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离。超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的,即: 上式中, L为待测距离,V(m/s) 为超声波在空气中的速度,T(s)为往返时间。由于超声波在空气中的传播速度与温度 T(℃)有如下关系: 温度每变化1℃,超声波速度变化0.6m/s。所以通过测温电路测量出当前温度,就可以计算出超声波在当前温度下的传输速度。通常声速随温度的变化比较大,因此产生的测量误差也比较大,所以若是在环境温度变化较大的环境下进行测量,考虑声速补偿的问题。 文章采用基于单片机的超声波测距系统,是利用单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波经反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。 以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间,读取时间差,计算时间差,计算距离,结果输出给LED显示。 单片机计时准确,测距精度高,而且单片机控制方便,计算简单,成本低。

超声波测距在机器人避障中的应用毕业论文

超声波测距在机器人避障中的应用毕业论文 目录 绪论 (1) 1课题设计目的及意义 (1) 1.1设计的目的 (1) 1.2设计的意义 (1) 2超声波测距仪的设计思路 (1) 2.1超声波测距原理 (1) 3课题设计的任务和要求 (2) 第一章超声波测距系统硬件设计 (2) 1 系统设计 (2) 2 51系列单片机的功能特点 (3) 3系统硬件结构的设计 (3) 3.1 单片机显示电路原理 (4) 3.2 超声波发射电路 (4) 3.3 超声波检测接收电路 (4) 3.4超声波测距系统的总电路 (5) 第二章超声波测距系统的软件设计 (5) 1 超声波测距仪的算法设计 (5) 2主程序流程图 (6) 3超声波发生子程序和超声波接收中断程序 (7) 4 系统的软硬件的调试 (7) 第三章超声波测距系统在智能机器人中的应用 (7) 1 避障系统设计思想 (8) 2 硬件设计 (8) 3 软件设计 (9) 总结 (12) 致谢 (13) 参考文献 (14) 附录 (15)

绪论 1课题设计目的及意义 1.1设计的目的 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。 1.2设计的意义 随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。这就是我设计超声波测距仪的意义。 2超声波测距仪的设计思路 2.1超声波测距原理 发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 表1-1 超声波波速与温度的关系表

用51单片机实现HC-SR04超声波测距程序

#include //包括一个52标准内核的头文件 #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long sbit Trig = P1^0; //产生脉冲引脚 sbit Echo = P3^2; //回波引脚 sbit test = P1^1; //测试用引脚 uchar code SEG7[10]={~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90};//数码管0-9 uint distance[4]; //测距接收缓冲区 uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; //自定义寄存器 bit succeed_flag; //测量成功标志 //********函数声明 void conversion(uint temp_data); void delay_20us(); void main(void) // 主程序 { uint distance_data,a,b; uchar CONT_1; i=0; flag=0; test =0; Trig=0; //首先拉低脉冲输入引脚 TMOD=0x11; //定时器0,定时器1,16位工作方式 TR0=1; //启动定时器0 IT0=0; //由高电平变低电平,触发外部中断 ET0=1; //打开定时器0中断 EX0=0; //关闭外部中断 EA=1; //打开总中断0 while(1) //程序循环 { EA=0; Trig=1; delay_20us(); Trig=0; //产生一个20us的脉冲,在Trig引脚 while(Echo==0); //等待Echo回波引脚变高电平 succeed_flag=0; //清测量成功标志 EX0=1; //打开外部中断 TH1=0; //定时器1清零 TL1=0; //定时器1清零 TF1=0; //

超声波测距系统(论文)正文、结论、参考文献等(1)

1 绪论 1.1 超声波技术的广泛应用 超声的研究和发展,与媒质中超声的产生和接收的研究密切相关。1883年Galton 首次制成超声气哨,其原理是将压缩气体经过狭缝喷嘴形成气流,吹动圆形刀口振动形成共振腔,从而产生超声。此后又出现了各种形式的汽笛和液哨等机械型超声换能器。由于这类换能器成本低,所以经过不断改进,至今仍广泛地用于超声处理技术中。 20世纪初,电子学的发展使人们能利用某些材料的压电效应和磁致伸缩效应制成各种机电换能器。1917年,法国物理学家Paul Langevin用天然压电石英制成了夹心式超声换能器,并成功地应用于水下探测潜艇。随着军事和国民经济各部门中超声应用的不断发展,又出现更大超声功率的磁致伸缩换能器,以及各种不同用途的电动型、电磁力型、静电型等多种超声换能器。 材料科学的发展,使得应用广泛的压电换能器也由天然压电晶体发展到机电耦合系数高、价格低廉、性能良好的压电陶瓷、人工压电单晶、压电半导体以及塑料压电薄膜(PVDF)[1]等。产生和检测超声波的频率,也由几十千赫提高到上千兆赫。产生和接收的波型也由单纯的纵波扩大为横波、扭转波、弯曲波、表面波等。如频率为几十兆赫到上千兆赫的微型表面波都己成功地用于雷达、电子通信和成像技术等方面。 利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20kHz以上的机械波),借助空气媒质传播由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物性质或障碍位置的方法。由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类采用仿真技能利用超声波测距。超声波测距是一种利用声波特性、电子计数、光电开关相结合来实现非接触式距离测量的方法。它在很多距离探测应用中有很重要的用途,包括非损害测量、过程检测、机器人检测和定位、以及流体液面高度测量[2]等。 超声波方法在某些方面具有突出的优点: (1)超声波对色彩、光照度不敏感,可用于识别透明及漫反射性差的物体(如玻璃、抛光体); (2)对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中;

基于单片机超声波测距仪的设计本科毕业论文

毕业设计(论文) 设计(论文)题目:基于单片机的超声波测距 仪的设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于单片机的超声波测距仪设计

基于单片机的超声波测距仪设计

基于单片机的超声波测距仪设计 1总体设计方案介绍 1.1超声波测距原理 发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v 与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 表1-1 超声波波速与温度的关系表 表1-1 1.2超声波测距仪原理框图如下图 单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED

显示。 图1-1 超声波测距仪原理框图 2 系统的硬件结构设计 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。 2.1 51系列单片机的功能特点及测距原理 2.1.1 51系列单片机的功能特点 5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的工/O端I:IP0,

超声波测距技术综述

文献综述 题目超声波测距技术综述学生姓名 专业班级 学号 院(系)电气信息工程学院指导教师 完成时间2014 年06月01日

超声波测距技术综述 摘要 我们把频率高于20000赫兹的声波称为“超声波”。超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远等特点,同时它是一种非接触式的检测方式,不受光线、被测对象颜色等影响,因此经常被用于距离的测量。超声测距技术在工业现场、车辆导航、水声工程等领域都具有广泛的应用价值,目前已应用于物位测量、机器人自动导航以及空气中与水下的目标探测、识别、定位等场合。因此,深入研究超声波测距的理论和方法具有重要的实践意义。 关键词超声波超声波测距车辆导航物位测量

1 引言 1.1 超声波简介 一般认为,关于超声的研究最初起始于1876年F1Galton的气哨实验。当时Galton 在空气中产生的频率达300K Hz,这是人类首次有效产生的高频声。而科学技术的发展往往与一些偶然的历史事件相联系。对超声的研究起到极大推动作用的是,1912年豪华客轮Titanic号在首航中碰撞冰山后的沉没,这个当时震惊世界的悲剧促使科学家们提出用声学方法来预测冰山,在随后的第一次世界大战中,对超声的研究得以进一步的促进。 近些年来,随着超声技术研究的不断深入,我们把频率高于20000赫兹的声波称为“超声波”。再加上其具有的高精度、无损、非接触等优点,超声的应用变得越来越普及。目前已经广泛的应用在机械制造、电子冶金、航海、航空、宇航、石油化工、交通等工业领域。此外在材料科学、医学、生物科学等领域中也占据重要地位。 而我国,关于超声波的大规模研究始于1956年。迄今,在超声的各个领域都开展了研究和应用,其中有少数项目已接近或达到了国际水平。 1.2 超声波测距简介 超声测距指的是利用超声波的反射特性进行距离测量,是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高。超声波测距仪,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控和移动机器人的研制上,也可在潮湿高温,多尘等恶劣环境下工作。例如:液位、厚度、管道长度等场合。 超声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量,机器人视觉识别,倒车防撞雷达,海洋测量,物体识别等方面得到广泛的应用。超声波具有指向性强、能量消耗缓慢且在介质中传播的距离较远的优点。与激光测距、红外线测距相比,超声波对外界光线、色彩和电磁场不敏感,更适于黑暗、

相关文档
最新文档