超声波测距报告含程序.

合集下载

超声波测距报告(带报警)

超声波测距报告(带报警)

目录一、超声波测距原理二、超声波测距模块介绍1.主控模块2.电源模块3.显示模块4.超声波模块5.扬声器模块三、超声波测距功能介绍四、超声波测距前景展望五、心得附:程序超声波测距(可报警)一、超声波测距原理超声波发射器定期发送超声波,遇到被测物体时发生反射,反射波经超声波接收器接收并转化为电信号,只要测出发送和接收的时间差t,即可测出超声测距装置到被测物体之间的距离S:S=c*t/2(式中c为超声波在空气中的传播速度,c=331.45*√(1+T/273.16)) 由此可见声速与温度的密切的关系。

在应用中,如果温度变化不大或者对测量要求不太高(例如汽车泊车定位系统),则可认为声速是不变的,否则,必须进行温度补偿。

超声波传感器是超声测距核心部件,传感器按其工作介质可分气相、液相和固相传感器;按其发射波束宽度可分为宽波束和窄波束传感器;按其工作频率又可分为40kHz, 5OkHz等不同等级。

超声波在空气传播过程中,由于空气吸收衰减和扩散损失,声强随着传播距离的增大而衰减,而超声波的衰减随频率增大而成指数增加。

本设计选用气相、窄波束、40kHz的超声波传感器。

二、超声波测距模块介绍该产品共有五个模块,其中主控模块、电源模块、显示模块、扬声器模块集成在开发板上,超声波模块是外接的。

1.主控模块主要部分是51单片机。

51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATLEM公司的AT89系列,它广泛应用于工业测控系统之中。

目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是52系列的单片机一般不具备自编程能力。

