1、本科毕业论文(20 届)基于单片机的超声波测距系统的设计与实现所在学院专业班级 电子信息工程学生姓名指导教师完成日期目录摘 要 .1ABSTRACT .2前 言 .3第一章 绪 论 .4第 1.1 节 课题背景 .4第 1.2 节 国内外研究现状 .4第 2 章 系统总体方案设计 .5第 2.1 节 系统基本要求 .5第 2.2 节 硬件系统设计方案 .5第 2.3 节 软件系统设计方案 .5第 3 章 系统硬件设计 .7第 3.1 节 单片机系统的设计 .7第 3.2 节 超声波模块 .8第 3.3 节 显示模块电路 .10第 3.4 节 报警电路 .10第 3.5 节 温度传感器 .11第
2、 3.6 节 电路总设计 .12第 4 章 系统软件设计 .13第 4.1 节 程序的总体设计 .13第 4.2 节 主程序设计 .13第 4.3 节 超声波发送接收子程序的设计 .14第 4.4 节 温度传感器采集子程序的设计 .15第 4.5 节 LCD 显示子程序设计 .19第 5 章 系统调试与分析 .22第 5.1 节 硬件调试 .22第 5.2 节 软件调试 .22第 5.3 节 环境模拟及系统调试 .22第 5.4 节 调试故障及原因分析 .24第 5.5 节 测试结果及其分析 .24参考文献致谢附录:部分源程序1摘 要随着传感器和单片机控制技术的不断发展,在我们日常生活中,超声
3、波探测已经应用在我们生活的方方面面。在本设计介绍了关于如何使用单片机 AT89S52 控制 HC-SR04 超声波模块并且在LCD1602 上显示测量的数据,通过温度传感器 DS18B20 测温,数据处理后消除温度对测量的影响,提高探测距离的精确度。超声波模块中的压电晶片进行测距,由超声波的压电传感器进行电信号和声信号的互换,从而实现超声波测距的功能,设置报警距离,当小于 30cm 时,蜂鸣器开始工作,发出声音,从而实现倒车雷达的功能。关键词:单片机,HC-SR04,测距2ABSTRACTWith the continuous development of sensor and MCU con
4、trol technology in our daily lives, the ultrasound probe has been used in every aspect of our lives.In this design, the accuracy of the presentation on how to use the microcontroller AT89S52 Control Module HC-SR04 ultrasonic measurement and display of data on the LCD1602, by the temperature sensor D
5、S18B20 temperature, after data processing to eliminate the effect of temperature on the measurement, to improve the detection distance. Ultrasonic piezoelectric wafer modules ranging from ultrasonic piezoelectric transducer interchangeable electrical and acoustic signals, enabling ultrasonic ranging
6、 functionality, set the alarm distance, when less than 30cm, the buzzer to work, sound, enabling reversing radar function.Keywords: SCM, HC-SR04, ranging3前 言超声波是一个广泛应用的技术。在经济发展中,超声波技术对提高质量,保障生产和设备安全运作,降低成本,提高效率具有很大的帮助。在测距这方面,超声波有着无法比拟的优势。相比红外线的光电测距,超声波的稳定性比红外线好很多,而且不受坏境因素影响,成本低廉。红外线测距范围窄,但准确度高。 超声波测
7、距范围宽,但准确度较高,能达到 12cm 的误差。 电涡流测距范围更宽,但受环境影响较大。 用于汽车倒车防撞,最佳选择是超声波。现在市面上绝大多数的都是采用超声波。超声波测距适合短距离精度要求一般的测距,利用了超声波的反射原理,超声波发生器不断地发射出40KHZ 的超声波,遇到障碍物后反射回反射波,超声波接到反射波后转化为电信号。超声波测距可以用在倒车雷达系统中,建筑工地,以及一些工业现场的位置监控,但是要求的测量距离最好在 4 米以内,因为超声波测距具有距离短这个问题的存在。现在大多倒车雷达所用的原理如下:由探头发送的超声波,遇到障碍物后,产生同波信号,传感器接收到同波信号后,测出发射超声波
8、和接收到的同波的延迟时间,计算出车体与障碍物之间的距离。衡量倒车雷达的性能指标通常有以下几个方面:一是测量精度,不仅要求倒车雷达具有较高的分辨率,而且还要有较低的测量误差;二是探测范围,好的倒车雷达探测盲区少、探测范围宽;三是响应时间,这要求倒车雷达能快速地计算出障碍物的距离,可以及时提醒驾驶员障碍物的方位和距离。本文通过 5 章内容详细的介绍了基于单片机的超声波测距系统,第一张讲述了超声波测距的背景和前景,第二章讲述了设计方案,第三章讲述了超声波测距的硬件电路,第四章则描述了超声波的软件程序,第五章是对实物进行测试总结。通过超声波测距能够使车辆产生的交通碰撞事故减少,能够让新手驾驶员安心上车
9、,让倒车变得没有那么困难,而且成本低,作用广,这是超声波测距的最大优势,即使是下雨下雪天也不会受到影响,具有很强的实用性。但是即使是有超声波测距系统的辅助还是会发生倒车事故,因为超声波没办法预知突发事件,所以即使在使用超声波的情况下,还是需要广大的驾驶员具备仔细观察的能力,不可以盲目依靠超声波,而不注意后方突然出现的车辆或者行人。总之,倒车还是要小心,低速小心才是真正的避免事故发生的办法,超声波测距只是种辅助的功能,而不能因此就大意。4第一章 绪 论第 1.1 节 课题背景随着传感器和单片机控制技术的不断发展,非接触式检测技术已被广泛应用于多个领域,典型的非接触式测距方法有超声波测距、CCD
10、探测、雷达测距、激光测距等。其中 CCD 探测具有使用方便、无需信号发射源、同时获得大量的场景信息等特点,但视觉测距需要额外的计算开销 1.雷达测距具有全天候工作,适合于恶劣的探测环境下进行短距离、高精度测距的优点 2,但容易受电磁波干扰。激光测距具有高方向性、高单色性、高亮度、测量速度快等优势,尤其是对雨雾有一定的穿透能力,抗干扰能力强,但其成本高、数据处理复杂 3。随着世界各国汽车持有量的不断增加,车辆碰撞也就变得越发频繁,特别是在高速公路和小道路上与日俱增。第 1.2 节 国内外研究现状目前市场上普通的超声波测距系统,一般采用发射单超声脉冲的方法,这种方法在测距精度和可靠性等方面的研究已
11、较成熟。但是当它采用较高频率超声波时,会因空气吸收而较快衰减,导致有效测量距离降低;在通过降低频率以增大测距范围时,测距的绝对误差又会增大。因而该方法存在测量分辨力和有效作用距离的矛盾,极大制约了超声波传感器应用领域的拓宽。近年来,如何合理选择超声发射脉冲,可以使超声波测距系统在提高有效作用距离的同时,相应提高测量精度与抗干扰能力,成为超声波测距技术的又一个重要研究方向。针对此点,程晓畅借鉴雷达信号处理中的脉冲压缩技术,率先提出通过选用伪随机二进制序列作为超声发射脉冲压缩信号,并在接收端对回波进行处理,从而获得窄脉冲的方法 6。杜晓等则兼顾测距范围和精度,提出通过采用 40kHz 与 20kH
12、z 两种超声波同时测距的双频超声测距方法 7。脉冲压缩技术与双频超声测距技术在超声测距中的应用,在一定程度上使超声波测距系统同时具备了窄脉冲的高分辨力和宽脉冲的强检测力,但仍旧不能满足高精度要求的测量。自动泊车系统是超声波测距的一个应用在未来会大范围的应用在家用汽车上,它的主要原理是在汽车的周围装上超声波探测仪,通过回波的数据,运用车载电脑计算出停车的角度以及速度来控制汽车,所以超声波测距的未来主要是在家用车上的配置方面能够大展拳脚。5第 2 章 系统总体方案设计第 2.1 节 系统基本要求运用单片机控制超声波模块超声超声波,通过温度传感器 DS18B20 对超声波声速进行修正,再由单片机计算
13、出距离。在超声波模块 HC-SR04 的测量下,测量范围可达2cm400cm ,测量的精确度可达 1cm。第 2.2 节 硬件系统设计方案这个电路的组成由 AT89S52,超声波模块 HC-SR04,温度检测模块 DS18B20,蜂鸣器,报警灯,晶振,LCD1602 以及若干个电阻、电容和按键构成。其工作流程可参考图2. 1。 L C D 显示模块温度传感器模块蜂鸣器报警模块A T 8 9 S 5 2驱动电路信号放大 , 脉冲整形 , 带通滤波发射模块接收模块图 2.1 系统设计原理第 2.3 节 软件系统设计方案在软件程序中首先定义各个引脚对应的位寻址空间,对系统进行初始化,利用定时器和中断
14、控制超声波的工作,温度传感器的工作则通过读取的温度再通过单片机的转换工作使数据进行以下处理:前五位为 0 时,说明温度系数为正数,只需要将测得的数乘以 0.0625 就可以得到实际的温度值;当前五位为数值 1 时,说明测得的温度系数为负数,需要将测得的数值取相反数加 1 再乘以 0.0625 才可以得到实际的温度值。单片机在为超声波超声波模块进行距离测量时加入队超声波的温度补偿,这样子可以更加准确的测量出距离,减小超声波因外界干扰而造成的误差。6系统初始化程序开始超声波发射程序延时程序是否有回波温度检测程序计算距离程序显示程序是否大于设定值报警程序NYNN图 2.2 软件系统设计流程7第 3
15、章 系统硬件设计第 3.1 节 单片机系统的设计本设计采用 51 系列单片机的 AT89S52,该芯片是整个设计的核心,他控制了温度的采集、处理与显示,超声波模块的启动以及数据的处理,还对超声波测距进行了温度的补偿。P0.0P0.7 链接 LCD 的 714 引脚,控制 LCD 的显示,P1.0P1.1 送命令到 LCD 控制LCD 的显示方式。P2.7 为 DS18B20 温度数据采集端。P1.2P1.4 接测量按键。XTAL1、XTAL2:系统时钟的反相放大器输入端、输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,在本设计中接入的晶振为 12
16、MHz。在放大器的输入端和输出端串联两个 30PF 的小电容,用来一起构成自激振荡器并产生振荡时钟脉冲能够提供单片机的时钟信号,使系统更稳定,避免噪声干扰而死机。P0 口有三个功能: 1、外部扩展存储器时,当做数据总线,如图 3.1 中的 D0D7 为数据总线接口; 2、外部扩展存储器时,当作地址总线,如图 3.1 中的 A0A7 为地址总线接口;3、不扩展时,由于 P 内部不具有上拉电阻,所以要加上上拉电阻才可以把 P0 当做普通的 I/O 口,加大了 P0 口的驱动能力。P0 内部无上拉电阻是为了通过外接上拉电阻实现更大驱动。P1:端口 1 是输入输出双向 I/O 端口,若将端口 1 的输
17、出设为高电平,就是设定端口来输入数据。在作为 I/O 的输入输出时,P1 口在程序中提供低 8 位地址/ 数据复用。P2:端口 2 在应用中提供高八位地址,若将端口 2 的输出电平为高电平时即为输入。用于寻址是 P2 口为输出口。在这个设计中 P2 口是作为输入口, P2.7 连接的温度传感器的输出端,对输出的温度传输到单片机中计算。P2.5 连接的超声波回响信号的输出,可以通过回响信号的时间来计算距离。P3:端口 3 也是具有输入输出功能的双向端口,同时还兼具的 AT89S52 的特殊功能。在不使用它的特殊功能是就作为普通的双向 I/O 端口。在这个设计中使用了 P3 口的特殊功能,P3.2 来连接超声波的触发信号输入端,通过中断来控制超声波模块,发一个 10US以上的高电平触发使超声波工作。RST: 在 设 计 中 连 接 了 复 位 按 钮 , 当 按 复 位 按 钮 时 , 界 面 恢 复 初 始 状 态 。