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

合集下载

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

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

基于单片机AT89S52的超声波测距仪的设计与实现一、引言超声波测距仪是一种非接触式测距设备,通过发送超声波脉冲并接收超声波的回波来计算目标物体与测距仪之间的距离。

它在工业控制、智能车辆、机器人等领域有着广泛的应用。

本文将介绍基于单片机AT89S52的超声波测距仪的设计与实现,详细讨论硬件电路设计、软件程序编写以及实验测试等内容。

二、硬件设计1. 超声波模块超声波模块是测距仪的核心部件,它负责发射超声波脉冲并接收回波。

常见的超声波模块工作频率为40kHz,发送和接收分别采用单一的超声波传感器。

在本设计中,我们选用了HC-SR04型号的超声波模块,该模块具有精准测距、低功耗等优点,适合在单片机项目中使用。

2. 单片机AT89S52单片机AT89S52是一种高性能、低功耗的单片机芯片,它具有多种外设接口和丰富的功能,非常适合作为超声波测距仪的控制核心。

在本设计中,AT89S52的I/O口将分别连接超声波模块的Trig和Echo引脚,以完成数据的发送和接收。

3. 显示模块为了方便用户获取测距结果,我们设计了一个简单的数码管显示模块,用于显示测距仪测量到的距离数值。

利用AT89S52的数码管驱动功能,可以轻松实现距离数值的显示,并且可以根据需要扩展其他功能,比如显示单位、光线亮度调节等。

4. 电源电路为了保证整个测距仪系统的正常工作,我们设计了一个稳压电源电路,用于为AT89S52和超声波模块提供稳定的电压。

在实际应用中,我们可以选择直流电源输入或者电池供电,以满足不同场合的需求。

三、软件程序设计1. 初始化设置在软件程序设计中,首先需要对AT89S52的I/O口进行初始化设置,包括将Trig引脚设置为输出模式、将Echo引脚设置为输入模式,同时配置定时器和中断等功能。

这些初始化设置将为后续的超声波测距操作奠定基础。

2. 超声波信号发送当用户需要进行测距时,软件程序会向超声波模块的Trig引脚发送一个10us的高电平脉冲信号,启动超声波发送。

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

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

基于单片机超声波测距系统的设计和实现超声波测距系统是利用超声波传播速度较快的特性,通过发射超声波并接收其回波来测量距离的一种常见的测距方式。

在本文中,我们将介绍基于单片机的超声波测距系统的设计和实现。

一、系统设计原理超声波测距系统主要由超声波发射器、超声波接收器、单片机和显示器组成。

其工作原理如下:1.发送超声波信号:超声波发射器通过单片机控制,向外发射超声波信号。

超声波的发射频率通常在40kHz左右,适合在空气中传播。

2.接收回波信号:超声波接收器接收到回波信号后,将信号经过放大和滤波处理后送入单片机。

3.距离计算:单片机通过测量超声波发射和接收的时间差来计算距离。

以声速343m/s为例,超声波的往返时间与距离之间的关系为:距离=时间差×声速/2、通过单片机上的计时器和计数器来测量时间差。

4.数据显示:单片机将计算得到的距离数据通过显示器显示出来,实时展示被测物体与超声波传感器之间的距离。

二、系统设计步骤1.系统硬件设计:选择合适的超声波模块,其具有超声波发射器和接收器功能,并可通过接口与单片机连接。

设计好电源电路以及超声波传感器与单片机之间的连接方式。

2.系统软件设计:根据单片机的型号和编程语言,编写相应的程序。

包括超声波信号的发射和接收控制,计时和计数功能的编程,距离计算和数据显示的实现。

3.硬件连接和调试:将硬件连接好后,对系统进行调试。

包括超声波模块与单片机的连接是否正确,超声波信号的发射和接收是否正常,计时和计数功能是否准确等。

5.优化和改进:根据实际测试结果,对系统进行优化和改进。

