毕业设计论文基于单片机的超声波测距系统设计.docx
- 文档编号:24013704
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:62
- 大小:3.09MB
毕业设计论文基于单片机的超声波测距系统设计.docx
《毕业设计论文基于单片机的超声波测距系统设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的超声波测距系统设计.docx(62页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于单片机的超声波测距系统设计
毕业设计(论文)
题目:
基于单片机的超声波测距系统设计
摘要
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距系统,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于液位、井深、管道长度的测量等场合。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
本文介绍了一种基于STC89C52单片机的超声波测距系统,阐述了超声波测距系统的硬件电路部分的构成、软件设计思路及工作原理。
硬件部分采用STC89C52单片机作为主控单片机,硬件电路主要由发射电路、接收电路、显示电路、报警电路等几部分组成;软件部分由主程序、显示子程序、超声波发射子程序、延迟子程序、计算子程序、报警程序等组成。
该电路具有结构简单、操作方便、精度较高、应用广泛的特点。
关键词:
超声波;测距系统;单片机
Abstract
Becauseofthestrongpointofultrasonicenergyconsumptionslow,mediumofcommunicationinthelongerdistance,thusfrequentlyusedultrasonicdistancemeasurement,suchastherangefinderandlevelmeasurementandsooncanbeachievedbyultrasound.UltrasonicRangingSystem,canbeusedincarreversing,theconstructionsiteandthelocationofsomeindustrialsitemonitoring,canalsobeusedifthelevel,depthandlengthofthepipeline,suchasmeasurementoccasions.Useofultrasonictestingisoftenmorerapid,convenientandsimpleterms,easytoachievereal-timecontrol,andmeasurementaccuracycanmeetthepracticalrequirementsofindustry.
ThepaperdescribesanultrasonicmeasuringsystembasedontheSTC89C52,itdescribedanultrasonicmeasuringsystemhardwarecircuitstructure,workingprincipleandsoftwaredesignmethods.HardwareusingSTC89C52microcontrollerasamasterMCU,thehardwarecircuitpartincludesmaintransmitter,receivercircuit,displaycircuit,warningcircuitandsoon.Thesoftwarepartincludesthemainprogram,displaysubroutine,ultrasonictransmittersubroutine,delaysubroutine,calculationsubroutineandalarmprogram.ThesystemCircuitsweresimplystructure,easytouse,highaccuracyandwideapplication.
KeyWords:
Ultrasonicwave;RangingSystem;MCU
第1章绪论
1.1测量距离的意义
准确而快速地测定任意两个空间点间的距离,对人类活动的许多方面都具有十分重要的意义。
比如在生活中,你的身高是多少?
购买的家具怎样才能要适合自己家的需求?
在生产中,如何为不同身高、胖瘦的人定制衣服?
在科技方面,倒车雷达达到所设定的距离就会报警等等,这些都需要进行测量才能够解决问题。
测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。
目前测量距离一般都采用波在介质中的传播速度和时间关系进行测量。
常用的技术主要有红外测距、激光测距和超声波测距三种。
红外测距的优点是便宜,易制,安全,缺点是精度低,距离近,方向性差。
激光测距的优点是精确,缺点是需要注意人体安全,且制作的难度较大,成本较高,而且光学系统需要保持干净,否则将影响测量。
激光测距主要运用于军事方面。
超声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量,一些工业现场的位置监控,移动机器人的研制,机器人视觉识别,倒车防撞雷达,海洋测量,物体识别等方面得到广泛的应用,也可在潮湿高温,多尘等恶劣环境下工作。
例如:
液位、厚度、管道长度等场合。
与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。
超声波具有方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远等特点。
可用于测距,测速,清洗,焊接,碎石等。
在医学,军事,工业,农业上有很多的应用。
对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。
特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也比其它方法相对要高。
1.2基于单片机的超声波测距系统
1.2.1单片机概述
单片机的全称为单片微型计算机(SingleChipMicrocomputer),又称微控制器(MicroControllerUnit,简称MCU),它是微型计算机一个很重要的分支。
将计算机的中央处理器(CPU)、存储器、各种输入/输出接口(并行I/O口、串行I/O口、定时器/计数器、中断系统、A/D转换器等)、系统时钟及系统总线等基本部件微型化并集成到一块硅片上,且这样一块芯片具有微型计算机的功能,则称为单片机微型计算机,通常称为单片机。
自1976年单片机诞生以来,世界各大半导体公司推出的单片机已有几十个系列几百种产品。
随着科学技术的发展,单片机的功能越来越强大,集成度越来越高,应用也越来越广,单片机经历了4位、8位、16位和32位四个阶段。
现在,4位单片机仅在一些功能较简单的系统中出现,市场上主流的是8位、16位和32位单片机。
单片机的特点主要有:
高集成度,体积小,高可靠性;控制功能强;低电压、低功耗,便于生产便携式产品;易扩展;优异的性能价格比。
目前,单片机的应用领域主要包括:
仪器仪表、家用电器、节能装置、机器人、工业控制、计算机网络和通信等诸多领域。
单片机的应用是不言而喻的。
1.2.2单片机的发展趋势
近年来,随着单片机在我国的推广,以其简单实用、功能强、体积小而日益广泛的被广大设计师采用,尤其在控制领域中的应用更为突出。
单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。
单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。
在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单片机的需求。
它的应用必定导致传统的控制技术从根本上发生变革。
单片机的开发应用已成为高科技和工程领域的一项重大课题。
因此,本次基于单片机的超声波测距系统的设计具有一定的实用和参考价值。
1.2.3基于单片机的超声波测距系统的优点与缺陷
现在超声波测距系统越来越注重其实用性,因此近年来单片机和超声波测距系统开始紧密结合起来。
比如说,汽车内置的倒车防撞系统,潜水艇的音波发射系统,医学器械的探伤系统等等,现在都在大量使用单片机来完成其各个任务。
这说明,现在在超声波测距方面,单片机的使用正在成为主流。
这可归结为两个原因:
一是单片机的成本低廉,对于现如今测距系统在很多领域都大量使用的形式下,单片机所节省的制作成本可以更好地用于其它方面,大大提高了社会资源的合理分配:
二是单片机系统方便快捷,现在所使用的单片机系统,绝大部分都可以实现程序的修改,因此单片机的使用使测距系统更能体现其灵活性,也使设计出的单片机系统能广泛适用于各个领域。
然而超声波测距在实际应用也有很多局限性,这都影响了超声波测距的精度。
一是超声波在空气中衰减极大,由于测量距离的不同,造成回波信号的起伏,使回波到达时间的测量产生较大的误差;二是超声波脉冲回波在接收过程中被极大地展宽,影响了测距的分辨率,尤其是对近距离的测量造成较大的影响。
其他还有一些因素,诸如环境温度、风速等也会对测量造成一定的影响,这些因素都限制了超声波测距在一些对测量精度要求较高的场合的应用。
对于现如今高速发展的科学技术和越来越智能化的社会生活来说,超声波测量技术还需要不断发展,来满足社会进步的需要。
现阶段的超声波测距还没有到达顶峰,还有很大的发展空间,而怎样实现超声波测量技术的更智能化,更实用性,是今后超声波测量技术的发展方向。
举例来说,目前,军事领域中,潜水艇的超声波测距系统还需要完善其隐蔽性等性能;勘探领域中,还需要克服地形等环境因素所造成的影响;医学领域中,如超声波探伤技术,还需要进一步提高其测量精度。
这些都是现在超声波测量技术的不完美之处,需要进一步改进。
所以超声波测距作为一种非常重要的技术在各个领域都有很大的发展空间。
1.2.4超声波测距原理
超声测距从原理上可分为共振式、脉冲反射式两种。
由于共振法的应用要求复杂。
在这里使用脉冲反射式。
这里利用的超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时。
超声波在空气中传播。
途中碰到障碍物就立即返回来。
超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为C,而根据计时器记录的测出发射和接收回波的时间差t。
就可以计算出发射点距障碍物的距离S。
即:
S=C×t/2。
声速确定后,只要测得超声波往返的时间,即可求得距离。
这就是所谓的时间差测距法。
由于超声波也是一种声波。
其声速c与温度有关。
在使用时,如果温度变化不大。
则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
1.3设计内容
此设计是以单片机为控制核心,设计一套超声波测距系统,能够实现测出该系统与被测物体之间的距离的功能。
系统包括超声波发射器、超声波接收器、单片机控制单元、显示电路、报警电路。
用单片机控制超声波的发射、接收电路以及进行数据处理,再用液晶显示屏进行数据的显示。
第2章设计方案
2.1设计的目的和要求
2.1.1设计的目的
使用单片机的控制功能和用超声波传感器实现测量距离,并实现超声波发射及其遇到障碍物发生反射形成回波信号,并根据超声波在介质中的传播速度及超声波从发射到接收到回波的时间,计算出发射点距障碍物的距离。
2.1.2设计的要求
1、单片机通过对超声波传感器和超声波距离模块的控制能够测量距离
2、将测得的距离在液晶显示器上显示出来。
2.2设计思路
首先用单片机控制超声波的发射、接收电路以及进行数据处理,再用液晶显示屏进行数据的显示。
2.2.1硬件部分
由第一章所介绍到的超声波测距原理和公式可以推出本超声波测距系统的结构必须要有超声波发射器、超声波接收器、单片机控制单元、显示电路、报警电路。
由此可画出简易的结构框图:
(如图2-1所示)
图2-1超声波测距系统结构图
✧单片机控制单元发出40kHZ的方波信号,信号传输至发射换能器,将方波信号转换为超声波信号。
✧超声波发射器由多谐振荡器和功率放大器组成,负责发射超声波信号。
✧超声波接收器由回波放大接收电路及比较电路组成,回波放大接收电路负责将返回的超声波接收并进行放大处理,比较电路负责对放大后的信号进行分析处理。
✧显示电路选择使用LED发光二极管构成的LCD液晶显示屏。
✧报警电路由一个运算放大器,一个发光二极管组成。
如果出现如距离过远或干扰过大等接收不到返回信号的情况,报警电路工作,发光二极管亮起,出现警报。
2.2.2软件部分
系统软件设计采用模块化设计,主要包括主程序设计、中断服务子程序、外部中断服务子程序、距离计算子程序、显示子程序、延时子程序和报警子程序设计等。
✧主程序是整个程序设计的核心,主要功能就是调用各个子程序进行运算,控制它们完成各自的功能。
✧中断服务子程序和延时子程序主要用于判断发射时间、接收时间和延时时间,避免超声波从发射器直接传送到接收器而引起直射波触发。
也就是说接收器接收到的不是反射波,而是直接接到发射波。
✧距离计算子程序是对传感器到目标物体之间的距离进行计算测量。
✧显示子程序是把计算后的结果显示出来。
✧报警子程序是被测量的物体超出了测距系统的测量范围进行报警。
2.3重要功能模块的选取
这里分别对一些重要的模块进行比较,择优选取。
2.3.1单片机的选用
单片机是超声波测距系统的控制核心,所以对它的选择十分重要。
超声波测距常用的单片机有AT89C51、STC89C52、AT89S52等。
首先先简单介绍一下这三款单片机。
1、AT89C51:
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器。
2、AT89S52:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash的存储器。
3、STC89C52:
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash的存储器。
三者都可以作为超声波测距系统中所用的单片机,而且从定义上讲,很难看出谁优谁劣,那么在本次设计前,通过在网上查找相关的资料,我对这三款单片机进行了比较细致的对比:
①AT89C51和AT89S52比较:
首先这两种单片机都是51架构,可以说前者是后者的一个子集
1)AT89C51:
FLASH存储器4k;RAM128;2个定时计数器;6个中断源;单dptr;无内部看门狗;编程方式不支持isp。
2)AT89S52:
FLASH存储器8k;RAM256;3个定时计数器;8个中断源;双dptr;有内部看门狗;编程方式支持isp。
比较结果:
具有ISP功能的单片机芯片,可以通过简单的下载线直接在电路板上给芯片写入或者擦除程序,并且支持在线调试,所以可以说AT89S52要比AT89C51用的更为广泛,方便。
②AT89S52和STC89C52比较:
AT89S52单片机:
8K字节程序存储空间;256字节数据存储空间;没有内带EEPROM存储空AT89S52间。
STC89C52单片机:
8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载。
这样一来结果很明显STC89C52单片机要比AT89S52单片机方便的很多。
所以本次设计采用STC89C52单片机来作为超声波测距系统的核心。
2.3.2发射器和接收器
发射器和接收器是超声波测距系统的重要工具,只有通过它才能实现测距功能,所以对于他的选取也非常重要。
以前发射器和接收器需要分开设计电路和程序,非常繁琐、麻烦。
现在专门有一种超声波模块HC-SR04,通过这个模块既可以实现发射器的功能同时还能实现接收器的功能,既方便,又简单。
这种HC-SR04超声波模块特点:
✧典型工作用电压:
5V。
✧超小静态工作电流:
小于2mA。
✧感应角度:
不大于15度。
✧探测距离:
2cm-400cm
✧高精度:
可达0.3cm。
✧盲区(2cm)超近。
✧完全谦容GH-311防盗模块。
✧带金属USB外壳,坚固耐用。
所以此次设计选择HC-SR04超声波模块来作为超声波测距系统的发射器和接收器。
第3章硬件电路设计
硬件部分主要由四部分组成,控制单元核心采用STC89C52RC;超声波发射器和接收器用一个HC-SR04超声波模块来实现其功能;显示模块采用LCD1602液晶显示屏;报警模块采用蜂鸣器作为本次设计的报警装置。
3.1系统硬件设计总框图分析
硬件设计部分具体包括单片机最小系统、显示电路、超声波模块和报警电路。
硬件设计总框图如图3-1所示。
图3-1系统硬件设计总框图
3.2处理器STC89C52
本设计采用STC89C52单片机作为控制核心,利用其扩展口连接相关的外围电路,通过不同的程序可以实现不同的功能。
下面就来了解一下单片机STC89C52。
3.2.1单片机STC89C52的特点
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
1、增强型6时钟/机器周期,12时钟/机器周期8051CPU:
✧1个机器周期=6个震荡周期=12时钟周期。
2、工作电压:
5.5V-3.4V(5V单片机)/3.8V-2.0V(3V单片机)。
3、工作频率范围:
0-40MHz,相当于普通8051的0~80MHz。
实际工作频率可达48MHz。
4、用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节。
5、片上集成1280字节/512字节RAM。
6、通用I/O口(32/36个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普
通8051传统I/O口)P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
✧漏极开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX245等电平转换芯片。
同时具有很大的驱动能力,可以作为缓冲器使用。
7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片
8、EEPROM功能:
电可擦可编程只读存储器,一种掉电后数据不丢失的存储芯片。
EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。
一般用在即插即用。
9、具有看门狗功能:
看门狗是用来自动复位的一个定时器,只要在定时时
间内能够接收到单片机的数据的,说明单片机没有走死,如果走死了就收不到,那么看门狗对单片机进行复位操作。
10、内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,
可省外部复位电路:
不用你自己再设计外部复位电路了,这样在设计时就方便很多了,省了外部复位电路,而且复位是非常可靠的。
如果需要在外部有一个复位按键,在适当的时候需要按复位按键实现复位,就不能用内部的复位电路了。
用内部复位电路时,RESET脚外部接一个下接电阻,在下载程序时,有一个选项,选择内部/外部复位电路就行了。
所以由它作为本次设计的核心还是非常合适的。
接下来介绍一下这款单片机的引脚。
3.2.2STC89C52管脚说明
本设计选用的是40个引脚双列直插式封装形式的STC89C52单片机,该单片机STC89C52的引脚如图3-2所示。
STC89C52
图3-2STC89C52单片机引脚图
各引脚功能说明如下:
1、主电源引脚(2根):
✧Vcc(40引脚):
电源输入,接+5v电源
✧Vss(20引脚):
接地线
2、外接晶振引脚(2根):
✧XTAL1(Pin19):
片内振荡电路的输入端
✧XTAL2(Pin20):
片内振荡电路的输出端
3、控制引脚(4根):
✧RST/VPP(Pin9):
复位引脚,当输入连续两个机器周期以上高电平时将使单片机复位。
✧ALE/
(Pin30):
地址锁存控制信号。
是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(
)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来
作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
✧
(Pin29):
外部程序存储器读选通信号 。
✧
/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4、可编程输入/输出引脚(32根):
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
✧P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双
向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
✧P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8
位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(
)。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见表3-1。
表3-1P1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
✧P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(
)。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 超声波 测距 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)