单片机超声波测距-实训报告

合集下载

超声波雷达测距实训报告

超声波雷达测距实训报告

一、实训目的本次实训旨在通过实际操作,了解超声波雷达测距的原理和实现方法,掌握超声波传感器的基本使用技巧,并学会利用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. 误差分析:- 超声波在空气中的传播速度受温度、湿度等因素的影响,导致测距误差。

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

实训报告超声波测距仪

实训报告超声波测距仪

一、实训目的本次实训旨在通过实际操作,掌握超声波测距仪的设计、制作和调试方法,了解超声波测距的原理和特点,提高动手能力和创新思维。

二、实训内容1. 超声波测距原理超声波测距仪是利用超声波的传播速度和反射原理进行距离测量的设备。

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

2. 超声波测距仪设计(1)硬件设计本次实训所设计的超声波测距仪主要由以下模块组成:1)超声波发射模块:采用超声波发射器产生40kHz的超声波信号。

2)超声波接收模块:采用超声波接收器接收反射回来的超声波信号。

3)单片机模块:采用AT89S51单片机作为主控制器,负责控制超声波发射、接收、数据处理和显示。

4)显示模块:采用四位共阳数码管显示距离。

5)电源模块:采用稳压电源为整个系统供电。

(2)软件设计1)初始化:设置单片机工作状态,初始化各个模块。

2)超声波发射:单片机控制超声波发射器发射超声波信号。

3)超声波接收:单片机控制超声波接收器接收反射回来的超声波信号。

4)数据处理:计算超声波往返时间,根据超声波在空气中的传播速度,计算出距离。

5)显示:将计算出的距离显示在数码管上。

3. 超声波测距仪调试(1)硬件调试:检查各个模块的连接是否正确,确保电路正常工作。

(2)软件调试:编写程序,调试单片机控制程序,使超声波测距仪能够正常工作。

三、实训过程1. 硬件制作(1)按照电路图连接各个模块,焊接电路板。

(2)组装超声波发射器、接收器和数码管。

2. 软件编写(1)根据超声波测距原理,编写程序实现超声波发射、接收、数据处理和显示功能。

(2)调试程序,确保超声波测距仪能够正常工作。

3. 调试与测试(1)检查电路连接是否正确,确保电路正常工作。

(2)调试单片机控制程序,使超声波测距仪能够正常工作。

(3)进行实际测量,测试超声波测距仪的测量精度和稳定性。

四、实训结果与分析1. 测量精度通过实际测量,超声波测距仪的测量精度在1厘米以内,满足日常使用要求。

单片机超声波测距-实训报告

单片机超声波测距-实训报告

基于STC11F04E单片机的超声波测距仪实训报告目录摘要 (3)一.超声波测距原理 (4)二.超声波测距仪原理图 (4)1. 单片机最小系统电路/按键电路/LCD显示电路 (5)2. 程序下载电路/电源电路/指示灯电路 (5)3. 超声波发送电路 (5)4. 超声波接收电路 (5)5. 其他电路 (5)三.超声波测距仪功能介绍 (6)四.超声波测距仪图片 (6)五.实训心得 (8)六.程序设计简介 (9)七.超声波测距仪部分程序 (10)摘要本超声波测距仪是基于STC11F04E单片机的,该测距仪可测得精确距离为3~100CM,误差小于1CM,使用NOKIA 5110 LCD显示,全过程中文显示,便于用户使用。

单片机产生超声波经功率放大发送出去,接收到的超声波经CX20106产生中断让单片机计算距离,再通过LCD显示距离,本测距仪还有可调的报警距离设定功能、即将进入盲区提示功能、即将超出量程提示功能、开机显示各种预设画面功能。

其中,进入报警距离调整状态时还有对应按键功能提示的功能。

一.超声波测距原理超声波测距原理是通过超声波发射器向某一方向发射超声波(一般为40KHz的超声波),在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为v ,而根据计时器记录的测出发射和接收回波的时间差△t ,就可以计算出发射点距障碍物的距离S ,即:S = v•△t /2其中,超声波在空气中的传播速度给温度有关,速度V=332+0.607*T,T是环境温度,单位是摄氏度,因此,要精确测距要考虑温度的影响,采用温度补偿方式进行计算。

二.超声波测距仪原理图STC11F04E单片机最小系统电路/ 程序下载电路/按键电路/NOKIA 5110LCD显示电路电源电路/指示灯电路超声波发送电路超声波接收电路其他功能:温度检测电路/日期时间电路/外部存储电路1.单片机最小系统电路/按键电路/LCD显示电路STC11F04E单片机是51单片机的升级版,内置复位电路和振荡电路,本系统使用内置复位电路,按单片机说明书所说:在1号脚接1K电阻接地即可。

超声波测距仪实训报告

超声波测距仪实训报告

超声波测距仪实训报告一、实训目的本次实训的目的是通过设计和制作超声波测距仪,深入了解超声波测距的原理和应用,掌握相关的电子电路设计、焊接、调试和编程技能,提高实际动手能力和问题解决能力。

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

超声波发生器发射出一定频率的超声波,当遇到障碍物时会反射回来,被超声波接收器接收。

通过测量发射和接收的时间差,再根据超声波在空气中的传播速度(约 340 米/秒),就可以计算出障碍物与测距仪之间的距离。

计算公式为:距离=(传播速度 ×时间差)/ 2三、实训设备和材料1、超声波传感器模块(HCSR04)2、单片机开发板(如 STM32、Arduino 等)3、面包板、杜邦线4、电阻、电容等电子元件5、示波器、万用表6、电脑及编程软件四、实训步骤1、硬件电路设计将超声波传感器模块与单片机开发板连接,根据模块的引脚定义和开发板的接口,使用杜邦线进行连接。

连接电源和地,确保电路的供电正常。

2、软件编程选择相应的编程环境,如 Arduino IDE 或 Keil 等。

编写控制程序,实现超声波的发射和接收,并计算距离。

