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

合集下载

基于STM32单片机的高精度超声波测距系统的设计

基于STM32单片机的高精度超声波测距系统的设计

基于STM32单片机的高精度超声波测距系统的设计一、本文概述超声波测距技术因其非接触、高精度、实时性强等特点,在机器人导航、车辆避障、工业测量等领域得到了广泛应用。

STM32单片机作为一种高性能、低功耗的嵌入式系统核心,为超声波测距系统的设计提供了强大的硬件支持。

本文旨在设计一种基于STM32单片机的高精度超声波测距系统,以满足不同应用场景的需求。

二、超声波测距原理本部分将介绍超声波测距的基本原理,包括超声波的产生、传播、接收以及距离的计算方法。

同时,分析影响超声波测距精度的主要因素,为后续系统设计提供理论基础。

三、系统硬件设计3、1在设计基于STM32单片机的高精度超声波测距系统时,我们遵循了“精确测量、稳定传输、易于扩展”的总体设计思路。

我们选用了STM32系列单片机作为系统的核心控制器,利用其强大的处理能力和丰富的外设接口,实现了对超声波发射和接收的精确控制。

在具体设计中,我们采用了回波测距法,即发射超声波并检测其回波,通过测量发射与接收之间的时间差来计算距离。

这种方法对硬件的精度和稳定性要求很高,因此我们选用了高精度的超声波传感器和计时器,以确保测量结果的准确性。

我们还考虑到了系统的可扩展性。

通过STM32的串口通信功能,我们可以将测量数据上传至计算机或其他设备进行分析和处理,为后续的应用开发提供了便利。

我们还预留了多个IO接口,以便在需要时添加更多的传感器或功能模块。

本系统的设计思路是在保证精度的前提下,实现稳定、可靠的超声波测距功能,并兼顾系统的可扩展性和易用性。

31、1.1随着物联网、机器人技术和自动化控制的快速发展,精确的距离测量技术在各个领域的应用越来越广泛。

超声波测距技术作为一种非接触式的距离测量方式,因其具有测量精度高、稳定性好、成本相对较低等优点,在工业自动化、智能家居、机器人导航、安防监控等领域得到了广泛应用。

STM32单片机作为一款高性价比、低功耗、高性能的嵌入式微控制器,在智能设备开发中占据重要地位。

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

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

基于stm32单片机的超声波测距仪设计报告1. 引言超声波测距仪(Ultrasonic Distance Sensor)是一种常用的测距设备,通过发送超声波脉冲并接收其反射信号来测量目标与测距仪之间的距离。

本报告将详细介绍基于stm32单片机的超声波测距仪的设计过程。

2. 设计原理超声波测距仪的基本原理是利用超声波在空气中的传播速度和反射特性来计算目标物体与测距仪之间的距离。

其中,stm32单片机作为测距仪的控制核心,通过发射超声波脉冲并测量接收到的回波时间来计算距离。

2.1 超声波传播速度超声波在空气中的传播速度约为340m/s,可以通过测量超声波往返的时间来计算出距离。

2.2 超声波反射信号当超声波遇到障碍物时,会产生反射信号,测距仪接收到这些反射信号并测量其时间差,再通过计算即可得到距离。

3. 硬件设计本设计使用stm32单片机作为核心控制器,并搭配超声波发射器和接收器模块。

3.1 超声波发射器超声波发射器负责产生超声波脉冲,并将脉冲信号发送到待测物体。

3.2 超声波接收器超声波接收器负责接收从物体反射回来的超声波信号,并将其转换为电信号。

3.3 stm32单片机stm32单片机作为测距仪的核心控制器,负责发射超声波脉冲、接收反射信号并计算距离。

4. 软件设计本设计涉及的软件设计包括超声波信号发射、接收信号处理和距离计算等。

4.1 超声波信号发射使用stm32单片机的GPIO口控制超声波发射模块,产生一定频率和周期的脉冲信号。

4.2 接收信号处理通过stm32单片机的ADC模块,将超声波接收器接收到的模拟信号转换为数字信号,并对信号进行处理和滤波。

4.3 距离计算根据接收到的超声波反射信号的时间差,结合超声波的传播速度,使用合适的算法计算出距离。

5. 实验结果与分析经过实际测试,基于stm32单片机的超声波测距仪达到了预期的效果。

能够精确测量目标与测距仪之间的距离,并显示在相关的显示设备上。

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

