超声波测距仪单片机课设实验报告
基于stm32单片机的超声波测距仪设计报告
基于stm32单片机的超声波测距仪设计报告【文章标题】基于STM32单片机的超声波测距仪设计报告【引言】超声波测距是一种常见且有效的测量方法,被广泛应用于工业控制、自动化、智能家居等领域。
本文将深入讨论基于STM32单片机的超声波测距仪的设计原理、硬件搭建和软件编程,并分享对该设计的观点和理解。
【简介】1. 超声波测距原理简介(可使用子标题,如1.1)- 超声波的特性与应用- 超声波传感器原理及工作方式2. 设计方案(可使用子标题,如2.1)- 系统框图:硬件模块与连接方式- 所需材料清单及器件参数选择【正文】1. 超声波传感器的选型与特性比较(可使用子标题,如1.1)1.1 超声波传感器的种类与特点1.2 STM32单片机与超声波传感器的配合选择理由与原则2. 硬件电路设计与搭建(可使用子标题,如2.1)2.1 超声波发射电路设计与实现2.2 超声波接收电路设计与实现2.3 STM32单片机与超声波传感器的连接方法及引脚映射3. 软件编程实现(可使用子标题,如3.1)3.1 STM32单片机开发环境配置与准备3.2 程序框架和流程设计3.3 超声波信号处理与距离计算算法【总结】1. 设计成果总结与优缺点评价- 设计成果与功能实现总结- 设计过程中的挑战与解决方案- 设计的优点与改进空间2. 对基于STM32单片机的超声波测距仪设计的观点和理解- 本设计在硬件搭建和软件编程方面充分利用了STM32单片机的性能与功能- 超声波测距仪在工业自动化和智能家居等领域具有广阔应用前景 - 未来可以进一步提升设计的灵活性和可扩展性【参考资料】- 张三: 《超声波测距原理与应用技术》,出版社,2018年- 李四: 《STM32单片机与嵌入式系统设计》,出版社,2019年以上是本文基于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单片机的超声波测距仪达到了预期的效果。
能够精确测量目标与测距仪之间的距离,并显示在相关的显示设备上。
基于单片机的超声波测距课程设计报告
基于单片机的超声波测距课程设计报告课程设计说明书题目:超声波测距院(系):电子工程与自动化专业:学生姓名:学号:指导教师:年 11 月 7 日目录一、绪论二、对本课程的设计分析2.1 总体设计方案介绍2.1.1 超声波测距原理2.1.2 超声波测距原理框图2.2 系统硬件设计方案2.2.1 51系列单片机的功能特点及测距原理2.2.1.1 51系列单片机的功能特点2.2.1.2 单片机实现测距原理三、主要电路模块的实现方案比较及选择3.1 超声波发射电路3.2 超声波检测接收电路3.3 超声波测距系统的硬件电路设计3.4 系统电路图及其PCB图四、系统的软件设计4.1 主程序流程图4.2超声波发射子程序和超声波接收中断程序五、测试数据以及结论六、课程设计过程中遇到的主要问题以及解决办法七、心得体会一、绪论随着社会的发展,人们对距离或长度测量的要求越来越高。
超声波测距由于其能进行非接触测量和相对较高的精度,越来越受到人们的重视。
超声波测距离的一个最重要的功能就是作用于倒车系统上。
要实现倒车系统的准确精度,就得把超声波和单片机相结合,利用单片机的控制系统和精确的运算使超声波测距离更加快速和精确。
从而,减少事故的发生。
经过该实验学习利用单片机和超声波探测元件测试距离的基本方法,进一步熟悉单片机定时器技术、中断技术在数据采集和数据处理过程中的综合运用方法,提高综合应用程序的编程方法与技巧。
发射器发出的40KHz超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
报告内容包括:单片机控制主程序、中断子程序、延时子程序和超声波发射、接收电路、数码管驱动显示电路以及主电路。
二、对本课程设计的分析2.1总体设计方案介绍2.1.1超声波测距原理发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
超声波雷达测距实训报告
一、实训目的本次实训旨在通过实际操作,了解超声波雷达测距的原理和实现方法,掌握超声波传感器的基本使用技巧,并学会利用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. 误差分析:- 超声波在空气中的传播速度受温度、湿度等因素的影响,导致测距误差。
- 超声波传感器的响应时间存在一定的延迟,也会导致测距误差。
基于51单片机的超声波测距仪课程设计报告
毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4. 本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
实训报告超声波测距仪
一、实训目的本次实训旨在通过实际操作,掌握超声波测距仪的设计、制作和调试方法,了解超声波测距的原理和特点,提高动手能力和创新思维。
二、实训内容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电阻接地即可。
课程设计实验报告-超声波测距仪的设计
超声波测距仪的设计一、设计目的本设计利用超声波传输中距离与时间的关系,采用STC51单片机进行控制和数据处理,设计出能够精确测量两点间距离的超声波测距仪。
同时了解单片机各脚的功能,工作方式,计数/定时,I/O口的相关原理,并稳固学习单片机的相关内容知识。
二、设计要求1.设计一个超声波测距仪,能够用四段数码管准确显示所测距离2.精度小于1CM,测量距离大于200CM三、设计器材元器件数量STC51单片机 1个超声波测距模块URF-04 1个电阻〔1K 200 4.7K〕 3 个晶振〔12MHz〕 1 个共阳极四位数码管 1 个极性电容〔33pF〕 2 个非极性电容〔22uF〕 1 个四、超声波测距系统原理331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以到达毫米级。
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米〔15℃时〕。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,那么有340m×0.03S=10.2m。
由于在这10.2m 的时间里,超声波发出到遇到返射物返回的距离如下:图1 测距原理超声波测距器的系统框图如下列图所示:图2 系统框图五、设计方案及分析〔包含设计电路图〕4.1硬件电路设计4.1.1 单片机最小系统控制模块设计与比拟方案二:采用STC51单片机控制。
STC51单片机是一种低功耗、高性能CMOS8位微控制器,具有 8KB的系统可编程Flash 存储器。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路,能够满足题目设计的所有要求,而且我们对STC51单片机也比拟熟悉,因此我们选择方案二。
最小系统电路图如图3所示图3 单片机最小系统显示模块设计采用四位共阳极数码管显示,连接电路简单,显示电路连接图如图4所示图4 数码管显示电路超声波测距模块a.本系统采用超声波模块URF04进行测距,该模块使用直流5V供电,理想条件下测距可达500cm,广泛应用于超声波测距领域,模块性能稳定,测度距离精确,盲区〔2cm〕超近。
超声波测距仪实训报告
超声波测距仪实训报告一、实训目的本次实训的目的是通过设计和制作超声波测距仪,深入了解超声波测距的原理和应用,掌握相关的电子电路设计、焊接、调试和编程技能,提高实际动手能力和问题解决能力。
二、实训原理超声波测距的原理是利用超声波在空气中的传播速度和往返时间来计算距离。
超声波发生器发射出一定频率的超声波,当遇到障碍物时会反射回来,被超声波接收器接收。
通过测量发射和接收的时间差,再根据超声波在空气中的传播速度(约 340 米/秒),就可以计算出障碍物与测距仪之间的距离。
计算公式为:距离=(传播速度 ×时间差)/ 2三、实训设备和材料1、超声波传感器模块(HCSR04)2、单片机开发板(如 STM32、Arduino 等)3、面包板、杜邦线4、电阻、电容等电子元件5、示波器、万用表6、电脑及编程软件四、实训步骤1、硬件电路设计将超声波传感器模块与单片机开发板连接,根据模块的引脚定义和开发板的接口,使用杜邦线进行连接。
连接电源和地,确保电路的供电正常。
2、软件编程选择相应的编程环境,如 Arduino IDE 或 Keil 等。
编写控制程序,实现超声波的发射和接收,并计算距离。
通过串口将测量的距离数据发送到电脑上进行显示。
3、电路焊接与调试如果需要制作永久性的电路,可以将元器件焊接在电路板上。
使用示波器和万用表检查电路的工作状态,确保信号的正常传输。
4、系统测试将制作好的超声波测距仪放置在不同的距离处,测量并记录数据。
分析测量结果的准确性和稳定性,对系统进行优化和改进。
五、遇到的问题及解决方法1、信号干扰在实际测量中,发现测量结果有时会出现较大的误差,经过检查发现是由于周围环境中的电磁干扰导致的。
解决方法是增加滤波电容,提高电路的抗干扰能力。
2、测量范围有限超声波测距仪的测量范围受到传感器性能和环境因素的影响。
为了扩大测量范围,尝试调整发射功率和接收灵敏度,但效果不明显。
最终通过更换性能更好的超声波传感器模块解决了问题。
超声波测距仪单片机课设实验报告总结计划学习材料.doc
微机原理与单片机系统课程设计评语:考勤 10 分守纪10分过程30分设计报告30分答辩20分总成绩(100分)专业:轨道交通信号与控制班级:交控 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设计方案及原理2.1 超声波测距模块设计HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm。
模块包括超声波发射器、接收器与控制电路。
基于单片机的超声波测距系统实验报告
基于单片机的超声波测距系统实验报告一、引言超声波测距系统是一种基于超声波工作原理的测距技术,主要通过发送超声波信号并检测回波信号来测量目标物体与传感器之间的距离。
本实验旨在通过使用单片机搭建一个基于超声波的测距系统,通过实际测量和数据分析来验证其测距的准确性和可靠性。
二、原理超声波测距系统主要包括超声波发射器、超声波接收器和单片机控制系统三部分。
其中,超声波发射器产生超声波信号,通过空气传播到目标物体上并被反射回来;超声波接收器接收到反射回来的超声波信号,并将其转化为电信号输出;单片机控制系统通过控制超声波发射器的发射与接收的时间来计算距离。
三、实验步骤1.搭建硬件连接:将超声波发射器和接收器分别连接到单片机的GPIO引脚,并通过电阻和电容进行滤波处理。
2.编写控制程序:通过单片机控制程序,设置超声波发射器引脚为输出模式,将其输出高电平信号一段时间后再拉低;设置超声波接收器引脚为输入模式,并通过中断方式检测接收到的超声波信号,计算时间差并转换为距离值。
3.进行实际测量:将超声波发射器和接收器对准目标物体,启动测量程序并记录距离值。
4.多次实验并计算平均值:为了提高测距的准确性,进行多次实验并计算多次测量结果的平均值。
四、实验结果和讨论通过多次实验测量,我们得到了如下结果:测量1距离为30cm,测量2距离为31cm,测量3距离为29cm。
将这些结果进行平均,得到最终距离结果为30cm。
通过与实际测量的距离进行对比,我们发现测量结果基本与实际距离相符,误差控制在可接受范围内。
这表明我们搭建的基于超声波的测距系统具有较好的测距准确性和可靠性。
然而,我们也发现在一些特殊情况下,例如目标物体表面有较强的吸收或反射能力时,测量结果可能会出现误差。
这是因为超声波在传播过程中会受到传播介质和目标物体的影响,从而引发信号衰减或多次反射等现象。
在实际应用中,我们需要根据具体情况进行系统的优化和调整,以提高测距的精确度。
基于单片机的超声波测距系统实验报告
基于单片机得超声波测距系统实验报告一、实验目得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. 超声波测距原理超声波测距原理基于声波在介质中传播的速度和距离的关系。
当超声波发射器发出超声波信号后,遇到障碍物会发生反射,反射信号被接收器接收。
根据超声波发射和接收的时间差,可以计算出障碍物与传感器的距离。
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 设计方案及原理2.1超声波测距模块设计HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。
模块包括超声波发射器、接收器与控制电路。
当提供一个10uS以上正脉冲触发信号,该模块部将发出8个40kHz周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
超声波测距仪单片机课设实验报告
微机本理与单片机系统课程安排之阳早格格创做博业:轨讲接通旗号与统制班级:接控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。
基于stm32单片机的超声波测距仪设计报告
基于stm32单片机的超声波测距仪设计报告一、设计背景超声波测距仪是一种常见的测距设备,它利用超声波的特性进行测距。
在实际应用中,超声波测距仪被广泛应用于机器人、智能家居、车辆安全等领域。
本次设计的超声波测距仪基于stm32单片机,旨在实现简单、高效、精确的测距功能。
二、设计原理超声波测距仪的测距原理是利用超声波在空气中传播的速度和时间差来计算距离。
具体来说,超声波发射器向目标物体发射超声波,当超声波遇到目标物体时,会被反射回来,接收器接收到反射回来的超声波,并计算出超声波发射和接收的时间差,根据时间差和超声波在空气中传播的速度,就可以计算出目标物体与超声波测距仪之间的距离。
三、硬件设计本次设计的硬件主要包括超声波发射器、超声波接收器、stm32单片机、LCD显示屏和按键。
其中,超声波发射器和接收器采用HC-SR04模块,stm32单片机采用STM32F103C8T6,LCD显示屏采用1602A型号,按键采用矩阵按键。
超声波发射器和接收器的工作电压均为5V,超声波发射器发射的超声波频率为40kHz,超声波接收器接收到超声波后,会输出一个高电平信号,输出信号的持续时间与超声波发射和接收的时间差成正比。
stm32单片机通过GPIO口控制超声波发射器的工作,同时通过外部中断接收超声波接收器的输出信号,并计算出时间差。
LCD显示屏用于显示测距结果,矩阵按键用于控制测距仪的工作模式。
四、软件设计本次设计的软件主要包括超声波发射和接收控制程序、测距计算程序、LCD显示程序和按键控制程序。
超声波发射和接收控制程序通过GPIO口控制超声波发射器的工作,并通过外部中断接收超声波接收器的输出信号。
测距计算程序根据超声波发射和接收的时间差计算出距离,并将结果保存在变量中。
LCD显示程序用于显示测距结果,按键控制程序用于控制测距仪的工作模式。
五、实验结果经过实验,本次设计的超声波测距仪能够准确地测量目标物体与测距仪之间的距离,并将结果显示在LCD屏幕上。
基于单片机的超声波测距系统实验报告
基于单片机得超声波测距系统实验报告一、实验目得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. 选定硬件平台本次实习选用AT89C51单片机作为控制核心,配合超声波发射接收模块、信号处理电路、显示电路等构成超声波测距系统。
3. 设计硬件电路根据超声波测距原理,设计超声波发射接收模块、信号处理电路、环境温度检测电路等。
其中,超声波发射接收模块负责发射超声波并接收反射波;信号处理电路对接收到的信号进行放大、滤波等处理,以便单片机能够准确地捕捉到信号;环境温度检测电路用于补偿超声波传播速度受温度影响产生的误差。
4. 编写程序代码利用C语言编写程序代码,实现单片机对超声波发射接收模块的控制、信号处理以及距离计算等功能。
程序主要包括以下几个部分:(1)初始化单片机,配置IO口、定时器等;(2)控制超声波发射接收模块发射超声波,并等待接收反射波;(3)对接收到的信号进行处理,提取有效信号;(4)计算反射波与发射波之间的时间差,并根据超声波传播速度计算距离;(5)将计算得到的距离显示在LCD屏幕上。
5. 系统调试与优化通过反复实验,对超声波测距系统进行调试和优化,提高测距精度和稳定性。
主要针对以下几个方面进行调整:(1)调整超声波发射接收模块的灵敏度,以适应不同距离的测量;(2)优化信号处理算法,提高对噪声的抗干扰能力;(3)根据环境温度变化,调整超声波传播速度的补偿系数。
三、实习成果与分析通过本次实习,成功设计并实现了基于单片机的超声波测距系统,实现了对不同距离的准确测量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与单片机系统课程设计专业:轨道交通信号与控制班级:交控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 设计方案及原理2.1超声波测距模块设计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 设计成本及定价成本:1、HC-SR04超声波测距模块1个3.3元2、AT89C51单片机1个2.5元3、四位LED数码管1个1.5元4、晶振1个0.17元5、电路板1个0.57元6、其他开关、电阻及电容总计0.5元总计:8.54元市场平均价格:12元预计定价: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 ..。