如增加滤波和放大电路以提高信号质量,调整超声波模块的发射频率,改进显示方式等。

三、系统实现效果完成以上设计和实施后,我们可以得到一个基于单片机的超声波测距系统。

该系统使用简单,测距精度高,响应速度快,适用于各种距离测量的应用场景。

同时,该系统还可根据具体需求进行各种改进和扩展,如与其他传感器结合使用,增加报警功能等。

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

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

基于单片机控制的超声波测距系统的设计一、概述。

超声波测距技术是一种广泛应用的测距技术,它能够非常精确地测量物体到传感器的距离。

本文介绍的基于单片机控制的超声波测距系统主要由控制模块、信号处理模块和驱动模块三部分组成。

其中,控制模块主要实现超声波信号的发射与接收,信号处理模块主要实现对测量结果的处理和计算,驱动模块主要实现对LED灯的控制。

二、硬件设计。

1.超声波发射模块:采用 SR04 超声波发射传感器,并通过单片机的PWM 输出控制 SR04 的 trig 引脚实现超声波信号的发射。

2.超声波接收模块:采用SR04超声波接收传感器,通过单片机的外部中断实现对超声波信号的接收。

3.控制模块:采用STM32F103单片机,通过PWM输出控制超声波发射信号,并通过外部中断接收超声波接收信号。

4.信号处理模块:采用MAX232接口芯片,将单片机的串口输出转换成RS232信号,通过串口与上位机进行通信实现测量结果的处理和计算。

5.驱动模块:采用LED灯,通过单片机的GPIO输出控制LED灯的亮灭。

三、软件设计。

1.控制模块:编写程序实现超声波信号的发射与接收。

其中,超声波发射信号的周期为 10us,超声波接收信号的周期为 25ms。

超声波接收信号的处理过程如下:(1)当 trig 引脚置高时,等待 10us。

(2)当 trig 引脚置低时,等待 echo 引脚为高电平,即等待超声波信号的回波。

(3)当 echo 引脚为高电平时,开始计时,直到 echo 引脚为低电平时,停止计时。

(4)根据计时结果计算物体到传感器的距离,将结果通过串口输出。

2.信号处理模块:编写程序实现接收计算结果,并将结果通过串口与上位机进行通信。

具体步骤如下:(1)等待串口接收数据。

(2)当接收到数据时,将数据转换成浮点数格式。

(3)根据测量结果控制LED灯的亮灭。

以上就是基于单片机控制的超声波测距系统的设计。

该系统能够通过精确测量物体到传感器的距离并对测量结果进行处理和计算,能够广泛应用于各种实际场合。

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

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

基于单片机的超声波测距仪设计超声波测距仪是一种利用超声波测量距离的装置,具有测量速度快、精度高、非接触等特点,在机器人导航、自动控制、无损检测等领域得到了广泛的应用。

随着单片机技术的不断发展,基于单片机的超声波测距仪设计成为了可能,具有体积小、成本低、易于集成等优点。

本文将介绍一种基于单片机的超声波测距仪的设计与实现方法。

超声波测距仪的工作原理是利用超声波的传输特性来实现距离的测量。

超声波发射器发出超声波,超声波在空气中传播,遇到障碍物或被测物体后反射回来,被超声波接收器接收。

根据超声波的传播速度和传播时间,可以计算出超声波发射器与被测物体之间的距离。

一般来说,超声波的传播速度为340m/s,因此,距离计算公式为:距离 =传播速度×时间 / 2。

本设计选用STM32F103C8T6单片机作为主控制器,该单片机具有高性能、低功耗、丰富的外设接口等特点,满足系统的要求。

超声波测距仪的硬件部分包括超声波发射器、超声波接收器、单片机控制器和显示模块。

具体设计方案如下:(1)超声波发射器:采用HC-SR04模块,该模块集成了超声波发射器和接收器,输出脉冲宽度为5ms,驱动电压为5V。