基于单片机的超声波测距系统的毕业设计
超声测距仪在先进的机器人技术上也有应用,把超声波源安装在机器人身上,由它不断向周围发射超声波并且同时接收由障碍物反射回波来确定机器人的自身位置,用它作为传感器控制机器人的电脑等等。由于超声波易于定向发射,方向性好,强度好控制,它的应用价值己被普遍重视。
如此广泛的应用使得提高人们对机器人的了解显得尤为重要。机器人通过其感知系统察觉前方障碍物距离和周围环境来实现绕障、自动寻线、测距等功能。超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制,应用方便,将它与红外、灰度传感器等结合共同实现机器人寻线和绕障功能。超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用于距离的测量。它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以及一些工业现场等,例如:距离、液位、井深、管道长度、流速等场合。利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。本课题的研究是非常有实用和有商业价值的。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,如图2-1所示。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
(2-1)
图2-1超声波测距原理图
这就是所谓的时间差测距法[7],由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。经分析和大量实验表明,频率为40KHz左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。

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

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

完满 WORD 格式整理1设计任务本文采纳超声波传感器 ,IAP15 单片机以及 LCD显示模块设计了一种超声波测距显示器,能够实现丈量物体到仪器距离以及显示等功能。

是一种构造简单、性能稳固、使用方便、价钱便宜的超声波距离丈量器,拥有必定的适用价值。

2设计思路超声波测距超声波超声波是指频次在 20kHz 以上的声波,它属于机械波的范围。

最近几年来,跟着电子丈量技术的发展,运用超声波作出精准丈量已成可能。

跟着经济发展,电子丈量技术应用愈来愈宽泛,而超声波丈量精准高,成本低,性能稳固则备受喜爱。

超声波也按照一般机械波在弹性介质中的流传规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质汲取而发生衰减等。

正是因为拥有这些性质,使得超声波能够用于距离的丈量中。

跟着科技水平的不停提升,超声波测距技术被宽泛应用于人们平时工作和生活之中。

一般的超声波测距仪可用于固定物位或液位的丈量,合用于建筑物内部、液位高度的丈量等。

超声在空气中测距在特别环境下有较宽泛的应用。

利用超声波检测常常比较快速、方便、计算简单、易于实现及时控制,并且在丈量精度方面能达到工业适用的指标要求,所以为了使挪动机器人能够自动闪避阻碍物行走,就一定装备测距系统,以使其及时获得距阻碍物的地点信息(距离和方向)。

所以超声波测距在挪动机器人的研究上获得了宽泛的应用。

同时因为超声波测距系统拥有以上的这些长处,所以在汽车倒车雷达的研制方面也获得了宽泛的应用。

超声波测距原理最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时辰的同时计数器开始计时,超声波在空气中流传,途中遇到阻碍物面阻拦就立刻反射回来,超声波接收器收到反射回的超声波就立刻停止计时。

超声波在空气中的流传速度为340m/s,依据计时器记录的时间 t ,就能够计算出发射点距阻碍物面的距离s,即:s=340t/2 。

因为超声波也是一种声波,其声速 V 与温度有关。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于单片机的超声波测距系统实验报告一、引言超声波测距系统是一种基于超声波工作原理的测距技术,主要通过发送超声波信号并检测回波信号来测量目标物体与传感器之间的距离。

本实验旨在通过使用单片机搭建一个基于超声波的测距系统,通过实际测量和数据分析来验证其测距的准确性和可靠性。

二、原理超声波测距系统主要包括超声波发射器、超声波接收器和单片机控制系统三部分。

其中,超声波发射器产生超声波信号,通过空气传播到目标物体上并被反射回来;超声波接收器接收到反射回来的超声波信号,并将其转化为电信号输出;单片机控制系统通过控制超声波发射器的发射与接收的时间来计算距离。

三、实验步骤1.搭建硬件连接:将超声波发射器和接收器分别连接到单片机的GPIO引脚,并通过电阻和电容进行滤波处理。

2.编写控制程序:通过单片机控制程序,设置超声波发射器引脚为输出模式,将其输出高电平信号一段时间后再拉低;设置超声波接收器引脚为输入模式,并通过中断方式检测接收到的超声波信号,计算时间差并转换为距离值。

3.进行实际测量:将超声波发射器和接收器对准目标物体,启动测量程序并记录距离值。