通过串口将测量的距离数据发送到电脑上进行显示。

3、电路焊接与调试如果需要制作永久性的电路,可以将元器件焊接在电路板上。

使用示波器和万用表检查电路的工作状态,确保信号的正常传输。

4、系统测试将制作好的超声波测距仪放置在不同的距离处,测量并记录数据。

分析测量结果的准确性和稳定性,对系统进行优化和改进。

五、遇到的问题及解决方法1、信号干扰在实际测量中,发现测量结果有时会出现较大的误差,经过检查发现是由于周围环境中的电磁干扰导致的。

解决方法是增加滤波电容,提高电路的抗干扰能力。

2、测量范围有限超声波测距仪的测量范围受到传感器性能和环境因素的影响。

为了扩大测量范围,尝试调整发射功率和接收灵敏度,但效果不明显。

最终通过更换性能更好的超声波传感器模块解决了问题。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

超声波测距实训报告格式

超声波测距实训报告格式

一、实训目的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. 提高了非接触式测距技术的应用能力,为今后的学习和工作打下了基础。

超声波测距实习报告

超声波测距实习报告

一、实习背景随着科技的不断发展,超声波测距技术逐渐在各个领域得到广泛应用。

为了提高自身实践能力,了解超声波测距技术在实际应用中的原理和操作,我参加了本次超声波测距实习。

二、实习目的1. 了解超声波测距的基本原理及工作流程;2. 掌握超声波测距仪的使用方法及注意事项;3. 培养动手能力和团队合作精神;4. 提高对超声波测距技术在实际应用中的认识。

三、实习内容1. 超声波测距原理及工作流程超声波测距是利用超声波在介质中传播的速度和反射原理来测量距离的一种技术。

当超声波发射器发出超声波后,在遇到障碍物时,部分超声波会被反射回来。

通过测量发射超声波和接收反射超声波之间的时间差,可以计算出障碍物与测距仪之间的距离。

超声波测距工作流程如下:(1)发射器发射超声波;(2)超声波遇到障碍物后反射回来;(3)接收器接收反射回来的超声波;(4)计算发射和接收之间的时间差;(5)根据超声波在介质中的传播速度,计算出障碍物与测距仪之间的距离。

2. 超声波测距仪的使用方法及注意事项(1)使用前,确保超声波测距仪的电源充足,避免因电量不足导致测量误差;(2)将测距仪放置在平稳的表面上,避免因震动导致测量误差;(3)调整测距仪的量程,使其适应被测物体的距离;(4)根据需要,调整测距仪的发射角度,确保超声波能够有效传播;(5)在测量过程中,避免测距仪受到其他信号的干扰;(6)测量完成后,关闭测距仪,确保设备安全。

3. 实际操作在实习过程中,我们使用超声波测距仪对实验室内的物体进行了测量。

具体操作如下:(1)将测距仪放置在平稳的桌面上;(2)调整测距仪的量程,使其适应被测物体的距离;(3)调整测距仪的发射角度,确保超声波能够有效传播;(4)按下测距仪的测量按钮,开始测量;(5)观察测距仪的显示屏,读取测量结果;(6)重复以上步骤,对多个物体进行测量。

四、实习心得通过本次超声波测距实习,我深刻认识到以下几方面:1. 超声波测距技术在实际应用中的重要性;2. 掌握超声波测距仪的使用方法及注意事项对于提高测量精度至关重要;3. 动手能力在实践过程中得到了锻炼,为今后的工作积累了宝贵经验;4. 团队合作精神在实习过程中得到了体现,为今后的团队协作打下了基础。

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

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

基于单片机得超声波测距系统实验报告一、实验目得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 输出一个高电平,高电平持续得时间就就是超声波从发射到返回得时间。

超声波测距实训报告

超声波测距实训报告

广东水利电力职业技术学院课程设计/实训报告(2013-2014学年第2学期)学生:提交日期:2014年6月27日学生签名:学号学院自动化系课程名称单片机接口技术任课教师教师评语:成绩评定教师签名超声波测距摘要:使用单片机处理系统对超声波模块的控制并对超声波模块输出的信号进行处理,主要功能是测距。

低于100CM时会通过蜂鸣器报警。

关键词:单片机、超声波、测距Ultrasonic rangingAbstract: the use of single chip microcomputer processing system of ultrasoniccontrol module and signal of the ultrasonic moduleoutput processing, the main function is to distance. Below 100CM the buzzer alarm.Keywords: single chip microcomputer, ultrasonic, ranging一、设计要求及目标1.阅读相关文献,学习超声波测距原理;2.根据网上提供的用户说明,熟悉所提供的超声波模块接口特性。

3.设计并搭建超声波测距电路,调试电路,令模块正常工作。

4.加载传感器的单片机驱动程序,实现测距功能,并确定测试范围,进行误差分析:1)距离的测定:根据测距公式,如果测试距离是4米,那么模块输出的高电平时间将是多久?如果测试距离是2cm,模块输出的高电平时间又是多久?采用周期性查询(模块输出高电平时间)的方法,测量模块输出高电平的时间。

请问该查询周期时间设定为多少合适?2)根据电路连接图,设计单片机的测距程序。

将测试距离以cm为单位显示在数码管上。

当测试距离小于1米时,就报警(led闪烁等)。

3)令被测物与传感器的距离分别是从远到近,再从近到远,观察模块输出信号的变化情况。

单片机超声波测距实习报告

单片机超声波测距实习报告

一、实习背景随着科技的不断发展,单片机技术在各个领域得到了广泛应用。

超声波测距技术作为一种非接触式测量方法,具有精度高、稳定性好、抗干扰能力强等优点,在工业自动化、智能家居、机器人等领域有着广泛的应用前景。

本实习报告旨在通过单片机超声波测距实验,了解超声波测距原理,掌握单片机编程技巧,并实现一个简单的超声波测距系统。