(2)超声波接收器:同样采用HC-SR04模块,接收反射回来的超声波信号,并将其转换为电信号输出。

(3)单片机控制器:选用STM32F103C8T6单片机,接收超声波接收器输出的电信号,通过计算得到距离值,并将其输出到显示模块。

(4)显示模块:采用液晶显示屏,用于显示测量得到的距离值。

(1)初始化模块:对单片机、HC-SR04模块和液晶显示屏进行初始化。

(2)超声波发射模块:通过单片机控制HC-SR04模块发射超声波,并开始计时。

(3)超声波接收模块:接收反射回来的超声波信号,并输出到单片机。

(4)距离计算模块:根据超声波的传播速度和传播时间,计算出超声波发射器与被测物体之间的距离,并将其存储在单片机的存储器中。

(5)显示模块:将计算得到的距离值输出到液晶显示屏上。

(完整版)基于单片机的超声波测距系统设计

(完整版)基于单片机的超声波测距系统设计

目录一、摘要 (3)二、正文 (3)1、引言 (3)2、系统设计方案 (4)2.1超声波测距的原理 (4)2.2设计框图 (4)2.3 US-100超声波收发模块 (4)2.4 单片机电路 (6)2.5 蜂鸣器报警电路 (8)2.6显示电路 (9)2.7供电及程序下载电路 (10)3 软件编程 (10)3.1软件流程图 (10)3.2主程序 (11)4、下载调试 (19)5、实物图 (19)6 元件选择 (20)三、总结 (20)四、参考文献 (20)一、摘要超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。

本设计详细介绍了超声波传感器的原理和特性,分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以STC89c52单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。

该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。

关键词:超声波单片机测距 STC89c52AbstractUltrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some industrial scenes extensively。

《2024年基于STM32单片机的高精度超声波测距系统的设计》范文

《2024年基于STM32单片机的高精度超声波测距系统的设计》范文

《基于STM32单片机的高精度超声波测距系统的设计》篇一一、引言在现代电子技术的迅猛发展中,精确测量距离的设备扮演着重要的角色。

随着人类对于生活环境安全性的关注提升,对于各种设备的精度要求也在逐渐加强。

超声波测距技术以其非接触性、高精度、低成本等优点,在众多领域得到了广泛的应用。

本文将详细介绍基于STM32单片机的高精度超声波测距系统的设计。

二、系统概述本系统以STM32单片机为核心控制器,结合超声波测距模块,实现对目标物体的精确测距。

系统主要由STM32单片机、超声波测距模块、电源模块、信号处理模块和显示模块等组成。

通过单片机对超声波模块的控制,实现对目标的精确测距,并通过显示模块实时显示测距结果。

三、硬件设计1. STM32单片机:作为系统的核心控制器,负责整个系统的控制与数据处理。

STM32系列单片机具有高性能、低功耗的特点,能够满足系统对于精确度和稳定性的要求。

2. 超声波测距模块:采用高精度的超声波测距传感器,实现对目标物体的距离测量。

通过超声波的发送与接收,实现对目标的距离计算。

3. 电源模块:为系统提供稳定的电源支持,确保系统的正常工作。

电源模块需考虑到功耗问题,以实现系统的长时间运行。

4. 信号处理模块:对超声波测距模块的信号进行滤波、放大等处理,以提高测距的准确性。

5. 显示模块:实时显示测距结果,方便用户观察与操作。

四、软件设计1. 主程序:负责整个系统的控制与数据处理。

主程序通过控制超声波测距模块的发送与接收,获取目标物体的距离信息,并通过显示模块实时显示。

2. 超声波测距模块控制程序:控制超声波的发送与接收,实现对目标物体的距离测量。

通过计算超声波的发送与接收时间差,计算出目标物体的距离。

3. 数据处理程序:对获取的测距数据进行处理,包括滤波、计算等操作,以提高测距的准确性。

4. 显示程序:将处理后的测距结果显示在显示模块上,方便用户观察与操作。