主要功能:·8位CPU·4kbytes 程序存储器(ROM) (52为8K)·256bytes的数据存储器(RAM) (52有384bytes的RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。

超声波测距实验报告

超声波测距实验报告

超声波测距实验报告1. 实验目的1.掌握超声波测距的基本原理;2.熟悉超声波测距仪器的使用;3.培养实验操作能力和数据处理能力。

2. 实验原理超声波测距是利用超声波在空气中的传播速度和反射原理,通过测量超声波发射和接收之间的时间间隔来计算被测物体与测距仪之间的距离。

超声波在空气中的传播速度约为 340 m/s。

3. 实验器材与步骤3.1 器材1.超声波测距仪;2.连接线;3.测量物体。

3.2 步骤1.连接超声波测距仪与电源;2.打开超声波测距仪,进行自检;3.将测量物体放置在合适的位置;4.调整超声波测距仪的测量范围;5.记录测量数据;6.分析数据,计算距离。

4. 实验数据与分析本实验共进行五次测量,记录数据如下:序号 | 测量距离(cm) | 误差(cm) |— | ———— | ——– |1 | 150.0 | 2.0 |2 | 152.5 | 1.5 |3 | 148.0 | 2.0 |4 | 151.0 | 1.0 |5 | 149.5 | 1.5 |平均距离 = (150.0 + 152.5 + 148.0 + 151.0 + 149.5) / 5 = 150.0 cm最大误差 = 2.0 cm最小误差 = 1.0 cm5. 实验总结本次实验掌握了超声波测距的基本原理和操作方法,通过对测量数据的分析,得出被测物体与测距仪之间的平均距离为 150.0 cm,最大误差为 2.0 cm,最小误差为 1.0 cm。

实验结果表明,超声波测距技术在实际应用中具有较高的准确性和可靠性。

6. 建议与改进1.在实验过程中,要确保测量物体与测距仪之间的距离在测距仪的测量范围内;2.提高实验操作技巧,减小人为误差;3.后续可以尝试使用不同类型的超声波测距仪进行实验,比较其性能和精度。

7. 实验拓展7.1 超声波测距的应用领域超声波测距技术广泛应用于工业、农业、医疗、交通、安防等领域,例如:1.工业领域:测量物体的尺寸、厚度、距离等;2.农业领域:测量土壤湿度、作物高度等;3.医疗领域:测量人体内部器官的距离、厚度等;4.交通领域:车辆测距、速度检测等;5.安防领域:监控设备、报警系统等。

超声波雷达测距实训报告

超声波雷达测距实训报告

一、实训目的本次实训旨在通过实际操作,了解超声波雷达测距的原理和实现方法,掌握超声波传感器的基本使用技巧,并学会利用STM32单片机进行数据处理和显示,从而完成一个简单的超声波雷达测距系统。

二、实训器材1. STM32F103单片机开发板2. HC-SR04超声波传感器模块3. OLED显示屏4. 连接线5. 电源三、实训原理超声波雷达测距的原理是利用超声波在空气中的传播速度来测量距离。

当超声波传感器发射超声波时,它会遇到障碍物后反射回来,通过测量超声波从发射到接收的时间差,可以计算出障碍物与传感器之间的距离。

四、实训步骤1. 硬件连接:- 将HC-SR04超声波传感器模块的两个引脚分别连接到STM32单片机的GPIO引脚。

- 将OLED显示屏的相应引脚连接到STM32单片机的SPI或I2C接口。

- 将电源连接到STM32单片机和超声波传感器模块。

2. 软件设计:- 编写STM32单片机的初始化程序,配置GPIO引脚、SPI/I2C接口等。

- 编写超声波传感器的控制程序,用于控制超声波传感器的发射和接收。

- 编写数据处理程序,用于计算超声波从发射到接收的时间差,从而得到距离值。

- 编写OLED显示屏的显示程序,用于显示距离值。

3. 程序实现:- 使用STM32 HAL库函数或直接操作寄存器来实现程序。

- 通过定时器中断来实现超声波传感器的时序控制。

- 使用查表法或直接计算法来实现距离值的转换。

4. 系统测试:- 将系统放置在测试环境中,调整测试距离,观察OLED显示屏上显示的距离值是否准确。

- 分析测试结果,找出系统误差的来源,并进行优化。

五、实训结果与分析1. 测试结果:- 在不同的测试距离下,OLED显示屏上显示的距离值与实际距离基本相符,说明系统具有较高的测量精度。

2. 误差分析:- 超声波在空气中的传播速度受温度、湿度等因素的影响,导致测距误差。

- 超声波传感器的响应时间存在一定的延迟,也会导致测距误差。

超声测距实验报告

超声测距实验报告

超声测距实验报告一、实验目的本次超声测距实验的主要目的是研究和掌握利用超声波进行距离测量的原理和方法,并通过实际操作和数据分析,评估测量系统的精度和可靠性。

二、实验原理超声波是一种频率高于 20kHz 的机械波,其在空气中传播时具有良好的指向性和反射特性。

超声测距的基本原理是利用超声波在发射后遇到障碍物反射回来的时间差来计算距离。

具体计算公式为:距离=(超声波传播速度×传播时间)/ 2 。

在常温常压下,空气中超声波的传播速度约为 340 米/秒。

通过测量超声波从发射到接收的时间间隔 t,就可以计算出距离。

三、实验仪器与材料1、超声测距模块:包括发射探头和接收探头。

2、微控制器:用于控制超声模块的工作和处理数据。

3、显示设备:用于显示测量结果。

4、电源:为整个系统供电。

5、障碍物:用于反射超声波。

四、实验步骤1、硬件连接将超声测距模块的发射探头和接收探头正确连接到微控制器的相应引脚。

连接电源,确保系统正常供电。

将显示设备与微控制器连接,以便显示测量结果。

2、软件编程使用相应的编程语言,编写控制超声模块工作和处理数据的程序。

实现测量时间的计算和距离的换算,并将结果输出到显示设备。

3、系统调试运行程序,检查系统是否正常工作。

调整发射功率和接收灵敏度,以获得最佳的测量效果。

4、测量实验将障碍物放置在不同的距离处,进行多次测量。

记录每次测量的结果。

五、实验数据与分析以下是在不同距离下进行多次测量得到的数据:|距离(米)|测量值 1(米)|测量值 2(米)|测量值 3(米)|平均值(米)|误差(米)||||||||| 05 | 048 | 052 | 050 | 050 | 000 || 10 | 095 | 105 | 100 | 100 | 000 || 15 | 148 | 152 | 150 | 150 | 000 || 20 | 190 | 205 | 195 | 197 | 003 || 25 | 240 | 255 | 245 | 247 | 003 || 30 | 290 | 305 | 295 | 297 | 003 |通过对实验数据的分析,可以看出在较近的距离(05 米至 15 米)内,测量误差较小,基本可以准确测量。

超声波测距仪实训报告

超声波测距仪实训报告

超声波测距仪实训报告一、实训目的本次超声波测距仪实训的主要目的是让我们深入了解超声波测距的原理和应用,通过实际操作和调试,掌握超声波测距仪的设计、制作和调试方法,提高我们的实践动手能力和解决问题的能力,同时培养我们的团队合作精神和创新思维。

二、实训原理超声波测距的原理是利用超声波在空气中的传播速度和往返时间来计算距离。

超声波发生器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

已知超声波在空气中的传播速度为 340 米/秒,根据计时时间 t 就可以计算出发射点距障碍物的距离 s,即 s = 340t/2。

三、实训设备与材料1、超声波传感器模块(包括发射探头和接收探头)2、单片机开发板3、显示屏4、杜邦线若干5、面包板6、电源适配器四、实训步骤1、硬件电路设计将超声波传感器模块与单片机开发板进行连接,使用杜邦线将发射探头连接到单片机的某个输出引脚,接收探头连接到单片机的某个输入引脚。

将显示屏连接到单片机的相应引脚,以便显示测量到的距离值。

2、软件编程选择合适的编程语言和开发环境,如 C 语言和 Keil 软件。

编写初始化程序,包括单片机引脚的配置、定时器的设置等。

编写超声波发射和接收的控制程序,实现超声波的发射和接收,并计算往返时间。

根据距离计算公式,将计算得到的距离值转换为合适的格式,并通过显示屏进行显示。

3、系统调试硬件调试:检查电路连接是否正确,电源是否正常,传感器是否工作正常等。

软件调试:通过单步调试、设置断点等方式,检查程序的执行流程和计算结果是否正确。

综合调试:将硬件和软件结合起来进行调试,不断修改和优化程序,直到系统能够稳定准确地测量距离。

五、实训过程中遇到的问题及解决方法1、测量误差较大问题描述:测量得到的距离值与实际距离存在较大偏差。

原因分析:可能是由于超声波在空气中的传播受到温度、湿度等环境因素的影响,也可能是由于硬件电路的干扰或者软件算法的不完善。

超声波测距实训报告格式

超声波测距实训报告格式

一、实训目的1. 掌握超声波测距的基本原理和操作方法。

2. 学会使用超声波测距模块进行实际测量。

3. 熟悉超声波测距系统的硬件组成和软件编程。

4. 提高非接触式测距技术的应用能力。

二、实训时间2023年X月X日至2023年X月X日三、实训地点XXX实验室四、实训器材1. 超声波测距模块2. 单片机或微控制器(如Arduino)3. 连接线4. 电源5. 计算器6. 实验台五、实训原理超声波测距是基于超声波在介质中传播的速度和时间关系进行距离测量的技术。

当超声波从发射器发出后,遇到障碍物会被反射回来,接收器接收到反射波后,通过计算超声波往返时间,即可得到障碍物与发射器之间的距离。

六、实训步骤1. 硬件连接(1)将超声波测距模块的发射引脚和接收引脚分别连接到单片机或微控制器的数字输出和数字输入引脚。

(2)将电源连接到单片机或微控制器的电源引脚。

(3)将单片机或微控制器连接到电脑,用于程序下载和调试。

2. 软件编程(1)编写程序,设置超声波模块的引脚模式,包括发射和接收引脚的模式。

(2)编写程序,控制超声波模块发射超声波信号。

(3)编写程序,读取接收到的反射波信号,计算超声波往返时间。

(4)编写程序,根据超声波往返时间和声速计算距离。

3. 实验操作(1)将单片机或微控制器程序下载到设备中。

(2)将设备放置在合适的位置,确保超声波模块能够发射和接收信号。

(3)启动程序,观察距离显示结果。

4. 数据分析(1)记录不同测量条件下的距离值。

(2)分析距离值与实际距离之间的误差。

(3)讨论误差产生的原因。

七、实训结果1. 测量距离范围:0.3米至5米2. 测量精度:±1厘米3. 距离显示:通过单片机或微控制器显示,可实时更新八、实训总结1. 通过本次实训,掌握了超声波测距的基本原理和操作方法。

2. 学会了使用超声波测距模块进行实际测量,并了解了超声波测距系统的硬件组成和软件编程。

3. 提高了非接触式测距技术的应用能力,为今后的学习和工作打下了基础。

超声波测距实验报告

超声波测距实验报告
超声波发射器发射一组超声波脉冲 脉冲遇到物体后反射回来 接收器接收到反射回来的脉冲,并计算时间差 根据时间差和声波速度,计算出物体距离
超声波测距模块工作原理
超声波发射器发射 一组超声波脉冲
脉冲遇到物体后反 射回来
超声波接收器接收 反射回来的脉冲
通过计算发射和接 收脉冲之间的时间 差,得到物体与传 感器之间的距离
编写Arduino程序,控制 超声波传感器发送和接收 信号
连接Arduino板与电脑, 上传程序并运行
调整超声波传感器的角度 和位置,确保测量距离准 确
开始测量
准备超声波传感器和Arduino板 连接超声波传感器和Arduino板 编写程序,设置触发和接收引脚 启动Arduino板,开始测量距离
数据记录和处理
添加标题
添加标题
添加标题
添加标题
拓展应用场景:将超声波测距技术 应用于更多领域,如自动驾驶、智 能机器人等。
降低成本:通过优化设计和生产工艺, 降低超声波传感器和测距系统的成本, 使其更广泛地应用于各种领域。
感谢您的观看
汇报人:XX
实验步骤
准备实验器材
超声波传感器 添加标题
连接线 添加标题
添加标题 Arduino开发板
添加标题 面包板
跳线 添加标题
测量工具 添加标题
添加标题 电脑和软件
添加标题 实验环境
搭建实验装置
准备超声波传感器、 Arduino板、面包板、跳 线等材料
连接超声波传感器与 Arduino板的引脚
连接Arduino板与面包板 的引脚
学会使用超声波传感器进行距离测 量
学会分析实验数据,得出结论
掌握数据处理和分析技巧
学习如何使用超声波传感器进行距 离测量

超声波测距实验报告

超声波测距实验报告

超声波测距实验报告超声波测距实验报告引言:超声波测距是一种常见的测量技术,广泛应用于工业、医学和科学研究领域。

通过发射超声波并测量其返回时间,我们可以计算出被测物体与传感器之间的距离。

本实验旨在探究超声波测距的原理和应用,并通过实际操作验证其可靠性和准确性。

实验步骤:1. 实验器材准备:超声波传感器、数字示波器、计算机等。

2. 连接电路:将超声波传感器与数字示波器和计算机相连。

3. 设置参数:根据实验要求,设置传感器的工作频率和测量范围。

4. 发射超声波:通过控制电路,使传感器发射超声波信号。

5. 接收信号:传感器接收到返回的超声波信号,并将其转换为电信号。

6. 数据处理:将接收到的信号传输到计算机,并使用相应的软件进行数据处理和分析。

7. 计算距离:根据超声波的传播速度和返回时间,计算被测物体与传感器之间的距离。

实验结果:经过多次实验,我们得到了一系列距离数据,并进行了统计和分析。

结果表明,超声波测距的准确性较高,误差在合理范围内。

同时,我们还观察到在不同环境条件下,超声波的传播和测量结果可能会受到一定的影响。

例如,声波在空气中的传播速度与温度和湿度有关,因此在不同的环境下,需要进行相应的修正。

实验讨论:超声波测距技术在许多领域中都有广泛应用。

在工业领域,它可以用于测量物体的距离、检测障碍物并进行避障等。

在医学领域,超声波测距被应用于超声诊断、医学成像等。

此外,超声波测距还可以用于地震勘探、水下探测等科学研究领域。

然而,超声波测距也存在一些局限性。

首先,超声波在传播过程中会受到物体的吸收、散射和衍射等影响,从而导致信号衰减和失真。

其次,超声波的传播速度与介质的性质和温度有关,因此在不同的介质中,需要进行相应的修正和校准。

此外,超声波测距还受到传感器的分辨率和灵敏度等因素的限制,影响了其测量的精确度。

结论:通过本次实验,我们深入了解了超声波测距的原理和应用。

实验结果表明,超声波测距是一种准确可靠的测量技术,具有广泛的应用前景。

51单片机超声波测距程序

51单片机超声波测距程序

//超声波测距,测距X围2cm-400cm; #include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit trig=P1^0;sbit echo=P3^2;sbit test=P1^1;//测试灯sbit dula=P2^6;sbit wela=P2^7;sbit BEEP=P2^3;uint timeh,timel,distance;uint ge,shi,bai,xiaoshu,flag,time;/*共阴极数码管不带小数点代码表*/ uchar code list[]={0x3f , 0x06 , 0x5b , 0x4f ,0x66 , 0x6d ,0x7d , 0x07 ,0x7f , 0x6f , 0x77 , 0x7c ,0x39 , 0x5e , 0x79 , 0x71 };/*共阴极数码管带小数点代码表*/ uchar code listtwo[] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};/*长延时函数*/void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=100;y>0;y--); }/*短延时函数*/void delay20us() {uchar a;for(a=0;a<100;a++); }/*报警函数*/ void beer(){//BEEP=0;delay(10);}/*定时器初始化*/ void initime0() {TMOD=0x01;TH0=0;TL0=0;EA=0;ET0=0;EX0=0;}/*外部中断函数*/void estern() interrupt 0{timeh=TH0;timel=TL0;beer();flag=1;//进入中断,标志位就置1 EX0=0;//同时关断外部中断和定时器 TR0=0;}/*显示函数*/void display(distance) {bai=distance/1000;shi=distance%1000/100; ge=distance%100; xiaoshu=distance%10;dula=1;P0=list[xiaoshu];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(2);P0=listtwo[ge]; dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(2);dula=1;P0=list[shi]; dula=0;P0=0xff;wela=1;P0=0xfd;delay(1);dula=1;P0=list[bai]; dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);}/*被调用子函数*/ void diaoyong(){uint i;EA=0;echo=1;//为了检测电平的上下,首先必须拉高trig=1;delay20us();trig=0;while(echo==0);//如果进入中断即接收到超声波就向下执行flag=0;//接收到就去除标志位EA=1;//同时打开总中断EX0=1;//打开外部中断TR0=1;//开定时器TH0=0;//定时器清零TL0=0;for(i=0;i<100;i++)//等待测量的结果{display(distance);//用100次显示循环来延时,解决数码管显示不亮问题}//delay(50);//用延时函数数码管闪烁TR0=0;//延时一段时间后关断定时器EX0=0;//延时一段时间后关断外部中断if(flag==1)//如果进入中断,说明测距已经测好{time=timeh*256+timel;//计算测定距离,并显示distance=time*0.1720;display(distance);}if(flag==0)//如果没有进入中断,距离为0,同时灯闪烁{distance=0;test=!test;}}word/*主函数*/void main(){initime0();test=0;trig=0;EA=1;while(1){diaoyong();display(distance);}}11 / 11。

超声波测距程序流程

超声波测距程序流程

超声波测距程序流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 初始化初始化超声波传感器,设置相关参数,如触发引脚、接收引脚等。

超声波测距报告

超声波测距报告
实验发现,温度和湿度对 超声波测距结果有一定影 响,需要在实际应用中考 虑环境因素。
应用场景
超声波测距技术在机器人 避障、智能家居、无人机 定位等领域具有广泛的应 用前景。
05
结果分析
结果准确性分析
准确性评估
01
通过与激光测距仪的测量结果进行对比,评估超声波测距的准
确性。
误差范围
02
确定超声波测距的误差范围,判断其是否满足测量精度要求。
生变化,影响测量精度。
障碍物表面特性影响
超声波在遇到不同表面特性的障碍物时反 射特性和衰减特性不同,可能影响测量结
果。
角度依赖性
超声波测距的精度受到发射器和接收器之 间角度的影响,角度偏差可能导致测量误 差。
测量范围限制
超声波传播距离较短,通常在几米至几十 米范围内,对于远距离目标测量效果较差 。
03
超声波测距报告
汇报人: 202X-12-25
目录
• 引言 • 超声波测距技术 • 实验设备与环境 • 实验过程与结果 • 结果分析 • 结论与建议
01
引言
目的和背景
目的
本报告旨在全面介绍超声波测距技术,包括其工作原理、应用领域、优缺点以及未来发展趋势。
背景
随着科技的发展,测距技术在各个领域都得到了广泛的应用。超声波测距作为一种非接触式测距方法,具有精度 高、速度快、稳定性好等优点,因此在机器人定位、无人驾驶、无人机飞行控制等领域具有广阔的应用前景。
超声波测距技术的原理
超声波的产生与接收
超声波测距系统通常由超声波发射器和接收器组成。发射器负责产生超声波,而接收器则 负责接收反射回来的声波。
测距原理
超声波在空气中传播的速度是已知的(约为340m/s),因此,通过测量超声波从发射到 被物体反射回来的时间,就可以计算出物体与测距仪之间的距离。公式为:距离 = 声速 × 时间 / 2。

超声波测距程序

超声波测距程序

超声波测距仪源程序代码:#include <AT89X51.H>#include <intrins.h>#include <STDIO.H>#include <absacc.h>#define uchar unsigned char#define uint unsigned int#define L_W_D XBYTE[0X9Fff]#define L_W_C XBYTE[0X1Fff]#define L_R_C XBYTE[0X5Fff]sbit RX=P1^2 ;sbit TX=P1^3;sbit beep=P1^0;sbit en=P3^2;sbit d=P1^7;char table[]="cmX";char name[]="ZhangFengJun";unsigned char flag1=1;unsigned int time=0;unsigned int timer=0;float S=0;bit flag =0;void wait();/***********************1602写命令程序******************************************************/void send_command(uint command){wait();L_W_C=command;}/***************************1602********************************* *************/void delay(){uint i,j;for(i=0;i<50;i++)for(j=0;j<50;j++);}/**************************读忙程序**************************************************/void wait(){uchar x;do{x=L_R_C;}while(x&0x80);delay();}/*************************1602写数据程序*****************************************************/void send_data(uint sdata){wait();L_W_D=sdata;}/********************************************************/void Conut(void){time=TH0*256+TL0;TH0=0;TL0=0;S=(time*1.87)/100; //算出来是CMif(flag==1) //超出测量{beep=!beep;delay();delay();delay();delay();delay();beep=!beep;}}/********************************************************/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 key(){en=1;if(en==0){flag1=0;send_command(0x01);while(!en);}}/********************************************************/ void main(void){uchar OUT_PUT,i;flag=0;TMOD=0x21; //设T0为方式1,GATE=1;SCON=0x50;TH1=0xFD;TL1=0xFD;TH0=0;TL0=0;TR0=1;ET0=1; //允许T0中断TR1=1; //开启定时器TI=1;EA=1; //开启总中断send_command(0x38);send_command(0x0c);send_command(0x06);send_command(0x01);for(i=0;i<12;i++){send_command(0x80+i);send_data(name[i]);}while(1){key();if(flag1==0){StartModule();while(!RX); //当RX为零时等待TR0=1; //开启计数while(RX); //当RX为1计数并等待TR0=0; //关闭计数Conut(); //计算delayms(100); //100MSif(flag==0){OUT_PUT=S;send_command(0x82);send_data(OUT_PUT/100+0x30);send_command(0x83);send_data((OUT_PUT%100)/10+0x30);send_command(0x84);send_data(OUT_PUT%10+0x30);send_command(0x85);send_data(table[0]);send_command(0x86);send_data(table[1]);}else if(flag==1){send_command(0x82);send_data(table[2]);send_command(0x83);send_data(table[2]);send_command(0x84);send_data(table[2]);}flag=0;}}}。

超声波测距器实验报告

超声波测距器实验报告

超声波测距器的设计设计说明:超声波测距器可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于,如液位、井深、管道长度、物体厚度等的测量。

也有很多方法可以测量,这里用超声波设计一个测距器,实现距离的测量。

1、基本部分a)测量电阻范围:0.10—3.00mb)测量精度:1cmc)测量时与被测物体无直接接触,能够清晰、稳定的显示测量结果。

