基于51单片机的超声波测距仪Word格式文档下载.docx
- 文档编号:7539028
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:26
- 大小:331.59KB
基于51单片机的超声波测距仪Word格式文档下载.docx
《基于51单片机的超声波测距仪Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的超声波测距仪Word格式文档下载.docx(26页珍藏版)》请在冰点文库上搜索。
由于工作频率与应用目的不同,超声传感的结构形式是多种多样的,并且名称也有不同,利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求[8]。
因此,为了使我国的工业化发展立足国内、走向世界,对超声波测距系统精度和实时性问题进行研究具有极高的实际意义。
主要参考文献:
[1]滕艳菲,陈尚松.超声波测距精度的研究[J].国外电子测量技术,2006,
(2):
23-25.
[2]李晓林,苏淑靖等.单片机原理及接口技术[M].北京:
电子工业出版社,2015.
[3]王锋.基于STC89C51RC单片机的电子称设计原理[J].电子世界,2016,(6):
35-37.
[4]邓韶斌.基于AVR单片机的智能移动机器人控制系统研究与实现[D].南京:
南京航空航天大学,2009.
[5]于姣.基于单片机带温度补偿的超声波测距仪设计[J].电子科技,2015,(8):
56-59.
[6]张谦琳.超声波检测原理和方法[M].北京:
中国科技大学出版社,2008.
[7]刘学飞,胡泽等.一种高精度超声波测距系统研究[J].物联网技术,2013,
(1):
18-19.
[8]陈莹.基于单片机的超声测距系统[M].武汉:
华中科技大学,2004.
[9]李平.基于单片机的倒计时器的设计[J].赤子,2013,(11):
11-13.
[10]唐阳山,杨培菲等.基于AT89S52汽车倒车防撞预警系统的设计[J].辽宁工业大学学报,2013,(6):
383-386.
[11]陈诚,戴尔晗.汽车倒车多方位报警系统[J].微型机与应用,2016,
(2):
78-81.
[12]潘松峰,刘芳等.MCS-51单片机原理、系统设计与应用[M].北京:
清华大学出版社,2008.
[13]崔莹.液下搅拌机器人定位导航控制系统[D].北京:
北京信息科技大学,2006.
[14]Licznerski,TomaszJ,Jaronski,Jarosaw,Kosz,Ultrasonics.Vol.51(December2011),p.960-965.
[15]童峰,许水源,许天增.一种高精度超声波测距处理方法[M].厦门:
厦门大学学报(自然科学版),JournalofXiamenUniversity(NaturalScience),2004年7月,第37卷,第4期:
30-31.
[16]Zhihongxiao,SiyuWu,QiyuanAn.DesignofUltrasonicDistanceMeasurementSystemBasedonMicrocontroller.AppliedMechanicsandMaterialsVols.333-335(2013)p296-299.
三、研究方案(主要研究目标、研究内容、研究方法及创新之处)
本设计主要采用STC89C51单片机作为控制器,主要由超声波发射电路及接收电路、数码管显示电路和蜂鸣器报警装置组成。
在分析超声波测距原理的基础上,依据设计好的超声波测距仪硬件设计电路图和软件设计流程图完成系统软件硬件的设计和调试,实现超声波测距,数据显示以及参数设置等功能。
通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为v,根据计时器记录的时间t,计算出发射点距障碍物的距离,并用四位的LED数码管显示距离。
研究方法:
(1)确定硬件系统设计方案;
(2)确定软件部分设计方案;
(3)绘制电路图;
(4)依照电路图,在电路板上焊接各元件,完成系统实物设计;
(5)将焊好的电路板反复进行调试,直到实现系统要求的预定功能。
本方法具有易控制、测距准确度高、精度强和流程清晰等优点。
摘要
本文详细的介绍了一种超声波测距仪,它是在51单片机的控制下工作的。
本设计采用的单片机为STC89C51,该单片机使用串口编程、价格便宜而且效率高、稳定性强。
该系统硬件电路设计主要包括单片机系统、超声波发射电路、接收电路、LED数码管显示以及蜂鸣器报警装置等。
在单片机内部程序的控制下,超声波发射电路将超声波信号发射出去,超声波信号在遇到被测物体后被反射回去,反射回来的超声波信号被超声波接收器接收,然后经过接收电路的检波进行放大以及其他处理,送至单片机,单片机根据超声波的传播速度和超声波从发射到接收所使用的时间,计算出被测物体的距离,所测得的距离值用LED数码管显示出来,与被测物体之间的不同距离利用蜂鸣器报警提示。
因为基于51单片机的超声波测距仪在运用过程中具有较强的稳定性,而且检测的效率高、速度快,测量精度符合测距要求,所以,超声波测距仪具有很高的应用价值。
本设计主要围绕两个方面展开,即超声波测距仪的硬件电路设计和软件程序设计。
关键词:
单片机;
超声波;
测距
Abstract
Thearticledescribesanultrasonicrangefinderindetail,whichisunderthecontrolof51single-chip.Thedesignofthesingle-chipfortheSTC89C51,whichusesserialprogramming,itisnotonlycheap,highefficiency,andstrongstability.Thehardwarecircuitdesignmainlyincludessingle-chipsystem,ultrasonictransmittercircuit,receivingcircuit,LEDdigitaltubedisplayandbuzzeralarmdevice.Underthecontrolofthesingle-chipinternalprogram,Theultrasonictransmittercircuitemitsanultrasonicsignal,theultrasonicsignalisreflectedbackafterencounteringthemeasuredobject,andthereflectedultrasonicsignalisreceivedbytheultrasonicreceiver.Andthenthroughthereceivercircuittodetecttheamplificationandotherprocessing,senttothesingle-chip,thesingle-chipaccordingtothepropagationspeedofultrasoundandultrasoundfromthelaunchtotheuseofthetimetocalculatethedistanceofthemeasuredobject,themeasureddistancewithLEDdigitaltubeDisplayed,andthemeasureddistancebetweentheobjectusingthebuzzeralarm.Becauseofthe51single-chipultrasonicrangefinderintheuseoftheprocesshasastrongstability,andthedetectionofhighefficiency,speed,measurementaccuracyinlinewiththerequirementsofranging,soithasahighapplicationvalue.Thedesignmainlyrevolvesaroundtwoaspects,namelythehardwarecircuitdesignandsoftwareprogramdesignoftheultrasonicrangefinder.
Keywords:
Single-chip;
Ultrasonic;
Ranging
引言
随着社会的不断进步,人民的需求逐渐增强,超声波测距仪越来越受到大家的喜爱,在许多方面都得到运用。
超声波测距系统在20世纪70年代已经开始被人类使用,在70年代末普遍应用于工业生产和日常生活。
目前,国外超声波测距新技术的开展,超声波测距仪使用普遍,在设计上以单片机为核心的测距系统也得到越来越普遍的应用。
与国外相比,我国超声波测距技术虽然起步不算早,但后期投入精力较大,近年来也取得了不小的进步,但与国外的超声波测距产品相比,我国根据传统测距方法制造出的超声波测距仪仍然存在着不可克服的缺陷。
超声波测距仪,在实际中有极其宽泛的使用范围,比如可以作为汽车安全系统(倒车提醒)、建筑施工时的距离测量、海水深度测量等等,并且也在不断地开发一些新的应用[1]。
超声波测距系统经常运用常见的模拟和数字电路来组建,可是由常见电路来组成测距系统经常会出现稳定能力较差、调试较不容易等问题,而在51单片机基础上设计出的超声波测距仪纠正了以往错误,被广泛的用于生产以及生活中距离的测量。
超声波测距仪在单片机的控制下,发射或者接收超声波信号,单片机只需要获得超声波信号来回过程中使用的时间,就可以按照声波的传达速度来计算与被测物体的间隔距离。
通过单片机控制系统设计出的电路通常都很小巧、简单,而且效率高、反应速度快,灵敏度也比传统的超声波测距仪强。
如今超声波测距技术的发展迅速,在各方面都得到应用,超声波测距仪的功能愈发稳定,它将作为一种全新的,有广阔发展前景的仪器受到大众的喜爱。
但针对于目前我国的科技技术水平,超声波测距技术还拥有极大的进步空间。
超声波测距是一个蓬勃发展而又具有广阔前景的实用技术,而完成超声波测距系统的成熟化、简单化,是未来超声波测距仪研究的主要方向。
本文将在51单片机系统基础上,设计出高精度、高效率以及被受大众喜爱的超声波测距仪。
正文
1实验平台概述
1.1单片机概述
单片机(Microcontroller)出现于20世纪70年代末,由于适合工作在控制领域,故也被叫做微控制器(MicroControllerUnit)。
单片机应用范围十分全面,在如今的生产生活中可以说是随处可见,小到家用电器、智能设备,大到工业设备、航空航天都可以用到单片机。
据我们所知,单片机大多都用通信接口,这样的话就与计算机接口有很高的匹配度,使得计算机可以方便的集成在通讯工具上。
一般来说,常用的单片机芯片通常是由小部件组成的,其内部包括:
中央处理器(CPU)、程序存储器、数据存储器和输入/输出(I/O)接口电路等[2]。
中央处理器是单片机的重要组成结构,其由运算器和控制器组成;
正如字面意思,程序存储器顾名思义是用来进行存储的,在这里我们存储的是运算中需要的数据和一些程序;
并行I/O接口既可以用作输入形式,又可用作输出形式,使用软件编程操作;
而串行I/O用于单片机与串口设备的通信连接。
一个独立的单片机想要发挥它的作用就要结合外部设备,所以I/O接口是必不可少的组成部分。
单片机之所以得到广泛的应用,是因为它具备其它芯片不具备的优点,它价格便宜、功能全面、可开发性高并且小巧便携,其硬件组成及指令编写上也有独特之处。
单片机本身具备体积质量小、价格低廉、功能强大、灵活性强等优点,所以他在硬件结构和指令方面有其独特的优势。
1.2芯片简介
1.2.1STC89C51单片机简介
STC89C51单片机采用的是8051核的芯片,这种芯片在系统内可以进行编程[3]。
此芯片符合整个硬件系统的要求,并且芯片内存在4KB的只能读取的程序存储器,这种存储器不是一次性的,而是可以多次擦除多次写入,特别的便于运用,非常方便快捷。
最重要的是,芯片能和指令系统稳定的在一起工作。
因为芯片本身具备通用的8位CPU和存储单元,如果和计算机中的控制程序相互合作,就能将用户需要的程序下载到单片机里,完成以后的操作,这样不仅消耗的成本低,而且速度快。
1.2.2CX20106A芯片简介
集成电路CX20106A,是一种以红外线作为信号源来进行检波接收的特定芯片,CX20106A是电视机红外遥控接收器的常用组件,也是超声波接收时的常用芯片[4]。
一般来说,运用超声波来进行距离测量时应用的频率大小为40kHz,而该芯片在设计中作为红外遥控的接收器时,应用频率大小为38KHz,故使用其作为接收过程中的芯片,可以获得十分准确的结果。
况且该芯片操作容易,设计电路简单,硬件调试易让人接受,不易受到外界因素的干扰,灵敏度也容易调节。
1.2.374LS04芯片简介
74LS04是一种六反相器,通常在实验中是作为反向逻辑运算而存在的。
而在本设计中应用的却是其放大作用,通过它来实现方波信号频率的变大。
图474LS04引脚图
1.2.4LED数码显示管简介
本设计采用共阳极的LED数码管来显示距离。
共阳极数码管是指将管内的阳极连在一起作为公共引脚,当用到时需要将引脚和电源正极连在一起。
2实验设计
2.1系统硬件设计
超声波测距的根本思路是超声波发射装置发出超声波,按照接收装置接到超声波的时间与发射时间的差,计算出距离[5]。
通过超声波测量距离的措施有很多,本设计采用的是基于时差基础上的,用于距离测量的渡越时间法。
当超声波发射装置由单片机控制发出超声波时,计数器也开始工作。
超声波以一定速度传播,当到达被测物体时产生一个回波信号,超声波回波由接收器接收[6]。
此时,单片机控制下的计数器已经存储了超声波从发射到接收使用的时间t。
超声波会以一个相对固定的速度v传播,并且其值在一般情况下变化不大,故距离就可表示为:
。
式中:
s—测距仪到被测物体的间隔;
S—声速往复的路程;
v—超声波的速度;
t—超声波信号往复的时间差值。
超声波测距的根本思路见图1。
图5超声波测距原理图
本设计中超声波测距仪控制中心为STC89C51,与其它相同类型芯片相比,不管是程序的写入还是利用软件进行检测都要方便,并且更重要的是成本低,用处大。
为减小超声波测距仪使用的误差,选用上文中提到的渡越时间法来完成距离的测量。
超声波测距仪的工作原理为:
超声波发射装置在单片机内部系统的控制下,先发射超声波,此时计数器立即开始计数,超声波在传播过程里会有一部分被阻隔返回去,返回的这部分被叫做回波,它会被接收装置接收,经过处理之后,送到单片机继续其他操作,由单片机来进行中断操作使计数器停止工作,计数器此时显示的数值即为信号往返的时差t,单片机利用超声波传播速度v和时差t,经过分析计算得到与被测物体的距离大小,用LED数码管完成距离的显示,距离上的差别利用蜂鸣器报警来表现,超声波测距仪的硬件设计包括以下四个部分。
2.1.1超声波发射电路设计
发射电路由74LS04和超声波发射换能器组成[7]。
超声波发射换能器可以把电信号转变为超声波,然后经过驱动发射出去。
本设计中,由单片机的端口(P1.0口)发出方波,频率大小为40KHz,但是这个方波大小不能满足设计的要求,如果要想驱动超声波发射换能器工作,就必须把方波的频率变大,这样才能把超声波发射出去。
在这个设计中,我们使用的是74LS04来实现方波信号频率的变大。
超声波发射电路图见下图6。
2.1.2超声波接收电路设计
采用集成电路CX20106A,它是超声波接收电路核心构成部件[8]。
它作为一种特定芯片,利用红外线作为信号源来进行检波,在生活中还经常用做电视红外遥控接收的常用组件。
通常在进行超声波距离测量时应用频率大小为40kHz,而当该芯片作为红外遥控接收器,通常使用的频率大小为38KHz,故使用它作为超声波测距仪的接收芯片十分合适。
但是一定要保证接收到的脉冲频率为40KHz,否则就得不到正确结果。
若频率为40KHz则符合要求,就会有一个有效的低电平被产生,这个就是下降的脉冲信号。
当单片机检测出这个脉冲信号就能立刻做出反应,使计数器停止工作。
超声波接收电路图见下图7。
图7超声波接收电路图
2.1.3超声波显示电路设计
超声波测距仪自身对测距结果的显示要求不高,所以可直接用十进制数字来表示测速结果。
通过前期一系列测试发现,较简单的显示设备就可以达到超声波测距仪的显示效果,完成显示模块的功能,故显示电路选用共阳极的LED数码管。
然后通过单片机的相关引脚对LED数码管进行控制,运用P0口,来输出LED数码管的段码,运用P2口来操作LED数码管,来显示此刻的距离[9]。
为了保证测距精度,减少购买硬件的成本,本设计用到了动态扫描方式,来完成LED数码管的显示要求。
显示电路图见下图8。
2.1.4蜂鸣器报警模块设计
蜂鸣器报警设计的基本思路为:
当单片机对超声波测距仪进行控制,因为测量的距离不同,当蜂鸣器检测到单片机发出的不同频率,就能发出不一样的声音来报警。
报警电路图如图9所示。
2.2系统软件设计
系统软件设计运用模块化的思路来实现[10]。
主要由以下部分组成:
主程序、超声波中断程序、计算和显示距离模块程序和蜂鸣器报警模块程序等[11]。
主程序先是对单片机进行操作,使系统完成初始化、接下来在单片机控制下,实现超声波信号的发送和接收、算出与测量对象的距离、用LED数码管完成距离的显示,距离上的差别利用蜂鸣器报警来表现,利用软件主要是实现了超声波从发出到接收的过程,从而进行距离的测量。
2.2.1主程序
主程序控制整个测距过程,运行主程序时首先要做的是先将单片机系统恢复到默认值,也就是我们通常所说的系统初始化,以保证测量结果准确而有效。
然后把回波接收标志位设置为1,接着操作单片机系统,使其相关端口(P3.6口)输出一个有效的电平(低电平),上述操作是为了启动发射器使其发射出超声波,接下来让让距离测量模块和计数器开始工作,这两部分是距离测量的关键,根据计数器显示的时间来计算所需要测量的距离。
为了更加清楚直观看到距离值,就要用到LED数码管,它可以清晰的将数值显示出来。
而且本系统还设计了蜂鸣器报警装置,并使其根据不同的距离情况进行声音提示。
当超声波接收器接收到回波信号时,接收标志位被置0,完成一次操作[12]。
接下来回波的接收标志位被重新设置为1,然后继续向下运行,超声波测距仪就是通过这样一个周而复始的循环完成超声波测距的。
超声波测距仪的设计过程中需要注意,超声波接收装置检测到回波后,并不能直接被利用,需要进行检波处理,检波是将高频振荡中的低频用信号分离出来,检波的理想工具是芯片CX20106A,同时还要传递给单片机一个信号。
主程序流程框见图10。
图10主程序流程图
2.2.2超声波中断程序
要想得到准确距离,就需要中断程序来实现。
根据上面主程序可得,超声波接收电路如果接到回波,那么接收器就要发出单片机系统可识别的标志信号到单片机的相应引脚(P3.2引脚),标志信号设置为低电平信号,此刻单片机控制系统调用中断处理程序发生中断,这时候系统的计数器模块和外部中断处理模块都在主程序的控制下停止运行,这时读取计数器的时间值,若超声波接收装置检测到回波,那么相应的标志位被置0。
中断程序中最核心的部分就是距离的计算。
因为速度的大小已经知道,而要想得到距离,最重要的就是获得超声波往返的时间数值,而时间数值可以通过计数器测得,这就可以根据速度和时间公式求得距离值。
中断程序的流程如图11所示。
图11中断程序流程图
中断程序如下:
voidmain()
{
TMOD=0x11;
//设置工作方式
IT0=0;
//高电平变成低电平,触发外部中断0
Echo=0;
while
(1)
{
delay(60);
EA=0;
Trig=1;
delay_20us();
Trig=0;
//发射启动脉冲
TR1=1;
//
EX0=1;
TH1=0;
TL1=0;
TF1=0;
//在EA=0时打开外部中断0和计数器1的设置
while(Echo==0);
//等待Echo变高电平
EA=1;
if(xs>
=100)
beep=0;
elsebeep=1;
}
}//外部中断0,用做判断回波电平
intO()interrupt0//外部中断是0号
{
TR1=0;
outcomeh=TH1;
//取出计数器的值
outcomel=TL1;
display();
//delay(50);
EX0=0;
//关闭外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 超声波 测距仪