五、系统实现1. 通过STM32单片机的GPIO口控制超声波测距模块的发送与接收,实现超声波的发送与接收功能。

《2024年基于STM32单片机的高精度超声波测距系统的设计》范文

《2024年基于STM32单片机的高精度超声波测距系统的设计》范文

《基于STM32单片机的高精度超声波测距系统的设计》篇一一、引言随着科技的不断发展,高精度测距技术被广泛应用于各个领域,如机器人导航、环境监测、智能家居等。

本文将介绍一种基于STM32单片机的高精度超声波测距系统的设计。

该系统采用先进的超声波测距原理,结合STM32单片机的强大处理能力,实现了高精度、快速响应的测距功能。

二、系统概述本系统主要由超声波发射模块、接收模块、STM32单片机以及相关电路组成。

通过STM32单片机控制超声波发射模块发射超声波,然后接收模块接收反射回来的超声波信号,根据超声波的传播时间和速度计算距离。

系统具有高精度、抗干扰能力强、测量范围广等特点。

三、硬件设计1. STM32单片机本系统采用STM32系列单片机作为主控制器,具有高性能、低功耗、丰富的外设接口等特点。

通过编程控制单片机的GPIO 口,实现超声波发射和接收的控制。

2. 超声波发射模块超声波发射模块采用40kHz的超声波传感器,具有体积小、功耗低、测距范围广等优点。

通过单片机控制发射模块的触发引脚,产生触发信号,使传感器发射超声波。

3. 超声波接收模块超声波接收模块同样采用40kHz的超声波传感器。

当传感器接收到反射回来的超声波信号时,会产生一个回响信号,该信号被接收模块的回响引脚捕获并传递给单片机。

4. 相关电路相关电路包括电源电路、滤波电路、电平转换电路等。

电源电路为系统提供稳定的电源;滤波电路用于去除干扰信号;电平转换电路用于匹配单片机与传感器之间的电平标准。

四、软件设计1. 主程序设计主程序采用C语言编写,通过STM32单片机的标准库函数实现各功能模块的初始化、参数设置以及控制逻辑。

主程序首先进行系统初始化,然后进入循环等待状态,等待触发信号的到来。

当接收到触发信号时,开始测距流程。

2. 测距流程设计测距流程主要包括发射超声波、等待回响信号、计算距离等步骤。

当接收到触发信号时,单片机控制超声波发射模块发射超声波;然后等待接收模块的回响信号。

肖如意基于单片机的超声波测距仪课程设计毕业设计完整版

肖如意基于单片机的超声波测距仪课程设计毕业设计完整版

肖如意基于单片机的超声波测距仪课程设计毕业设计完整版一、课程设计题目基于单片机的超声波测距仪二、设计背景和意义超声波是一种拥有高频、长波长及较强穿透力的机械波。

在工程应用中,超声波的使用呈现日益广泛的趋势。

其测距原理主要是通过发送超声波,然后测量超声波的反射时间从而计算出传感器与目标之间的距离。

这种测距方式在许多领域上得到了广泛应用,如汽车防撞系统、物体检测控制等。

本课程设计旨在设计一种基于单片机的超声波测距仪。

该测距仪可以方便、精准地测量传感器与目标之间的距离,实现对距离的精准测量,并具有较高的普适性和实用性。

三、设计内容和步骤1、课程设计的原材料需求硬件:AVR单片机ATmega16、LCD液晶显示屏、SR04型超声波传感器,线路板、一些接口电路以及电源电路。

软件:Keil开发工具、Proteus仿真软件。

2、设计步骤a. 硬件设计1)搭建电路:尽量精简的电路设计;2)电路测试:一个小测试仪器能够帮助校正或调试。

b. 软件设计1)按照Keil开发工具的规则进行编写;2)编译程序,并将编译生成的hex文件烧到单片机中;3)使用Proteus仿真软件进行框架测试。

c. 手动测量1)利用钢尺和细线确保和计算机上所得数据的一致性。