2、发挥部分a)可以根据温度的不同,导致的速度的不同,用不同的速度测量距离。

摘要:本文介绍了基于AT89C52单片机的超声波测距器。

通过DS18B20数字温度测量仪测出当前的室温,送入单片机,单片机经过对比,进而得出用哪个档进行测量,单片机和发射电路发射出超声波,超声波遇到障碍物,反射回来,在经过接收电路接收,送入单片机,单片机经过计算,得出距离,并在数码管上显示出距离。

测量精度高达±0.5%,并且显示稳定的4位有效数字。

不仅测量简便,读数直观,且测量精度、分辨率较高。

关键词:单片机;DS18B20;CX20106A;TCT40-10F1;TCT40-10S1一、系统设计1、模块方案比较与论证由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。

利用超声波检测距离设计比较方便,计算处理也较简单,并且在测量精度方面也能达到日常使用的要求。

超声波发生器可以分为两大类:一类是用电器方式产生超声波;另一类是用机械方式产生超声波。

根据设计要求并综合各方面因素,本次决定采用AT89C51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,本系统的总方框图如图(1)所示:为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。

1.1单片机系统及显示电路单片机采用89C51或其兼容系列。

系统采用12MH最高精度的精度,以获得较稳定的时钟频率,并减小测量误差。