二、实习目的1. 理解超声波测距原理,掌握超声波传感器的工作原理。

2. 掌握单片机编程技巧,实现超声波测距功能。

3. 了解超声波测距系统在实际应用中的注意事项。

三、实习内容1. 超声波测距原理超声波测距原理基于声波在介质中传播的速度和距离的关系。

当超声波发射器发出超声波信号后,遇到障碍物会发生反射,反射信号被接收器接收。

根据超声波发射和接收的时间差,可以计算出障碍物与传感器的距离。

2. 实验设备(1)51单片机开发板(2)HC-SR04超声波测距模块(3)蜂鸣器(4)LED灯(5)面包板、连接线3. 实验步骤(1)搭建实验电路将51单片机开发板、HC-SR04超声波测距模块、蜂鸣器、LED灯等元器件按照电路图连接到面包板上。

(2)编写程序使用C语言编写单片机程序,实现以下功能:1)初始化51单片机、HC-SR04超声波测距模块、蜂鸣器、LED灯等外围设备。

2)使用定时器0产生定时中断,定时检测HC-SR04超声波测距模块的回波信号。

3)根据超声波往返时间计算距离,并显示在LCD显示屏上。

4)当距离小于设定值时,蜂鸣器发出报警声,LED灯亮起。

(3)编译、下载程序将编写好的程序编译并下载到51单片机开发板上。

(4)测试与调试连接LCD显示屏,观察距离显示是否正常。

调整HC-SR04超声波测距模块与障碍物的距离,测试报警声和LED灯是否正常工作。

四、实习结果与分析1. 实验结果通过实验,成功实现了超声波测距功能。

当距离小于设定值时,蜂鸣器发出报警声,LED灯亮起。

2. 分析(1)超声波测距原理正确,程序编写无误。

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

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

微机本理与单片机系统课程安排之阳早格格创做博业:轨讲接通旗号与统制班级:接控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。

超声波测距实训报告

超声波测距实训报告
(6)去铜:去铜过程中关键在于刷油墨和仪器的时间控制。
(7)曝光:曝光无严格技术指标,主要在于控制时间。
(8)刷阻焊漆:刷阻焊漆同刷油墨类似,但刷阻焊漆后需在阴暗处暗置10分钟,然后用中温烘干。
(9)显影:在PCB板顶层印上元件位置和相应字符。
传感器装配及调试
1.1元件装配
元件装配过程比较简单,但也是一个不容忽视的过程,要求购买的元件对应元件清单,焊接美观严实,元件排列整齐美观等。我们在安装元件的过程中也发现了一些问题,即单排针和传感器探头的引脚不能插入插孔,我们只能用镊子一点一点地钻宽,并且保证铜片不脱落。元件焊好后,我们还要细心的检查看是否有虚焊,焊接不到位的还要补焊。
《信号检测与控制》






专业:应用电子技术
报告人:杨琼 范儒兵
指导老师:苏宏艮 张艳阳 李桂平
时间:2011年1月5日
一、实训目的
二、设计思路
1.1方案选择………………………………………………2
1.2 整理思路………………………………………………2
三、超声波测距原理
1.1超声波探头……………………………………………3
1.2 接收电路
超声波接收电路由放大、整形、译码电路构成。
音频译码集成块构成接收电路
接收头将超声波调制脉冲变为交变电压信号,通过CMOS 6非门芯片CD4069整形,整形后的信号由C1耦合给带有锁定环的音频译码集成块LM567的输入端 3脚,当输入信号的幅度落在其中心频率上时,LM567的逻辑输出端8脚由高电平跃变为低电平。8脚输出的低电平接单片机的外部中断引脚,单片机接收到低电平后触发中断,调用计算子程序计算距离。
2011实训目的二设计思路11方案选择??????????????????212整理思路??????????????????2超声波测距原理11超声波探头?????????????????312超声波测距原理???????????????313基于单片机超声波测距仪系统构成???????4超声波测距原理图分析11发射电路??????????????????412接收电路??????????????????5pcb板制作及工艺11dxp2004绘制原理图和pcb12pcb板制板过程???????????????9元件装配及硬件调试11元件装配??????????????????1012传感器调试?????????????????1013传感器成果展示????????????????11实训总结11pcb制板过程?????????????????1212传感器的安装与调试?????????????13实训目的培养学生理论应用能力分析问题解决问题的能力实践操作能力实验课学习重点是掌握实验的基本理论和学生的动手能力而不仅仅只是熟悉几个电路提高实验效率的关键在于除了熟悉掌握基本的电路知识和信息外还要多动手动脑多问多练在试验前阶段我们要预想整个制板会经历那些过程预测实验过程中会遇到哪些困难如何解决这些困难以此来加深对实验的了解这样可以把实验难度降低又提高了效率

基于单片机超声波测距项目实验报告

基于单片机超声波测距项目实验报告

电子信息工程系实验报告课程名称:1、信号检测与控制2、单片机技术与应用3、印刷电路板设计与制板工艺班级:应电0933班实训者姓名:左兴华柴理会学号:0919013319 0919013317 指导老师:方跃春李桂平张艳阳时间:2010年12月目录一、-----------------------实验背景二、-----------------------实验原理三、-----------------------实验设备四、-----------------------实验目的五、-----------------------实验内容六、-----------------------实验步骤七、-----------------------实验作品展示八、-----------------------实验体会九、-----------------------附超生波测距汇编程序一、实验背景在科学技术高速发展的今天,超生波的在测距中的应用也越来越广。

但目前我们的技术还是有限,为了推动我们电子信息工程系同学对其的兴趣发展,所以我们电子信息工程系教研室的老师们策划了一个基于单片机超声波测距仪项目的课程设计。

同时也是为了老师考察电子系同学们在前一学年在单片机应用技术课程,传感器技术应用课程和印刷电路板的设计与工艺课程学习情况。

也是对电子信息工程系的学生们动手能力的一种锻炼,及高职院校学生综合素质的一种培养。