4.多次实验并计算平均值:为了提高测距的准确性,进行多次实验并计算多次测量结果的平均值。

四、实验结果和讨论通过多次实验测量,我们得到了如下结果:测量1距离为30cm,测量2距离为31cm,测量3距离为29cm。

将这些结果进行平均,得到最终距离结果为30cm。

通过与实际测量的距离进行对比,我们发现测量结果基本与实际距离相符,误差控制在可接受范围内。

这表明我们搭建的基于超声波的测距系统具有较好的测距准确性和可靠性。

然而,我们也发现在一些特殊情况下,例如目标物体表面有较强的吸收或反射能力时,测量结果可能会出现误差。

这是因为超声波在传播过程中会受到传播介质和目标物体的影响,从而引发信号衰减或多次反射等现象。

在实际应用中,我们需要根据具体情况进行系统的优化和调整,以提高测距的精确度。

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

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

微机本理与单片机系统课程安排之阳早格格创做博业:轨讲接通旗号与统制班级:接控1305姓名:贺云鹏教号:201310104指挥西席:李修国兰州接通大教自动化与电气工程教院2015 年12 月30 日超声波测距仪安排1 安排证明1.1 安排手段超声波测距的本理是利用超声波正在气氛中的传播速度为已知,丈量声波正在收射后逢到障碍物反射回去的时间,根据收射战接支的时间好估计出收射面到障碍物的本质距离.超声波测距主要应用于倒车指示、修筑工天、工业现场等的距离丈量.超声波正在气体、液体及固体中以分歧速度传播,定背性佳、能量集结、传输历程中衰减较小、反射本收较强.超声波能以一定速度定背传播、逢障碍物后产死反射,利用那一个性,通过测定超声波往返所用时间便可估计出本质距离,进而真止无交战丈量物体距离.超声波测距赶快、便当,且不受光芒等果素做用,广大应用于火文液位丈量、修筑动工工天的丈量、现场的位子监控、振荡仪车辆倒车障碍物的检测、移动呆板进探测定位等范围.1.2 安排要收本课题包罗数据测距模块、隐现模块.测距模块包罗一个HC-SR04超声波测距模块战一片AT89C51单片机,该安排采用HC-SR04超声波测距模块,通过HC-SR04收射战担当超声波,使用AT89C51单片机对于超声波举止计时并根据超声波正在气氛中速度为340米每秒的个性估计出距离.隐现模块包罗一个4位同阳极LED数码管战AT89C51单片机,由AT89C51单片机统制数码管动背隐现距离.1.3 安排央供采与单片机为核心部件,采用超声波模组,真止对于距离的丈量,丈量距离不妨通过隐现输出(LED,LCD).2 安排规划及本理超声波测距模块安排HC-SR04超声波测距模块可提供2cm-400cm的非交战式距离感测功能,测距粗度可达下到3mm.模块包罗超声波收射器、接支器与统制电路.当提供一个10uS以上正脉冲触收旗号,该模块里面将收出8个40kHz周期电仄并检测回波.一朝检测到有回波旗号则输出反响旗号.反响旗号的脉冲宽度与所测的距离成正比.由此通过收射旗号到支到的反响旗号时间隔断不妨估计得到距离由以上疑息,正在安排时采用二个定时器,定时器1用去定时800ms,当爆收中断时,开用HC-SR04超声波测距模块,即给其TRIG(收射)心支一个持绝20ms的正脉冲,定时器0用去对于超声波传播时间举止计时,即当ECHO(回波)心为下电通常开用计时,当ECHO心形成矮电通常关关计时.再根据超声波正在气氛中的传播速度为340米每秒,通过AT89C51估计出距离,当距离超出400cm时,隐现8888,表示超出处事距离.2.2 LED隐现模块安排将算得的距离通过一个4位LED数码管采与动背扫描举止隐现.2.3 其余功能的安排思量到本质的需要,本安排还应减少以下功能:1、减少一个指示灯.当ECHO(回波)心为下电通常,即超声波旗号正在气氛中传播时,指示灯面明.当数码管不克不迭仄常面明时,若指示灯仄常指示,则证明LED隐现模块爆收障碍;若指示灯不克不迭仄常面明,则证明超声波测距模块爆收障碍.2、减少一个锁存按钮.由于安排时咱们安排的为每800ms超声波测距模块开用一次,由于定时器会爆收缺面,制成测得距离不竭变更,减少一个锁存按钮,当决定隐现截止宁静时,按下按钮时,关关超声波测距模块,不妨使截止收会隐现.3、减少一个待机按钮.当按下锁存按钮后,再按下待机按钮,那时关关LED隐现,若再挨开待机按钮,那时LED 开用处事,隐现的数值为上一次被测距离.2.4 安排成本及定价商场仄衡代价:12元预计定价:10元3 硬件安排此系统的硬件安排主要包罗HC-SR04超声波测距模块、AT89C51单片机、4位LED隐现模块,并连进指示灯、待机开关战锁存开关.仿真时,将HC-SR04超声波测距模块用一个555延时电路去代替即可,其中安排改变滑动变阻器的阻值不妨模拟被测物体距离的变更.真验仿真电路图如图1所示.图1 安排硬件电路图4 硬件安排此系统的硬件安排主要包罗超声波测距模块安排、LED 隐现模块安排、战其余拓展模块.采与定时器1每800ms收射一个脉冲旗号开用超声波测距模块,采与定时器0估计超声波传播时间,并通过一个估计函数算得距离,而后支LED隐现屏举止径背扫描并隐现截止.4.1 步调过程图主步调过程图如图2所示.图2 步调过程图鉴于AT89C51单片机的超声波测距源步调睹附录一.5 系统仿真及调试截止鉴于AT89C51单片机的超声波测距仿真截止睹附录二.鉴于AT89C51单片机的超声波测距调试截止如图3所示.图3 系统步调调试截止6 归纳本安排通过对于超声波测距的钻研,与单片机分离,真止了超声波测距的目标,并减少了数据锁存、指示灯战待机的功能.仿真时由于硬件中不HC-SR04模块,果此用555延时电路去代替.通过那次课程安排,尔加深了对于单片机的明白,也为以去更佳的使用挨下了前提.末尾要感动李教授的指挥,正在李教授的耐性解问下,尔受益匪浅.参照文件[1] 李积英.数字电子技能.华夏电力出版社,2011[2] 深圳市捷什科技有限公司.HC-SR04超声波测距模块证明书籍.[3] 彭江.单片机本理及接心技能的开垦[J].硬件导刊,2011,12(8):66-70.附录一:真验源步调#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define LED_port P0 //用于LED段选#define LED_pos P1 //用于LED位选sbit qq=P2^6; //待机按钮sbit suocun=P2^1; //锁存截止sbit RX=P1^4; //回波sbit TX=P1^5; //支波sbit D1=P3^7; //接支指示灯uint time=0; //定时器0时间uint timer=0; //定时器1时间unsigned long S=0; //用于隐现末尾估计得到的距离unsigned long W[2]={0,0}; //用于比较二次测算距离大小bit flag =0; //定时器0中断溢出标记位uchar value[4];uchar codeLED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8 0,0x90}; //数码管段选uchar code pos[4]={0x01,0x02,0x04,0x08}; //数码管位选/*************************************************** *****/void Delay(uchar t) //延时函数{uchar i,j,k;for(i=0;i<t;i++)for(j=0;j<20;j++)for(k=0;k<20;k++);}/*************************************************** *****/void value_shift(uchar value[]) //将距离值的每一位搁到数组中{value[0]=S/1000;value[1]=S/100%10;value[2]=S/10%10;value[3]=S%10;}/*************************************************** *****/void Display(uchar value[]) //数码管隐现{uchar i;for(i=0;i<4;i++){LED_pos=pos[i];LED_port=LED_seg[value[i]];Delay(1);}}/*************************************************** *****/void zd3() interrupt 3 //T1中断用去扫描数码管战计800MS开用模块{ //那是计时器1中断TH1=0xf8; //赋初值,2msTL1=0x30;timer++;if(timer>=400){timer=0;TX=0; //800MS 开用一次模块//Delay(30); //一次超声波旗号时少30ms,仿真时只需加背脉冲,故屏蔽此句TX=1;}}/*************************************************** *****/void zd0() interrupt 1 //T0中断用去计数器溢出{flag=1; //中断溢出标记}/*************************************************** *****/void Count(void) //估计步调{TH0=0; //定时器0的初初值为0TL0=0;S=(time*1.845)/10; //算出去是mm,time*12*170/(11.0592*1000)mm=time*(1845/10000)mm W[0]=S;if(((W[0]-W[1])^2)<=100) //举止矫正,若二次截止出进小于10mm,则采与前一次截止S=W[1];elseW[1]=S;if (S>=4000) //最大距离4m,即4000mmS=8888;if (flag==1) //推断是可溢出{S=8888;flag=0;TH0=0;TL0=0;}}/*************************************************** *****/void main( void ){TMOD=0x11; //设T0为办法1,T1为办法1TH0=0; //中断0初初化TL0=0; //中断1初初化TH1=0XF8;TL1=0X30;ET0=1; //允许T0中断ET1=1;TR1=1;qq=1;suocun=0;EA=1;while(1){while(!RX) ; //当RX为整时等待,即echo为矮电仄TX=1;TR0=1;D1=1; //开开计数while(RX); //当RX为1计数并等待TR0=0; //关关计数D1=0; //关指示灯while(!qq) //待机按钮按下时,关总中断战位选{EA=0;P1=0X00;}qq=1;Count(); //估计value_shift(value);Display(value); //隐现while(suocun) //当按下锁存按钮时,关总中断并隐现{EA=0;Display(value);}EA=1;}}附录二:1.距离小于4m时的仿真图图1 距离小于4m2.距离大于4m时的仿真图图2 距离大于4m。

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

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