单片机用P1.0端口输出超声波换能器所需的40kHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。

超声波测距实训报告

超声波测距实训报告

超声波测距实训报告
超声波测距实训报告
一、实验目的
1. 掌握超声波测距的原理和方法;
2. 学习使用超声波模块进行测距;
3. 验证超声波测距的准确性和可靠性。

二、实验原理
超声波测距原理是利用超声波传播速度较快、能够穿透介质的特性来测量距离的一种方法。

通过发射超声波信号并接收回波信号,根据信号的往返时间来计算距离。

超声波模块一般由超声波传感器和控制电路组成。

超声波传感器会发射一束超声波信号,并接收回波信号。

控制电路会计算信号往返时间,并转换为距离值。

三、实验步骤
1. 将超声波模块与Arduino主板通过引脚连接;
2. 在Arduino上编写程序,设置超声波模块的引脚模式,并读取距离值;
3. 将Arduino通过USB线连接到电脑上,并上传程序;
4. 打开串口监视器,观察并记录测得的距离值;
5. 移动障碍物,再次记录距离值,并与实际距离进行对比。

四、实验数据
实验中我们测得的距离值如下:
实际距离(cm)测得距离(cm)
10 9.8
20 19.6
30 29.4
五、实验结果分析
通过实验数据可以看出,超声波测距的结果与实际距离十分接近,测距精度较高。