设计超声波测距仪用专用的集成电路的成本很高, 并且没有显示,操作比较不方便。

本文结合超声波精确测距的需要,尝试用STC89C52 单片机为核心的低成本、简单实现收发功能、小型化数字显示超声波测距的硬件电路和软件设计方法。

二、实验原理超声波是一种在弹性介质中的机械振荡,传播速度仅为光波的百万分之一,超声波对色彩,光照度,外界光线和电磁场不敏感,因此超声波测距对于被测物处于黑暗,有灰尘或烟雾,强电磁干挠,有毒等恶劣的环境下有一定的适用能力,在液体测位,机器人避障和定位,倒车雷达、物体识别等方面有广泛应用。

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

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

基于单片机得超声波测距系统实验报告一、实验目得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 输出一个高电平,高电平持续得时间就就是超声波从发射到返回得时间。

超声波测距实训报告

超声波测距实训报告

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

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

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

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

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

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

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

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

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

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

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

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

超声波测距报警器实验报告

超声波测距报警器实验报告

超声波测距报警器实验报告一、实验目的本次实验旨在设计并实现一款基于超声波测距原理的报警器,通过测量物体与传感器之间的距离,当距离小于设定的阈值时触发报警,以达到提醒和警示的作用。

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

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

根据计时器记录的时间 t,以及超声波在空气中的传播速度 v(约 340 米/秒),就可以计算出发射点距障碍物的距离 S,即:S = v × t / 2 。

在本实验中,通过不断测量距离,并与设定的报警阈值进行比较,当测量距离小于阈值时,触发报警电路。

三、实验设备与材料1、超声波传感器模块(HCSR04)2、单片机开发板(如 Arduino)3、蜂鸣器4、杜邦线若干5、电阻、电容等电子元件6、电源(5V 直流电源)四、实验电路设计1、将超声波传感器的 Trig 引脚连接到单片机的一个数字输出引脚,Echo 引脚连接到单片机的一个数字输入引脚。

2、蜂鸣器通过一个三极管驱动电路连接到单片机的另一个数字输出引脚,用于发出报警声音。

五、实验程序编写以下是使用 Arduino 语言编写的实验程序示例:```cppinclude <NewPingh>define TRIG_PIN 9 //超声波传感器 Trig 引脚连接的数字引脚define ECHO_PIN 10 //超声波传感器 Echo 引脚连接的数字引脚define ALARM_PIN 8 //蜂鸣器连接的数字引脚define MAX_DISTANCE 200 //最大测量距离(单位:厘米)define ALARM_DISTANCE 50 //报警距离阈值(单位:厘米)NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);void setup(){pinMode(ALARM_PIN, OUTPUT);Serialbegin(9600);}void loop(){unsigned int distance = sonarping_cm();//获取测量距离(单位:厘米)Serialprint("Distance: ");Serialprint(distance);Serialprintln(" cm");if (distance < ALARM_DISTANCE) {digitalWrite(ALARM_PIN, HIGH);//触发报警} else {digitalWrite(ALARM_PIN, LOW);//关闭报警}delay(100);}```六、实验步骤1、按照电路设计连接好硬件电路,确保连接正确无误。

超声测距实验报告

超声测距实验报告

超声测距实验报告一、实验目的本次超声测距实验的目的是利用超声波的特性来测量物体之间的距离,并通过实验数据分析和处理,了解超声测距的原理、误差来源以及提高测量精度的方法。

二、实验原理超声波是一种频率高于 20kHz 的机械波,其在空气中的传播速度约为 340m/s。

超声测距的原理是通过发射超声波脉冲,并测量从发射到接收反射波的时间间隔,根据时间与速度的关系计算出距离。

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

三、实验设备与材料1、超声波发射与接收模块2、微控制器(如 Arduino 或 STM32)3、显示模块(如液晶显示屏或数码管)4、电源5、反射物体(如平面板、障碍物等)四、实验步骤1、硬件连接将超声波发射与接收模块与微控制器连接,确保连接正确无误。

连接显示模块,以便实时显示测量的距离值。

接通电源,为整个系统供电。

2、软件编程使用相应的编程语言(如 C 或 Python)编写控制程序,实现超声波的发射、接收以及时间测量和距离计算。

对测量数据进行处理和滤波,以提高测量的稳定性和准确性。

3、实验环境设置选择一个相对空旷、无明显干扰的实验场地。

确定测量的起始点和目标反射物体的位置。

4、测量操作启动系统,开始发射超声波脉冲。

记录每次测量的时间间隔和计算得到的距离值。

改变反射物体的距离,进行多次测量。

五、实验数据记录与分析以下是部分实验数据记录:|测量次数|反射物体距离(m)|测量时间间隔(μs)|计算距离(m)|误差(m)|||||||| 1 | 100 | 5882 | 099 |-001 || 2 | 150 | 8823 | 149 |-001 || 3 | 200 | 11764 | 199 |-001 || 4 | 250 | 14705 | 249 |-001 || 5 | 300 | 17646 | 299 |-001 |通过对实验数据的分析,可以发现测量结果存在一定的误差。

单片机超声波测距实习报告

单片机超声波测距实习报告

实习报告:基于单片机的超声波测距系统设计与实现一、实习背景及目的随着科技的不断发展,超声波测距技术在工业生产、机器人导航、自动驾驶等领域得到了广泛的应用。

本次实习旨在学习和掌握单片机超声波测距系统的设计与实现,提高自己的实际动手能力和创新能力。

二、实习内容与过程1. 了解超声波测距原理超声波测距原理是利用超声波在传播过程中,遇到障碍物时会产生反射现象,通过测量发射超声波和接收反射波之间的时间差,计算出障碍物与测距仪之间的距离。

2. 选定硬件平台本次实习选用AT89C51单片机作为控制核心,配合超声波发射接收模块、信号处理电路、显示电路等构成超声波测距系统。