基于单片机的超声波测距系统设计一、本文概述随着科技的飞速发展,超声波测距技术以其非接触、高精度、实时性强等优点,在众多领域如机器人导航、自动驾驶、工业控制、安防监控等中得到了广泛应用。

单片机作为一种集成度高、控制灵活、成本较低的微控制器,是实现超声波测距系统的理想选择。

本文旨在探讨基于单片机的超声波测距系统的设计原理、硬件构成、软件编程及实际应用,以期为相关领域的科研人员和技术人员提供参考。

本文将首先介绍超声波测距的基本原理和关键技术,包括超声波的传播特性、测量原理及误差分析。

接着,详细阐述基于单片机的超声波测距系统的硬件设计,包括单片机的选型、超声波收发模块的选择与连接、信号处理电路的设计等。

在此基础上,本文将介绍系统的软件设计,包括超声波发射与接收的时序控制、距离数据的处理与显示等。

还将讨论系统的低功耗设计、抗干扰措施以及在实际应用中的优化策略。

本文将通过具体实例,展示基于单片机的超声波测距系统在机器人定位、障碍物检测等场景中的应用,以验证系统的可行性和实用性。

本文期望能为相关领域的研究提供有益的参考,推动超声波测距技术的进一步发展和应用。

二、超声波测距原理超声波测距系统主要基于超声波在空气中的传播速度以及反射原理进行设计。