2)测量对齐,以确保测量结果的准确度和精密度。

四、开发难点1、硬件难点超声波传感器工作时会产生较大的电磁干扰,因此需要对传感器的电路进行防干扰解决方案的设计。

同时,为了实现数据采集的精准性,要尽量减少电路中的噪声以及时钟延迟等问题,同时也要保证功耗的可控性。

2、软件难点软件难点主要在于实现数据的精准测量和实时显示。

需要精准计算超声波传感器与目标的距离,并将其实时转化为数字信号,以便在LCD屏幕上进行直观显示。

3、数据处理难点在实现数据处理过程中,需要考虑到数据采集的实时性和稳定性,同时需要对采集到的数据进行统计分析和处理,以便后期对其进行优化。

五、设计方案实现与效果通过几次呱呱叫之后,本设计完成了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的超声波测距仪设计基于单片机的超声波测距仪设计1总体设计方案介绍1.1超声波测距原理发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。

由于超声波也是一种声波,其声速v 与温度有关,下表列出了几种不同温度下的声速。

在使用时,如果温度变化不大,则可认为声速是基本不变的。

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

表1-1 超声波波速与温度的关系表表1-11.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,P1,P2,P3,一个全双功串行通信口等组成。

特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。

5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。

空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。

掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。

5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。

充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。

2.1.2 单片机实现测距原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。

限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。

接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。

为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。

由于超声波属于声波范围,其波速C与温度有关。

2.2 超声波发射电路超声波发射电路原理图如图2-2所示。

发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。

输出端采两个反向器并联,用以提高驱动能力。

上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。

图2-2 超声波发射电路原理图压电式超声波换能器是利用压电晶体的谐振来工作的。

超声波换能器内部有两个压电晶片和一个换能板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。

超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。

2.3 超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。

图2-3 超声波检测接收电路2.4 超声波测距系统的硬件电路设计本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片内有4K 的ROM,便于编程。

电路原理图如见附件。

其中只画出前方测距电路的接线图,左侧和右侧测距电路与前方测距电路相同,故省略之。

3 系统软件的设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。

我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。

3.1 超声波测距仪的算法设计超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

距离的计算公式为:d=s/2=(c×t)/2 (1)其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

其部分源程序如下:RECEIVE0:PUSH PSWPUSH ACCCLR EX0 ;关外部中断0MOV R7, TH0 ;读取时间值MOV R6, TL0?CLR CMOV A, R6SUBB A, #0BBH;计算时间差MOV 31H, A ;存储结果MOV A, R7SUBB A, #3CHMOV 30H, ASETB EX0 ;开外部中断0POP ACCPOP PSWRETI3.2 主程序流程图软件分为两部分,主程序和中断服务程序,如图3-1(a)(b)(c) 所示。

主程序完成初始化工作、各路超声波发射和接收顺序的控制。

定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。

主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。

置位总中断允许位EA并给显示端口P0和P1清0。

然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。

由于采用的是12 MHz的晶振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有:d=(c×t)/2=172T0/10000cm (2)其中,T0为计数器T0的计算值。

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

为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。

3.3超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz 的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。

超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。

进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

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

前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A 的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。

部分源程序如下:RECEIVE1:PUSH PSWPUSH ACCCLR EX1 ;关外部中断1JNB P1.1, RIGHT ;P1.1引脚为0,转至右测距电路中断服务程序JNB P1.2, LEFT ;P1.2引脚为0,转至左测距电路中断服务程序RETURN:SETB EX1;开外部中断1POP ACCPOP PSWRETIRIGHT:... ;右测距电路中断服务程序入口AJMP RETURNLEFT:... ;左测距电路中断服务程序入口AJMP RETURN4系统的软硬件的调试超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。

若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。

根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。

硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。

根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。

根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。

系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。

5设计总结由于时间和其它客观上的原因,此次设计没有做出实物。

相关文档
最新文档