3. 设计硬件电路根据超声波测距原理,设计超声波发射接收模块、信号处理电路、环境温度检测电路等。

其中,超声波发射接收模块负责发射超声波并接收反射波;信号处理电路对接收到的信号进行放大、滤波等处理,以便单片机能够准确地捕捉到信号;环境温度检测电路用于补偿超声波传播速度受温度影响产生的误差。

4. 编写程序代码利用C语言编写程序代码,实现单片机对超声波发射接收模块的控制、信号处理以及距离计算等功能。

程序主要包括以下几个部分:(1)初始化单片机,配置IO口、定时器等;(2)控制超声波发射接收模块发射超声波,并等待接收反射波;(3)对接收到的信号进行处理,提取有效信号;(4)计算反射波与发射波之间的时间差,并根据超声波传播速度计算距离;(5)将计算得到的距离显示在LCD屏幕上。

5. 系统调试与优化通过反复实验,对超声波测距系统进行调试和优化,提高测距精度和稳定性。

主要针对以下几个方面进行调整:(1)调整超声波发射接收模块的灵敏度,以适应不同距离的测量;(2)优化信号处理算法,提高对噪声的抗干扰能力;(3)根据环境温度变化,调整超声波传播速度的补偿系数。

三、实习成果与分析通过本次实习,成功设计并实现了基于单片机的超声波测距系统,实现了对不同距离的准确测量。

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

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

超声波测距仪单片机课设实验报告微机原理与单片机系统课程设计专业:轨道交通信号与控制班级:交控1305姓名:贺云鹏学号: 201310104指导教师:李建国预计定价:10元利润:1.46元3 硬件设计此系统的硬件设计主要包括HC-SR04超声波测距模块、AT89C51单片机、4位LED显示模块,并连入指示灯、待机开关和锁存开关。

仿真时,将HC-SR04超声波测距模块用一个555延时电路来代替即可,其中调节改变滑动变阻器的阻值可以模拟被测物体距离的变化。

实验仿真电路图如图1所示。

图1 设计硬件电路图4 软件设计此系统的软件设计主要包括超声波测距模块设计、LED显示模块设计、和其他拓展模块。

采用定时器1每800ms发射一个脉冲信号启动超声波测距模块,采用定时器0计算超声波传播时间,并通过一个计算函数算得距离,然后送LED 显示屏进行动态扫描并显示结果。

4.1 程序流程图主程序流程图如图2所示。

图2 程序流程图4.2程序基于AT89C51单片机的超声波测距源程序见附录一。

5 系统仿真及调试结果基于AT89C51单片机的超声波测距仿真结果见附录二。

基于AT89C51单片机的超声波测距调试结果如图3所示。

图3 系统程序调试结果6 总结本设计通过对超声波测距的研究,与单片机结合,实现了超声波测距的目标,并增加了数据锁存、指示灯和待机的功能。

仿真时由于软件中没有HC-SR04模块,因此用555延时电路来代替。

通过这次课程设计,我加深了对单片机的理解,也为以后更好的运用打下了基础。

最后要感谢李老师的指导,在李老师的耐心解答下,我受益匪浅。

参考文献[1] 李积英.数字电子技术.中国电力出版社,2011[2] 深圳市捷什科技有限公司.HC-SR04超声波测距模块说明书.[3] 彭江.单片机原理及接口技术的开发[J].软件导刊,2011,12(8):66-70.[4] 王思明.张金敏.苟军年.张鑫.杨乔礼.单片机原理及应用系统设计.科学出版社.2012附录一:实验源程序#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 code LED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,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) //计算程序{time=TH0*256+TL0; //这是最后算到的时间,往返时间,但应该再乘以12/11.0593M是一个机器周期,时间应该是time*12/11.059 TH0=0; //定时器0的初始值为0TL0=0;S=(time*1.845)/10; //算出来是mm,time*12*170/(11.0592*1000)mm=time*(1845/10000)mmW[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 距离小于4m 2.距离大于4m时的仿真图图2 距离大于4m。

超声波测距仪设计实训报告

超声波测距仪设计实训报告

超声波测距仪设计实训报告超声波测高仪设计实训报告姓名学号院(系)专业、年级2014年1月10日摘要超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因此超声波经常用于障碍物的距离测量。

由于超声波可做到无接触检测距离,这一特性用在人体或其它物体高度的测量上会变得非常方便。

测高前先利用超声波测出发射头与地面的高度H1并存入单片机,然后将被测物移入测量区内测得上表面距离H2,用单片机算出两者之差就是被测物体的实际高度。

本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。

整个电路采用模块化设计,由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。

各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。

在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。

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

利用超声波测高前先用超声波测出发射头与地面的高度H1并存入单片机,然后将被测物体移入测量区内测得上表面距离H2,用单片机算出两者之差就是被测物体的实际高度。

超声波测高实现原理二、系统硬件设计1.系统结构设计整体电路的控制核心为单片机AT89C51。

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

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

另外还有温度测量电路测量当时的空气温度,等到把数据送到单片机后使用软件对超声波的传播速度进行调整,使测量精度能够达到要求。

整体结构图包括超声波发射电路、超声波接收电路、放大电路、比较震荡电路、单片机电路、键盘输入电路、电源电路、复位电路、显示电路、温度测量电路及温度补偿电路等几部分模块组成。

超声波测距系统结构图如下图所示:超声波测距系统结构图。

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

基于STC11F04E单片机的超声波测距仪实训报告目录摘要 (3)一.超声波测距原理 (4)二.超声波测距仪原理图 (4)1. 单片机最小系统电路/按键电路/LCD显示电路 (5)2. 程序下载电路/电源电路/指示灯电路 (5)3. 超声波发送电路 (5)4. 超声波接收电路 (5)5. 其他电路 (5)三.超声波测距仪功能介绍 (6)四.超声波测距仪图片 (6)五.实训心得 (8)六.程序设计简介 (9)七.超声波测距仪部分程序 (10)摘要本超声波测距仪是基于STC11F04E单片机的,该测距仪可测得精确距离为3~100CM,误差小于1CM,使用NOKIA 5110 LCD显示,全过程中文显示,便于用户使用。