但是由于超声波信号的传播受到环境影响,如空气温度、湿度等,可能会有一定的误差。

同时,超声波测距的有效范围也受限于传感器的特性。

六、实验结论
通过本次实验,我们成功掌握了超声波测距的原理和方法,并验证了其准确性和可靠性。

超声波测距在实际应用中具有较高的测量精度和稳定性,广泛用于物体检测、避障等领域。

(完整word版)超声波测距实验报告

(完整word版)超声波测距实验报告

超声波测距系统实物设计报告一.设计要求1.测量距离不小于0.3米,数字显示清晰,无数字叠加,动态显示测量结果,更新时间约为0.5秒左右。

2.测量精度优于0.1米,显示精度0.01米。

3.距离小于0.3米时,蜂鸣器发出”嘀嘀”报警。

4.测量距离超过1.0米时,指示灯显示超量程。

二.系统设计思路 1.原理框图2.系统组成模块(一)40KHZ 方波产生电路1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,通过理论计算加上微调电阻和电容的值,得到所需频率的矩形波,当R2远大于R1时,矩形波的占空比接近50%,可近似为方波。

超声波振荡器控制门超声波放大器闸门CP 信号(2Hz )计数开启清零计数超声波放大滤波正弦波前沿检测超声波接收器超量程灯光显示小于0.3米蜂鸣报计数显示电路反射物超声波发射器17KHzCP2、单元电路如下图;3、参数计算:4、仿真结果:(二)2Hz时钟信号发生电路:1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,通过理论计算加上调整电阻和电容的值,得到所需频率的矩形波。