超声波是一种频率高于20kHz的声波,其传播速度在标准大气条件下约为343米/秒。

在超声波测距系统中,超声波发射器向目标物体发射超声波,当超声波遇到目标物体后,会发生反射,反射的超声波被超声波接收器接收。

测距的原理在于测量超声波从发射到接收的时间差。

设超声波发射器发射超声波的时间为t1,接收器接收到反射波的时间为t2,则超声波从发射到接收所经历的时间为Δt = t2 - t1。

由于超声波在空气中的传播速度是已知的,所以可以通过测量时间差Δt来计算目标物体与测距系统之间的距离D。

距离D的计算公式为:D = V * Δt / 2,其中V为超声波在空气中的传播速度。

在实际应用中,为了确保测量的准确性,通常会采用一些技术手段来减少误差。

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

指导教师评定成绩:审定成绩:自动化学院计算机控制技术课程设计报告设计题目:基于单片机的超声波测距系统设计单位(二级学院):学生姓名:专业:班级:学号:指导教师:负责项目:设计时间:二〇一四年五月自动化学院制目录一、设计题目 (1)基于51单片机的超声波测距系统设计 (1)设计要求 (1)摘要 (2)二、设计报告正文 (3)2.1 超声波测距原理 (3)2.2系统总体方案设计 (4)2.3主要元件选型及其结构 (5)2.4硬件实现及单元电路设计 (9)2.5系统的软件设计 (13)三、设计总结 (17)四、参考文献 (17)五、附录 (18)附录一:总体电路图 (18)附录二:系统源代码 (18)一、设计题目基于51单片机的超声波测距系统设计设计要求1、以51系列单片机为核心,控制超声波测距系统;2、测量范围为:2cm~4m,测量精度:1cm;3、通过键盘电路设置报警距离,测出的距离通过显示电路显示出来;4、当所测距离小于报警距离时,声光报警装置报警加以提示;5、设计出相应的电子电路和控制软件流程及源代码,并制作实物。