单片机产生超声波经功率放大发送出去,接收到的超声波经CX20106产生中断让单片机计算距离,再通过LCD显示距离,本测距仪还有可调的报警距离设定功能、即将进入盲区提示功能、即将超出量程提示功能、开机显示各种预设画面功能。

其中,进入报警距离调整状态时还有对应按键功能提示的功能。

一.超声波测距原理超声波测距原理是通过超声波发射器向某一方向发射超声波(一般为40KHz的超声波),在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为v ,而根据计时器记录的测出发射和接收回波的时间差△t ,就可以计算出发射点距障碍物的距离S ,即:S = v•△t /2其中,超声波在空气中的传播速度给温度有关,速度V=332+0.607*T,T是环境温度,单位是摄氏度,因此,要精确测距要考虑温度的影响,采用温度补偿方式进行计算。

二.超声波测距仪原理图STC11F04E单片机最小系统电路/ 程序下载电路/按键电路/NOKIA 5110LCD显示电路电源电路/指示灯电路超声波发送电路超声波接收电路其他功能:温度检测电路/日期时间电路/外部存储电路1.单片机最小系统电路/按键电路/LCD显示电路STC11F04E单片机是51单片机的升级版,内置复位电路和振荡电路,本系统使用内置复位电路,按单片机说明书所说:在1号脚接1K电阻接地即可。

由于超声波测距要精确计时,如使用单片机内置的RC振荡电路,会因温度影响产生意想不到的测量误差,故使用外部振荡电路,本系统接11.0592MHz晶体振荡器电路。

按键电路是4个独立按键电路(由于本系统还有其它功能,IO口不够用,按键用的IO口和其它器件共用)。

显示部分采用NOKIA 的5110LCD显示,该LCD分辨率是48乘84,可显示中文,比1602LCD显示更加直观,且一个裸屏的价格仅为5元,该LCD外围电路简单,综上因素,本系统采用5110LCD显示测量距离等。

本测距仪开机还能显示预设的图片、文字等,详见超声波测距仪图片。

2.程序下载电路/电源电路/指示灯电路本系统采用基于PLC2132芯片的USB下载器,下载接口包含的线有:TXD、RXD、+5V、GND这四条线。

本系统的电源可由下载器或外部电源提供,连接到外部电源的接口是3.5MM的电源母接口,至于由哪一路提供电源,可通过双刀双掷的锁定开关来进行选择。

指示灯电路是LED电路。

3.超声波发送电路由单片机产生40KHz的矩形波,送至非门驱动电路发送超声波,本系统超声波发送电路是采用74HC04的非门驱动电路,采用两个非门并联使用,以增加该发射电路的功率,而超声波发射器两引脚都接1K的上拉电阻,进一步增大了改电路的功率。

4.超声波接收电路本系统超声波接收电路选用了SONY公司的专用集成前置放大器CX20106,该芯片接收超声波能达到了比较好的效果。

超声波接收器接收到超声波信号经CX20106的前置放大器、限幅放大器、带通滤波器、检波器、积分器、整型电路从芯片的7号脚产生下降沿去触发单片机的外部中断,单片机接收到中断后做相应的处理和计算、显示。

5.其他电路本测距仪除了测距功能外,还可以扩展基于DS1302时钟芯片的日期、星期、时间显示、DS18B20温度显示、24C256数据存储显示的功能。

由于STC11F04E单片机只有4K的内存,所以以上这三个功能只能写在另一个程序中,未能组合在本测距仪的程序中。

三.超声波测距仪功能介绍1.测量范围:3CM~100CM。

小于3CM是超声波的测量盲区,大于100CM时测量的距离跳动大,且不够稳定,这是由硬件电路所决定的。

2.测量误差:小于1CM。

超声波测距仪在某段距离内测量值等于真实值,当距离小于该段距离时,测量值比真实值小,当距离大于该段距离时,测量值比真实值大,故本测距仪根据实际差值,在软件中采用人工修正距离的方式来减小测量误差。

虽然本系统还有测温功能,但不同温度下的人工修正值都不同,如果系统采用温度补偿,这每个温度刻度都需要一组人工修正值,这样工作量将无比庞大,故本系统未采用温度补偿来计算距离。

3.报警方式:LED闪烁提示。

LED是5110LCD的四个背光灯,报警距离默认值为15CM,可通过按键设定,(正对着LCD,从左到右,四个按键的功能分别是:确定、调整/调位、加一、减一),当按“调整/调位”键后,LCD将如右图显示,图中最下面的一行显示的汉字是对应每个按键功能的简称,此时可通过按键调整报警距离,此时按键要长按1S以上才有效。

当测得的距离等于、小于设定的报警值时,LED闪烁,距离越小,闪烁的频率越高。

4.其它功能1:超出量程报警。

该超声波测距仪最大量程为100CM,当超出量程时,背光LED也会闪烁,超出量程越多,闪得越慢。

5. 其它功能2:本测距仪最小测距为3CM,当距离小于、等于10CM时,文字提示“距进入盲区:X-3CM”X为测得的距离,且LED闪烁提示。

6. 其它功能3:当距离大于、等于90CM时,文字提示“距超出量程100-XCM”X为测得的距离。

四.超声波测距仪图片开机显示1 开机显示2开机显示3 开机显示4俯视图侧视图取下LCD的俯视图底视图正常测距正常测距扩展功能1:将进入盲区提示扩展功能2:将超出量程提示五.实训心得本次单片机实训的内容是制作一个超声波测距仪,超声波测试仪虽然网上资料很多,典型电路也多得很,一些看似简单的电路其实做出来一点都不简单,本测距仪的电路看似简单,但在做的过程中遇到的问题可不少。