其中占空比在70%以上。

2、单元电路如下所示:参数计算:R1=710K欧,R2=375欧,C1=1微F(三)17kHz时钟信号发生电路:1、分析:利用555定时器组成的多谐振荡器作为时钟信号的产生电路,通过理论计算加上调整电阻和电容的值,得到所需频率的矩形波。

2、单元电路如下所示:3、参数计算:R1=1K欧,R2=395欧,C5=47nf;4、仿真5、功能:数字显示的测量结果要求动态更新时间约0.5秒左右,所以要求一个频率约2Hz的时钟信号来控制刷新数据,保证结果显示稳定不闪烁。

三,调试说明首先要在示波器上稳定的出现5个波形,40khz的方波,17khz的方波,加上接收头之后的波形,经过347放大之后的正弦波,2hz经过非门整形之后的波形;其中值得注意的就是40khz的占空比一定要精确的得到50%,这个和你测试的准确度和高度直接相关,我们在提高高度的过程中其中一个步骤就是回过头来再去调整40khz的准确度。

超声波测距正确程序

超声波测距正确程序

超声波测距正确程序摘要超声波测距是一种常见的测量距离的方法,其原理是利用超声波在空气中传播的特性来测量距离。

然而,在实际使用中,由于各种因素的影响,常常会出现距离测量不准确的情况。

本文将介绍一种超声波测距的正确程序,以确保测距结果的准确性。

超声波测距是通过发射超声波并检测回波来测量距离的一种技术。

一般来说,超声波测距的整个过程包括以下几个步骤:1.发射超声波:通过发射器将超声波发射出去。

2.接收回波:当超声波遇到物体时,会反射回来。

通过接收器接收这些回波。

3.计算距离:根据回波的时间差来计算距离。

正确程序要确保超声波测距的准确性,需要注意以下几点:1. 选择合适的发射器和接收器在选择超声波发射器和接收器时,需要考虑其频率、灵敏度和信噪比等参数。

一般来说,频率较高的超声波在空气中传播的距离较短,但灵敏度较高,能够检测到较小的物体。