摘要超声波具有传播距离远、能量耗散少、指向性强等特点,在实际应用中常利用这些特点进行距离测量。

超声波测距具有非接触式、测量快速、计算简单、应用性强的特点,在汽车倒车雷达系统、液位测量等方面应用广泛。

本次课设利用超声波传播中距离与时间的关系为基本原理,以STC89C52单片机为核心进行控制及数据处理,通过外围电源、显示、键盘、声光报警等电路实现系统供电、测距显示、报警值设置及报警提示的功能。

软件部分采用了模块化的设计,由系统主程序及各功能部分的子程序组成。

超声波回波信号输入单片机,经单片机综合分析处理后实现其预定功能。

关键词:STC89C52单片机; HC-SR04;超声波测距二、设计报告正文2.1 超声波测距原理常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。

设超声波在空气中的传播速度为340m/s (不计介质温度变化对速度的影响),根据计时器记录的时间t ,就可以计算出发射点距障碍物面的距离s ,即:s=340t/2。

如图2-1所示:超声波发射障碍物超声波接收图2-1 超声波的测距原理θcos S H = (2-1))(H L arctg =θ (2-2)式中: L —两探头中心之间距离的一半;又知道超声波传播的距离为:vt S =2 (2-3)式中: v —超声波在介质中的传播速度;t —超声波从发射到接收所需要的时间;将式2-1、2-2、2-3联立得:]cos[21H L arctg vt H = (2-4)其中,超声波的传播速度v 在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H 远远大于L 时,上式变为:vt H 21= (2-5) 所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.2.2系统总体方案设计本超声波测距系统由系统硬件电路及软件程序实现两部分构成。

其中由STC89C52单片机最小系统、HC-SR04超声波模块、电源接口电路、4位共阳极数码管显示电路、三极管驱动电路、蜂鸣器声光报警电路及键盘电路构成硬件系统。

以STC89C52单片机为核心,通过触发信号控制HC-SR04超声波测距模块发射超声波并接收回波,测算出前方障碍的距离,输入单片机进行运算,与预设报警距离比较后判断是否启动蜂鸣器声光报警装置。

根据系统功能要求及模块划分可绘制出系统硬件框图,如图2-2所示:图2-2 系统硬件框图2.3主要元件选型及其结构2.3.1 STC89C52芯片STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。

工作电压:5.5V~3.3V。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

其引脚图如图2-3所示:a引脚图b实物图图2-3 STC89C52引脚图2.3.2 HC-SR04超声波模块HC-SR04超声波模块具有性能稳定、测度距离精确、模块高精度、盲区小等特点,使用简单易操作,常用于距离测量。

其原理图及实物图如图2-4、图2-5所示:图2-4 HC-SR04超声波模块原理图图2-5 HC-SR04超声波模块实物图(1)接线方式:VCC(接电源)、Trig(控制端)、Echo(接收端)、GND(接地)(2)基本工作原理:a.采用I/O口TRIG触发测距,给至少10us的高电平信号;b.模块自动发送8个40kHz的方波,自动检测是否有信号返回;c.有信号返回,通过I/O口ECHO输出一个高电平,同时开始计时直到此口变为低电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2。

(3)电气参数表1 HC-SR04电气参数表(4)超声波时序图图2-6 超声波时序图(5)操作:初始化时将trig和echo端口都置低,首先向给trig发送至少10 us 的高电平脉冲(模块自动向外发送8个40kHz的方波),然后等待,捕捉echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo 的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照测试距离=(高电平时间*声速(340M/S))/2就可以算出超声波到障碍物的距离。

2.3.3 4位共阳数码管(1)共阳数码管的实物图、原理图如图2-7、图2-8所示:图2-7 4位共阳数码管实物图图2-8 4位共阳数码管原理图(2)工作原理:共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

(3)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

2.4 硬件实现及单元电路设计(1)单片机最小系统单片机系统由电源、晶振电路、复位电路组成。

如图2-9所示:图2-9 单片机最小系统(2)电源接口电路设计电源部分的设计采用3节5号干电池4.5V供电,如图2-10所示:图2-10 电源接口电路(3)超声波模块接口HC-SR04超声波模块接口如图2-11所示:图2-11 HC-SR04超声波模块接口(4) 4位共阳极数码管显示电路及三极管驱动电路显示电路如图2-12所示:图2-12 4位共阳数码管显示电路当I/O口输出低电平时,相应段被选通,反之则不然。

三极管驱动电路如图2-13所示:图2-13 三极管驱动电路当I/O口输出低电平时,相应位被选通,反之则不然。

(5)声光报警电路的设计声光报警电路如图2-14所示:图2-14 声光报警电路声光报警电路由一个蜂鸣器、一个三极管、一个发光二极管、两个电阻构成。

其中电阻起限流的作用,当I/O口输出低电平时,三极管饱和导通,蜂鸣器报警、LED亮,反之则不报警。

(6)键盘电路的设计键盘电路如图2-15所示:图2-15 键盘电路2.5系统的软件设计(1)各主要模块①超声波测距模块。

给超声波Trig口至少10us的高电平,启动测量,定时器T0计时,通过计算测得距离。

②显示模块。

包括数码管位选函数、段选函数及距离处理显示模块。

将超声波测距测量值、报警设定值显示在4位数码管上。

③键盘模块。

由键盘检测函数及键盘处理函数组成。

有设定键、加键、减键、复位键、开关键。

主要设置报警值。

④声光报警模块。

将测量值与设定报警值比较,若小于设定值,报警。

⑤特殊存储器eepom模块。

包括单片机eepom存储器读、写操作以及初始化。

其内存储设定报警值,掉电数据不丢失。

⑥定时器模块。

TO定时器用于超声波测距的计时。

T1定时器用于主程序扫描时间的控制。

(2)主程序源代码void main(){send_wave(); //测距离函数smg_display(); //处理距离显示函数time_init(); //定时器初始化init_eepom(); //初始化eepom(读取set_d)while(1){if(flag_300ms == 1) //300ms执行一次{flag_300ms = 0;clock_h_l(); //报警函数send_wave(); //测距离函数if(menu_1 == 0) //没有键按下时才给缓冲数组赋新值smg_display(); //处理距离显示函数if(zd_break_en == 1) //自动退出设置界面程序{zd_break_value ++; //每300ms加一次if(zd_break_value > 100) //30秒后自动退出设置界面{menu_1 = 0;smg_i = 3;zd_break_en = 0;zd_break_value = 0;}}}key(); //按键检测函数if(key_can < 4){key_with(); //按键处理函数,修改报警设定值}}}(3)主程序工作流程图图2-16 主程序流程图(4)超声波探测程序流程图图2-17 超声波探测程序流程图三、设计总结四、参考文献[1] C程序设计(第三版). 谭浩强 . 清华大学出版社 .[2] 新概念51单片机c语言教程 . 郭天祥 . 电子工业出版社[3] 传感器与检测技术 . 胡向东 . 机械工业出版社[4] 微控制其原理及应用 . 向敏 . 人民邮电出版社五、附录附录一:系统总体电路图图5-1 超声波探测程序流程图附录二:系统软件源代码/*****************************************************课设名称:基于51单片机的超声波测距系统设计*硬件平台: 超声波模块+51最小系统*显示模块:4个数码管*输入模块:3个按键*实现的功能:用超声波模块把距离测量出来,用数码管显示,可通过按键设置要报警的距离,低于设置* 的值则自动报警,一直按住调值的键会越加越快,超出量程(3.8m)则显示888 *接口说明:数码管位P3^4 P3^5 P3^6 P3^7* 超声波发射=>P3^2* 超声波接收=>P3^3按键用的接口是P2口*待改进的地方:温度补偿,提高精度*当前的缺陷:不能测出4m的距离*测量单位:米(m)****************************************************/#include <reg52.h>#include <intrins.h>#include <string.h>#include <eepom52.h>#define uchar unsigned char#define uint unsigned int//数码管段选定义设0 1 2 3 4 5 6 7 8 9uchar code smg_duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管位选uchar dis_smg[4] ={0,1,2,3};sbit smg_we1 = P3^4; //数码管位选端口sbit smg_we2 = P3^5;sbit smg_we3 = P3^6;sbit smg_we4 = P3^7;sbit c_send = P3^1; //超声波发射sbit c_recive = P3^0; //超声波接收uchar flag_hc_value; //超声波中间变量sbit beep = P2^3; //蜂鸣器IO口定义。

相关文档
最新文档