通过本次单片机实训,我深深地感受到一个看似简单的作品也许不屑一顾,但再简单的东西部做出来,是不知道它的“简单”的。

首先,本测距仪的电路时现成的,所以,测试仪原理部分是没有什么问题的。

画PCB主要要注意的是元件的封装问题,只要封装正确,硬件基本上没什么问题了。

由于5110LCD的显示驱动以前就写好了,现在直接调用就行了,显示部分没什么大问题。

难点主要在程序的调试上,刚开始时,我用定时器产生38KHz~42KHz 的超声波发射出去,但在CX20106的7号引脚怎么都接收不到下降沿触发中断熄灭LCD的背光,开始以为,没有发射出去,但用示波器检测了发送38KHz~42KHz的超声波都接收不到,怀疑过超声波的收发器有问题、74HC04坏了、CX20106坏了等,连续折腾了好几天,先换超声波收发器,再换74HC04 最后换CX20106,才发现是CX20106坏了。

换上好的CX20106后采用中断检测下降沿熄灭LCD背光的方法还是不行,最后写了测距显示的程序才勉强收到信号,连续几天的折腾终于看到了希望。

超声波是能接收到了,但是不准确,于是,不断调试,用过分10次测距100次距离,然后去掉一些最大值和最小值来求平均值的方法来提高精度,用过温度补偿的方式来测距,但效果都不是很理想,不是偏大就是偏小……最后还是采用测一次显示一次的方式来测距,测距仪不断地测距不断的显示,屏幕显示的数据在不断的刷新,由于不断测距显示中正确的距离占大多数,可能10次中才有一两次是错误的数据,因此显示的数据是显示中相同的或相近的数据,即显示的是正确的距离数据。

由于本测距仪在某段距离内测得的距离是正确的,其它的误差很大,所以,根据实际情况在程序中采用人工修正距离的方式去进一步提高测量精度。

测距显示正确后,其它的LED报警、按键设定报警距离这些都能迎刃而解了,但是,想不到的是,程序太大了!即使把汉字显示数组存储在24C256中,4K的存储空间还是太小了。

本来要加的时间、温度显示等扩展功能只能舍弃,用了另外一个程序专门实现。

通过这次制作超声波测距仪的实训,我学到了很多很多。

当然该作品还有很多不足之处,我会进一步去完善。

六.程序设计简介本测距仪的显示部分是NOKIA 5110 LCD,由于该液晶是48行84列的无字库的点阵液晶,所以要自己用软件生成字库,生成的字库通过另外的程序存储在24C256中(24C256的驱动程序要自己写,这涉及IIC通信和24C256的读、连续读和写、页写);由于买来的5110LCD没有驱动程序,还是要自己写驱动程序,写的驱动有16乘16汉字显示、8乘16数字、符号显示、48乘84图形显示等。

单片机产生约40KHz的超声波波发射出去,定时器开始计时,等待外部中断则停止定时器计数,所计的时间的一半乘以相应的速度,即可计算出距离,把距离分离出百位、十位、个位,然后调用5110LCD驱动显示。

主程序一开始就进行初始化设置,然后显示预设的图案文字等。

然后进入大循环不断判断标志位的值,该标志位的值通过按键控制,标志位的值不同,显示状态会相应改变,开始默认为正常测距状态,该状态下不断测距显示,还对距离和设定的报警值进行比较,当达到指定的条件时,则会采取相应的措施,如报警、显示“距进入盲区:X CM”等。

还有一个是报警调整状态,进入该状态后,即启动按键扫描程序和执行调整显示程序,可通过按键设置报警距离。