信噪比也是一个重要的参数,它决定了回波信号和噪声之间的比例,直接影响到测量结果的精度。

2. 稳定的电源超声波测距需要稳定的电源来提供能量,所以需要使用稳定的电源供电。

如果电源不稳定,可能会导致超声波发射不稳定或接收器失灵等问题,进而导致测量结果不准确。

3. 校准在使用之前,需要校准超声波发射器和接收器,以确定它们的工作状态。

校准通常包括调节发射器和接收器的角度、位置和距离等参数,以确保超声波能够正常传播并被接收器接收到。

此外,还需要根据具体的应用场景调整参数,比如根据测量距离要求调整超声波的频率。

4. 环境因素环境因素也会影响超声波的传播和接收。

比如在室内测量时,可能会出现多次反射、折射和干扰等现象,影响超声波的传播。

因此,需要在测量之前进行环境调查,并根据实际情况选择合适的参数进行测量。

超声波测距是一种常见的测量距离的方法。

然而,要确保测量结果的准确性,需要选择合适的发射器和接收器、稳定的电源、正确的校准和考虑环境因素等。

只有在以上各个方面都做到到位,才能够获得准确可靠的测距结果。

超声波测距仪程序

超声波测距仪程序
void k4cl();
void offmsd();
void main() //主函数
{
EA=1; //开中断
TMOD=0x11; //设定时器0为计数,设定时器1定时
EX0=0; //关闭外部中断
}
//****************************************************************
//定时器1中断,用做超声波测距计时
void timer1() interrupt 3 //
{
TH1=0;
TL1=0;
}
制作的超声波测距源程序
#include <REG2051.H>
#define k1 P3_4
#define csbout P3_5 //超声波发送
#define csbint P3_7 //超声波接收
P3=~digit&opto; //依次显示各位数
P1=~buffer; //显示数据送P1口
delay(20); //延时处理
P1=0xff; //P1口置高电平(关闭)
}
else timeToBuffer(); //将值转换成LED段码
offmsd();
scanLED(); //显示函数
if(s<sj2)
{
buffer[2]=0x76;
buffer[1]=0x76;
buffer[0]=0x76;
}
else if(s<sj1)
TR1=1;
while(1)
{
keyscan();
if(jpjs<1)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机原理及应用》单片机课程设计报告超声波测距报告目录第1 章课程设计概述 (2)1.1 课程设计选题及原理 (2)1.2课程设计选题调研 (2)1.2.1 选题目的与意义 (2)1.2.2 国内外研究综述 (3)第2 章方案设计 (4)2.1 主要任务 (4)2.2 设计框图 (4)2.3 设计所需元器件及简介 (4)2.4 设计程序流程简图 (5)2.5 编程语言的选择第3 章电路及部分代码设计 (6)3.1 Stc12c5a60s2最小系统 (6)3.2 超声波测距模块 (7)3.3 数码管显示模块 (8)3.4 蜂鸣器报警模块 (9)3.5 总仿真结果及实物测量结果 (10)第4 章课程设计心得体会和总结 (11)4.1 心得体会 (11)4.2 总结 (11)附1 课程设计仿真图…………………………………………………………附2 课程设计实物图…………………………………………………………附3 课程设计程序设计代码……………………………………………………………第1 章课程设计概述1.1 课程设计选题及原理课程设计题目超声波测距仪设计原理通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。

这与雷达测距原理相似。

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

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

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

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

在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。

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

声速确定后,只要测得超声波往返的时间,即可求得距离。

这就是超声波测距仪的基本原理。

1.2课程设计选题调研1.2.1 选题目的与意义超声波是指频率在20KHz以上的声波,它属于机械波的范畴,可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点,利用计算超声波在发送端和接收端之间的传输时间和声速来测量距离,对被测目标无损害。

而且超声波传播速度在很大范围内与频率无关。

超声波的这些独特优点越来越受到人们的重视。

目前对于超声波精确测距的需求也越来越大,比如油库和水箱液面的精确测量和控制,汽车辅助泊位系统的应用,物体内气孔大小的检测和机械内部损伤的检测等。

在机械制造,电子冶金,航海,宇航,石油化工,等工业领域也有广泛地应用。

此外,在材料科学,医学,生物科学等领域中也占具重要地位。

1.2.2 国内外研究综述历史上使用超声波来测量距离是从第二次世界大战时海军的声纳技术的发展开始。

声纳是一种利用声波在水下测定目标距离和运动速度的仪器。

经过几个世纪,科学家们对此反复研究,最终发现了超声波的原理。

超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉识别等方面。

超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因素影响,对环境有一定的适应能力,且操作简单,测量精度高等优点而被广泛应用。

这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多的情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触电接触不良造成的误测等。

此外该技术对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量损耗,节省人力和劳动的强度。

因此,利用超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。

然而超声波测距在实际应用中也有很多局限性。

由于超声波在传播过程中,声压会随距离的增大而呈指数规律衰减,远目标的回波信号幅度小,信噪比低,用固定阈值的比较器检测回波,可能导致越过门槛的时间前后移动,从而影响计时的准确性,这必然会影响到测距的准确度。

此外,构成超声波传感器的压电陶瓷片在压电的双向转换过程中,存在惯性,滞后等现象,以及超声波脉冲在空气中传播本身及多重的反射路径,均导致回波信号被展宽,也会使测量产生较大的误差,影响了测距的分辨率。

其它如温度,风速等也会对测量造成一定的影响。

工程师针对这些误差提出的可变阈值的超声波测距方法,从回波信号处理的角度出发,分析了超声波回波曲线的特性,利用回波包络的峰值检测技术以确定回波到达的时刻,另外,利用温度补偿电路可以降低温度对声速的影响,这些改进都大大的提高了超声波测距的准确性。

计量学在制造业中越来越重要。

直接在机器上测量尤其能推动制造业的发展。

目前为止大部分还是采用视觉的或触觉的测量方法。

但是墙的厚度就不能用这些来测量,因此德国人把超声系统结合到机器设计出了测距方法。

随着超声波的发展,早在2000年时英国人就设计出了可观察,识别并测距的超声波集成系统。

第2 章方案设计2.1主要任务设计制作一个超声波测距仪,通过单片机控制超声波测距模块,计算并显示所测距离以及实现报警功能。

整体电路的控制核心为单片机STC12C5A60S2。

超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。

超声波探头接OUT 口实现超声波的发射和接收。

另外超声波发射和接受模块hc-sr04还有具有温度补偿的作用,使测量精度能够达到要求。

整体结构图包括超声波发射接收电路,单片机电路,显示电路与蜂鸣器报警电路等几部分模块组成。

2.2 设计框图本设计主要的四个模块:超声波发射和接收模块,蜂鸣器报警模块,单片机 STC12C5A60S2,四位数码管显示模块。

以下是设计框图图1 设计框图2.3 设计所需元器件及简介STC12C5A60S2增强型 8051 CPU ,1T ,单时钟/ 机器周期,指令代码完全兼容传统8051。

工作电压5.5V-3.3V 。

STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D 转换(250K/S),针对电机控制,强干扰场合。

通用I/O 口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O 口) 可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O 口驱动能力均可达到20mA ,但整个芯片最大不要超过55mA 。

本设计中用到的单片机管脚有P1,P2.0-P2.3,P3.5-P3.7。

超声波测距模块HC-SR04超声波测距模块HC-SR04 可提供2-400cm 的非接触式距离感测功能,测距精度可高达3mm 。

模块包括超声波发器、接收器与控制电路本模块性能稳定,测度距离精确。

能和国外的SRF05,SRF02等超声波测距模块相媲美。

模块高精度,盲区(2cm )超近,稳定的测距是此产品成功走向市场的有力根据图2 HC-SR04正面图主要技术参数:1:使用电压:DC5V 2:静态电流:小于2mA3:电平输出:高5V 4:电平输出:底0V5:感应角度:不大于15度6:高精度可达0.2cm7:探测距离:2cm-450cm接线方式:VCC,trig(控制端),echo(接收端),GND模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;超声波发射器向某一方向发射超声波,在发射超声波的同时开始计时,超声波在空气中传播,途中碰到障碍物反射后立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度约为340m/s,根据计时器记录的时间t,就可以计算出超声波发射点距障碍物的距离(s),即为:s=340t/2,这就是所谓的时间差测距法。

存在4个因素限制了该系统的最大可测距离:超声波的幅度、反射的质地、反射回波和入射声波之间的夹角。

四位数码管显示模块数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

led 数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。

位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管根据LED 的接法不同分为共阴和共阳两类。

本设计用到的是共阳极,静态驱动也称直流驱动数码管。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

共阳TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,088H本设计还需要的元件有蜂鸣器,电阻,电容,12M晶振,按键,三极管,面包板等2.4 设计程序流程简图设计流程图说明:本设计P3.5连接超声波发射端,P3.7口接超声波接收端。

首先单片机开始工作,系统初始化后单片机向P3.5口发送40KHZ的方波,使超声波发射和接受模块开始工作,当P3.7口接收到高电平时计时器开始计时,选用的是计时器工作方式1,16位。

当P3.7口接收到低电平的时候计时器关闭。

此时时间存在TH0,TL0中,这是通过计算子程序把时间换算成距离四位,从高到底分别存在78H,77H,76H,75H。

此时调用显示子程序把距离显示在四位数码管中。

再调用报警子程序,根据距离的判断,使蜂鸣器发出不同频率的声音。

延时很短的时间,继续下次的测量。

2.5编程语言的选择在编程语言的选择上,我们主要考虑使用我所学过的汇编语言和C语言。

汇编语言是一种面向机器的低级的程序设计语言。

它直接利用机器提供的指令系统编写程序,该类程序的可执行指令是与机器语言程序的指令一一对应的。

汇编语言由于是面向机器的程序设计语言,与具体的计算机硬件有着密切的关系,因此,可移植性差。

但由于汇编指令与机器语言指令一一对应,即一条汇编语言的可执行指令对应着一条机器语言指令,反之亦然。

因此,汇编语言可直接利用机器硬件系统的许多特性,如寄存器、标志位以及一些特殊指令等,具有执行速度快、占用内存少等优点。

在本设计中,设计程序过程相对不复杂,用汇编语言完全可以实现,所以本设计选择了使用汇编语言进行编程。

相关文档
最新文档