七.超声波测距仪部分程序/************************************//*公司名称:广交电协*//*模块名:基于STC11F04E单片机超声波测距仪*//*功能描述:测距显示“距前方距离:***cm”,无温度补偿。

带图形显示、文字提示报警显示等*//*硬件:STC11F04E单片机超声波模块*//*编程:邓志晓*//*时间:2011/06/09*//*版本:V1.0*//************************************/#include < intrins.h >#include"reg52.h"#include"5110_display.h"#define uint unsigned int#define uchar unsigned charsbit fasong = P3^4;//超声波发送端sbit js = P3^2;//超声波接收sbit black_led = P1^7;//液晶背光灯sbit jian = P3^0;//减一键sbit jia = P3^1;//加一键sbit wei = P3^3;//位控、调整键sbit que = P3^5;//确定键bit flag; //外部中断(测距计时的)接受标志bit flag1; //定时器中断标志bit flag2; //报警距离调整状态/正常显示状态标志int time; //超声波测距时间long float juli; //距离uint a;uint th1; //储存定时器1高八位uint tl1; //储存定时器1低八位uchar bai,shi,ge;//距离的百、十、个位char data baojing;//报警距离char baoshi,baoge;//报警距离的个位和十位uchar shan;//报警位闪烁控制/***********************************函数名:delay*功能描述:延时**********************************/void delay(uint z) //延时{uint a;uint b;for (a=z; a>0; a--)for (b=80; b>0; b--);}/***********************************函数名:init*功能描述:初始化函数**********************************/void init( void ) //初始化函数{TMOD = 0x11; //设置定时器1为十六进制计时工作方式ET0 = 1; //允许定时器0中断fasong = 0; //无发射EX0 = 0; //关外部中断0;IT0 = 1; //设置外部中断0工作为下降沿触发模式EX1 = 1; //开外部中断1;IT1 = 1; //设置外部中断1工作为下降沿触发模式PX1 = 1; //(外部中断0)接收优先EA = 1; //开总中断flag2=1;//正常显示状态shan=1;baojing=15;//默认报警距离是15CMblack_led=1;//点亮LCD背光}/***********************************函数名:ceju*功能描述:发送超声波**********************************/void ceju(void){uchar e;flag = 0; //清零标志flag1 = 0; //清零标志TH1 = 0x00;TL1 = 0x00; //装初值,从零开始计时TR1 = 0; //关闭定时器1EX0 = 0; //关外部中断for(e = 5; e>0; e--) //发送两40k个波{_nop_();_nop_();_nop_();fasong = 1;_nop_();_nop_();_nop_();_nop_();fasong = 0;_nop_();_nop_();}TR1 = 1; //开始计时delay(1); //避忙延时1.5ms IE0 = 0; //清除中断标志位EX0 = 1; //开外部中断;while( flag==0 && flag1==0 ); //等待中断}/***********************************函数名:xiuzheng*功能描述:测得的数据有误差,人为修正、显示距离**********************************/void xiuzheng(void){if(a<3)//1至2CM 测=真+3CM{a=0;}else if(3<=a&&a<=9)//3至9CM 测=真+2CM{a=a-2;}else if(10<=a&&a<=18)//10至18CM 测=真+1CM{a=a-1;}//19至33CM 测=真else if(34<=a&&a<=49)//34至49CM 测=真-1CM{a=a+1;}else if(50<=a&&a<=64)//50至64CM 测=真-2CM{a=a+2;}else if(65<=a&&a<=80)//65至80CM 测=真-3CM{a=a+3;}else if(81<=a&&a<=100)//81至100CM 测=真-4CM{a=a+4;}}/***********************************函数名:Key*功能描述:按键扫描**********************************/void Key(void){if(que==0)//确定键按下{delay(10);//消抖if(que==0){while(!que);delay(10);//消抖while(!que);//等待松手shan=1;//下次进入调整状态仍在十位闪烁flag2=1;//正常显示状态标志clear_LCD();//清屏display_hanzi();//显示“到前方距离:cm”}}if(wei==0)//调位键按下{delay(10);//消抖if(wei==0){while(!wei);delay(10);//消抖while(!wei);//等待松手shan++;if(shan==3){shan=1;}}}if(jia==0)//加一键按下{delay(10);//消抖if(jia==0){while(!jia);delay(10);//消抖while(!jia);//等待松手if(shan==1)//十位闪烁{baoshi++;//十位加一if(baoshi==10){baoshi=0;}}else//个位闪烁{baoge++;//个位加一if(baoge==10){baoge=0;}}}}if(jian==0)//减一键按下{delay(10);//消抖if(jian==0){while(!jian);delay(10);//消抖while(!jian);//等待松手if(shan==1)//十位闪烁{baoshi--;//十位减一if(baoshi<0){baoshi=9;}}else//个位闪烁{baoge--;//个位减一if(baoge<0){baoge=9;}}}}baojing=baoshi*10+baoge;//存储报警距离}/***********************************函数名:chuli*功能描述:分离距离的百十个位,显示距离**********************************/void chuli(void){uchar i;EA = 0; //防干扰a = juli; //转换类型xiuzheng();if(a>=3&&a<=10)//3~10CM 显示汉字“距进入盲区:a-3cm”{display_hanzi1(a-3);}else if(a<3||a>10&&a<90||a>100)//小于3CM或大于100CM或在10~90CM之间清屏“距进入盲区:a-3 cm”{for(i=7;i<11;i++)//清屏{Clear_date8and16(2,i);}for(i=1;i<11;i++){Clear_date8and16(3,i);}}else if(a>=91&&a<=100)//91~100CM 显示汉字“距超出量程:100-a cm”{display_hanzi2(100-a);}bai = a % 1000 / 100; // 分离百位shi = a % 1000% 100/10 ; // 分离十位ge = a % 1000 % 100%10; // 分离个位display_juli(bai,shi,ge);//显示测得的数据bai shi ge (cm)EA = 1;}/***********************************函数名:main*功能描述:主函数**********************************/void main(){uint i;init();//主程序初始化Init_5110LCD();//初始化5110display_tuxing();//显示图形DC 艺术字“邓志晓”QQ:************ 小志工作室荣誉出品!clear_LCD();//清屏display_hanzi();//显示“到前方距离:cm”while(1){if(flag2==1)//正常显示{ceju ();//测距chuli();//分离数据显示if(a<=baojing||a>100&&a<300) //距离小于baojingCM或大于100CM时熄灭LCD 背光以不同频率闪烁{black_led=~black_led;//LCD背光闪烁if(a<=baojing)//小于报警距离后,距离越小闪得越快{for(i=a;i>0;i--){chuli();//分离数据显示//当延时用}}else if(a>100)//超出量程越近闪得越快{for(i=a-100;i>0;i--){chuli();//分离数据显示//当延时用}}}else{black_led = 1;//点亮LCD背光}}else if(flag2==0)//报警距离调整状态{black_led = 1;//点亮LCD背光display_hanzi3(baoshi,baoge,shan);//显示“报警距离: baoshi baoge cm 确位加减”for(i=9000;i>0;i--){Key();//按键扫描当延时用}}}}/***********************************函数名:timer1*功能描述:超声波测距**********************************/void timer1(void) interrupt 3{TR1 = 0; //停止T1计数EX0 = 0; //关接收中断juli = 0;flag1 = 1; //置定时标志位(表定时到)}/***********************************函数名:IntX0*功能描述:超声波接收(外部中断计时)**********************************/void IntX0 (void) interrupt 0 //外部中断函数{TR1 = 0; //停止T1计数EX0 = 0; //关接收中断th1 = TH1; //把计数值放在th1,tl1tl1 = TL1;time = th1*255 + tl1; //time的单位是us,time是超声波往返的时间juli = 0.0175 * time; //单位厘米(340M/s=0.00034m/US=0.034cm/us)time = 0; //清零寄存器flag = 1; //置接收标志位(表接收到)}/***********************************函数名:zhongduan1*功能描述:进入调整报警距离状态**********************************/void zhongduan1 (void) interrupt 2 //外部中断1函数{flag2=0;//进入调整报警距离状态baoshi=baojing/10;//报警距离的十位baoge=baojing%10;//报警距离的个位}。

相关文档
最新文档