基于单片机的超声波测距仪设计.docx
- 文档编号:17816324
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:43
- 大小:591.30KB
基于单片机的超声波测距仪设计.docx
《基于单片机的超声波测距仪设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距仪设计.docx(43页珍藏版)》请在冰点文库上搜索。
基于单片机的超声波测距仪设计
基于单片机的超声波测距仪设计
LT
摘要
随着科技的发展、自动化程度的提高以及电子产品的普及,电子测距产品也走进了人们的视野。
相对于普通的测量工具,它具有数字式显示、测距精准以及可智能化控制等优点。
本系统是利用STC89C52单片机和超声波测距模块进行设计制作的智能化测距仪,主要实现距离的检测、数字式显示,以及超限报警等功能。
基于单片机的超声波测距仪是以单片机为控制核心,通过超声波测距模块对被测物体发射超声波,利用超声波在空气中的传播速度和发射到接收到超声波所用时间计算得到距离。
测距原理简单、容易实现,并且在生产生活中可以得到广泛使用和推广,具有实际性意义。
关键词:
单片机STC89C52,超声波传感器,基于单片机的超声波测距仪。
Ultrasonicranging
Abstract:
Withthedevelopmentofscienceandtechnology,theimprovementofautomationandthepopularityofelectronicproducts,electronicproductrangealsowentintopeople'shorizons.Comparedwiththecommonmeasuringtool,ithasadigitaldisplay,rangingprecisionandintelligentcontrol,etc.
ThissystemisusingSTC89C52MCUandultrasonicrangingmoduletodesigntheintelligentrangefinder,mainlyrealizethedistancedetection,digitaldisplay,andtransfinitealarmandotherfunctions.Basedonsinglechipultrasonicrangefinderbasedonsinglechipmicrocomputerascontrolcore,theobjecttobemeasuredbytheultrasonicrangingmoduleoflaunchultrasonicwave,usingtheultrasonicvelocityinairandlaunchtimetocalculatethedistanceusedtoreceivetheultrasonic.Rangingprincipleissimple,easytoimplement,andcanbewidelyusedinproductionandlifeandthepromotion,haspracticalsignificance.
Keywords:
microcontrollerSTC89C52,ultrasonicsensors,ultrasonicrangefinderbasedonsinglechip.
第一章绪论
本文主要讲解的是基于单片机的超声波测距仪,它是以STC89C52为核心,以超声波测距模块为距离传感器的测距产品,其应用范围广泛,融入到各行各业。
1.1需求分析
超声波测距仪广泛被用在建筑、工业生产、日常生活、军事、灾难搜救、水文液位测量、现场的位置监控、车辆倒车避障、移动机器人探测定位等领域,是智能化产业中的杰出产品。
传统的测距仪器是普通的尺子,虽然它的价格十分便宜,但它的局限性很多,使用不方便,并且很多地方无法测量。
超声波测距仪是以单片机为核心,以超声波测距模块为基础,具有使用方便、操作简单、局限性少、精度高、测量范围大,并且可以数字显示出测量距离等特点,给人们的生产生活,以及灾难搜救,军事等带来了巨大的方便。
需求报告:
●名称:
超声波测距仪
●功能:
测量并显示距离,也可以作为距离控制器,距离报警器。
●性能:
3mm距离偏差。
●输入:
一个是设定键,一个加键,一个减键,用来调节报警距离。
●输出:
距离显示,超限报警。
基于单片机的超声波测距仪的未来
21世纪,单片机已经普遍应用与生产生活各个方面。
超声波测距仪作为其中产品已经受到广大社会的认可和欢迎。
超声波测距仪是一种非接触式测距仪,避免了很多测量上的局限,而且受到外界影响很小,在粉尘污染、潮湿、高温、有腐蚀气体等恶劣的环境中也可以正常使用,同时其系统具有高稳定性,高可靠性,以及使用寿命长等优点。
在科技前沿,不少研究人员利用超声波测距自动化控制使机器人避障行走,这在灾害救援上起着重要的作用;在汽车倒车距离报警上的作用也是举足轻重的。
基于单片机的超声波测距仪作为自动化控制的产品跟的上科技的步伐,走的进人们的生产生活,称得上是科技发展的必需品。
并且可以不断完善、不断的突破,可以应用于更广、更前卫的事业中去。
1.2可行性分析
可行性分析包括元器件的使用和购买是否方便、产品的开发是否存在技术难题和市场需求等。
(1)基于单片机的超声波测距仪,由STC89C52单片机、超声波测距模块、LED数码管等部件组成,元器件价格便宜且通用性强,STC89C52是MCS-51系列中的一种较为普遍的一款单片机,它具备了51单片机的优点,又在性能上做了完善和提高。
超声波测距模块也已经模块化、标准化,使用起来非常方便。
LED数码管以及其它附件市场上供货畅通。
(2)软件使用C语言编写,本设计采用为单片机专门开发了KeilC软件进行编程,程序书写方便便、可行性强。
研究不存在技术难题。
(3)较大市场需求量,效益方面相当可观。
超声波测距仪除了测量距离以外,还可以应用于各种距离控制电路和限距报警电路。
应用前景广阔。
(4)基于单片机的超声波测距仪的特点:
1)价格低廉、灵动性好;
2)使用、操作简单,可以数字显示;
3)自动化控制方便;
4)完善很多测量的局限性;
5)体积小,重量轻,能耗低;
6)可塑性好,可以作为很多大型产品的附件。
第二章单片机的概述
单片机是单片微型计算机的简称,它是将中央处理器、存储器、定时器/计数器、中断系统、输入/输出端口等工作部件集成在一块集成电路芯片上的微型计算机(单片机)。
单片机在是一种智能化控制器,现代人类生活中处处都能看到单片机的产品,智能控制、MP3、交通灯、计算器、家用电器、电脑以及手机等都含有单片机。
它具有质量轻、使用灵活、体积小、可靠性高、价格便宜等特点。
它起初应用在工业控制领域。
现代机电类专业人员必须熟练掌握单片机知识,灵活运用单片机技术。
2.1单片机的含义及组成
单片机是一个集成化的计算机,是一个小型的控制设备。
通常我们把中央处理器(CPU,CentralProcessingUnit)、ROM/RAM、定时器/计数器等计算机的主要部件集成在一块电路芯片上,这就形成了单片机,如图2-1所示。
图2-1单片机逻辑结构
从图1-1中可以看出,整个单片机的核心部件是中央处理器(CPU,CentralProcessingUnit)。
它通过总线和其它部件连接并进行数据交换,时钟电路给它提供系统工作的时间,以使各个部件统一协调工作。
它内部的工作部件有运算器和控制器两大部分,主要功能是完成算数和逻辑的运算与控制。
存储器是单片机系统中具有记忆功能的电子部件,它是由数据存储器和程序存储器组成。
数据存储器主要用于储存程序运行期间所用到的数据信息。
程序存储器主要用于保存常数、应用程序和表格,同时还可以用于保存程序执行时用到的数据。
单片机内部的程序寄存器可以扩展的地址空间为64KB。
因为内部程序不需要改动,要求稳定性、可靠性要高,通常选用只读存储器作为单片机内部的程序寄存器的扩充。
定时器/计数器是单片机中重要的部件,主要用于实现定时/计数,并通过定时或计数结果对所要操作的对象进行控制。
串行端口的主要作用是实现了单片机与外设进行数据的交换。
时钟电路主要用于产生单片机工作所需要的时钟信号,它由两个部分组成,分别是振荡器ALE信号和时钟发生器。
中断控制系统是单片机为了满足各种实时控制需要而设置的,是重要的输入输出方式。
比如定时器/计数器的溢出、外部接收到中断信号、单片机内部一些突发的事件以及单片机掉电、故障等单片机中断系统进入中断进行处理。
在51单片机中设有5个中断源,我们可以通过对TCON、SCON、IE和IP的编程实现对中断的控制管理。
系统总线(BUS)是计算机各个工作部件之间传送信息的公共通道。
2.2单片机的发展
1970年微处理器研制成功后,随后出现了单片机。
早期的单片机都是4位或8位的。
4位单片机广泛应用于生活用品中,比如智能控制电子玩具、家用电器、计算器等领域。
8位单片机功能性强,价格适中,软硬件资源丰富,被广泛应用在仪器仪表、工业控制、智能接口等领域。
如今在生活中也随处可以看到51单片机系列的身影。
20世纪80年代以后,技术水平大力提升,集成电路的集成度有了很大提高,16位单片机开始问世,在当时高速复杂的控制系统中,通常使用的都是16位单片机,但因为价位过高没有得到很广泛的应用。
90年代后由于IT技术发展的推动,单片机技术得到了巨大提高。
ARM处理器进入主流市场,并且得到广泛应用,32位单片机迅速取代16位单片机受到了人们的亲赖。
如今大家所使用的智能手机很多都是使用的ARM单片机。
2.3单片机的特点
(1)系统内部结构简单,实现模块化;
(2)体积小、成本低、环境适应能力强;
(3)抗干扰能力强;
(4)控制能力强,速度快;
(5)低功耗,低电压;
(6)外部扩展能力强;
(7)具有高的可靠性;
(8)生产产品易于携带。
2.4单片机的应用
单片机应用在我们生产生活中的各个领域,主要应用的领域有:
(1)仪器仪表;
(2)商业营销领域;
(3)家用电器领域;
(4)办公自动化领域;
(5)航空航天领域;
(6)网络和通信领域;
(7)专用设备的智能化管理及过程控制。
第三章基于单片机的超声波测距仪总体设计方案
3.1超声波测距仪的系统设计
基于单片机的超声波测距仪用STC89C52的单片机,作为整个电路的控制主要控制部件,超声波测距模块为测距传感器,LED数码管显示,蜂鸣器报警,系统设计图框图如图3-1所示。
图3-1系统设计方框图
工作过程:
通过超声波测距模块获得的从基点到被测物体的距离,并将其传给STC89C52单片机进行处理,经过SCT98C52处理后,再把距离传给LED数码管显示,并根据距离设定值控制距离,必要时还可以控制蜂鸣器报警。
3.2主控制器
STC89C52单片机片内含有8KB的可编程Flash存储器,是一种8位控制器,它具有读写速度快、低功耗的优点,并且可直接使用串口下载,下载速度一般在几秒到几十秒之间。
STC89C52采用的是经典的MCS-51内核,在原有的基础上增加、改进了很多51单片机不具备的功能。
同时该芯片性价比高,故本设计选用的主控制器是STC89C52单片机。
STC89C52的引脚如图3-2所示。
图3-2STC89C52的引脚图
3.3显示电路
LED数码管是由8个发光二极管组成的。
数码管可以分为共阴极和共阳极两种,共阳极数码管的公共端口接在高电平上,一般情况下需要通过开关三极管接在+5V电源上,当接通电源时数码管被点亮,共阴极数码管的公共端口接地方能点亮数码管。
同时因为数码管的字段是由发光二极管组成,所以在数码管的段选端接上限流电阻。
LED数码管性价比高,使用方便,是应用非常广泛的显示器。
本设计采用4位共阳极LED数码管,从并口输出段码,LED显示原理图如图3-3所示。
图3-3LED数码管原理图
3.4超声波测距模块
市场上超声波测距模块有很多不同的种类,本系统采用HC-SR04超声波测距模块,此模块由超声波发射器,超声波接收器以及超声波控制电路三部分组成。
模块的非接触式距离测量范围为10mm-3000mm,测量的精度可达高到3mm。
超声波模块实物如图3-4。
图3-4超声波模块实物图
3.4.1HC-SR04超声波测距模块的特性
(1)工作电流:
2mA以下;
(2)工作电压:
4.5V~5.5V,但绝对不允许超过5.5V,以免烧坏元器件;
(3)测量距离范围:
测量最小距离为4mm,最大距离为3000mm,误差:
4%,数据连续输出,不需要任何设置;
(4)功耗电流:
功耗电流的范围是1mA~20mA;
(5)高精度:
精度可达3mm;
(6)工作温度:
0~100℃;
(7)存放温度:
-40~120℃;
(8)外形尺寸:
45*20*15mm。
3.4.2HC-SR04超声波测距模块的引脚
HC-SR04超声波测距模块有4个引脚,如图3-5所示。
图3-5HC-SR04超声波测距模块的引脚
如图3-5所示,其中端口Vcc提供+5V电压,GND为地线,TRIG是触发控制信号输入端,ECHO是回响信号输出端。
3.4.3HC-SR04超声波测距模块的工作原理
单片机首先发出触发信号触发超声波测距模块工作,触发后,模块内部发出8个40kHz的脉冲并且检测是否接收到回波,如果接收到回波发射器立即向指定方向发射超声波信号,当信号发出时开始计时,碰到被测物体后就立即返回来,接收头接收到信号后产生毫伏级的微弱电压信号,电压信号传到单片机中定时器立刻停止计时。
根据计时器记录的时间t,和超声波在空气中的传播速度,超声波在空气中的传播速度为340m/s,由此就可以计算出发射点距被测物体的距离S,即:
S=340t/2。
图3-6是相应的系统框图。
图3-6超声波测距原理图框
3.4.4超声波时序图
图3-7超声波时序图
如图3-7所示首先要由主控制器提供一个触发信号,信号是10μs以上的高电平,当超声波测距模块被触发后,在超声波模块内部就会由4069反相器整合处理主控制器提供的40kHz的脉冲信号,接着循环发出8个这样的高电平周期信号发出并检测回波,只要检测到有回波信号,就会输出回响信号,同时触发主控制器计时并将回响信号置“1”,输出回响信号持续高电平的时间与基点到被测物之间的距离成正比。
由此通过输出回响信号的脉冲宽度,计算出被测量的距离。
3.4.5HC-SR04超声波测距模块的电路设计
(1)超声波的发射和处理
由主控制器产生40kHz的脉冲,利用4069反相器对40kHz频率信号进行调整,使超声波传感器产生谐振,以供超声波模块使用。
发射电路图如图3-8所示。
图3-8超声波发射电路图
(2)超声波的接收与处理
HC-SR04超声波测距模块的接收头采用UCM40R(与发射头配对),接收头接收到超声波信号之后,通过内部电路,将脉冲信号转变为电压信号,因为获得的电压信号很微弱,故需要经放大器放大,本模块采用带有差动输入的LM324放大器,它比常规运算放大器在各个方面优点都要显著。
LM324运算放大器将微弱的电压信号进行放大,之后会转变为较强的电压信号,促使信号触发回响信号输出端由“1”变为“0”,送至单片机处理,使得定时器停止计时。
超声波接收电路图如图3-9所示。
图3-9超声波接收电路图
第四章基于单片机的超声波测距仪的硬件设计
超声波测距仪的硬件设计电路包括:
电源指示电路、主板电路、数码管显示电路、超声波测距电路、蜂鸣器报警电路等。
4.1电源指示灯电路
电路说明:
电源开关按下,发光二极管点亮,表明电路处于通电状态,电源开关复位,即电路断电,发光二极管熄灭。
电路中为硅管发光二极管,它的正常工作电流为3mA~10mA左右,正向压降约为1.7V,电流过大会烧坏二极管,电流过小二极管的亮度减弱。
因此在电路中需要连接电阻,电阻阻值不易过大。
电路中电阻被称为限流电阻,因为发光二极管正向压降为1.7V,根据欧姆定律(I=U/R)可以求出电阻的范围为330Ω~1.1kΩ左右。
本系统为了使二极管发光强度高,故选用330Ω电阻。
电源指示灯电路图如图4-1所示。
图4-1电源指示灯电路图
4.2单片机主板电路
主板电路是单片机最基本的电路,又被称作最小系统,它的主要作用是为单片机提供标准的时钟,以及使单片机初始化。
主板电路包括:
时钟电路、复位电路等。
4.2.1时钟电路
时钟电路为单片机提供时钟信号,使得单片机能够按照一定的时序进行稳定的工作,它是由晶振和电容两部分组成。
晶振的频率即时钟电路的频率,它决定着定时器的溢出时间。
电容则在电路中起滤波作用。
时钟电路有两种震荡方式:
内部震荡电路和外部震荡电路。
根据设计需要,采用内部方式;因为本设计用到了定时器,因为单片机输出的震荡脉冲为12分频,故为了减少计算量,故采用频率为12MHz的晶振;由于晶振频率为12MHz,属于高频波,电容在电路中起到滤波作用,高频选用小电容,低频选用大电容,故在本设计中电容选用30pF。
内部震荡电路如图4-2所示。
图4-2内部震荡电路
4.2.2复位电路
复位电路是一种用来使电路恢复到起始状态的电路设备,它是单片机的初始化操作。
它的操作原理与计算机类似,只是启动原理和手段有所不同。
在单片机在开机和系统出现问题时,可以使用复位键使其恢复到起始状态。
要使单片机成功复位,需要在单片机的30引脚(ALE)提供高电平信号,高电平信号必须产生并保持24个晶振周期(两个机器周期)以上,即在30引脚(ALE)上输入脉冲宽度超过2个机器周期的正脉冲复位信号。
复位方式一般有上电复位、按键手动复位两种方式,根据设计需要,本系统采用上电复位方式,上电复位电路如图4-3所示。
图4-3上电复位电路
4.3数码管显示电路
电路功能:
用来显示测量距离、极限距离的十位、个位以及设置状态标志等。
电路说明:
本系统显示电路采用4位一体共阳极数码管显示方式,P0.0~P0.3口控制数码管的位选信号,P2口控制数码管的段选信号。
工作原理:
数码管实际上是由二极管组成的,一位数码管由8个二极管组成,故显示原理和二极管类似。
当单片机P0.0~P0.3口为低电平时,位选端选通,点亮相应的数码管位,当P2口为低电平时,根据段选码显示相应的数字。
电路原理:
显示电路由四个上拉电阻、一个4位一体共阳极数码、四个三极管、8个限流电阻组成。
由于P0口与其他端口不同,是开漏输出,故应接上拉电阻,本系统选用4.7KΩ上拉电阻。
数码管是此电路的显示元件,三极管在电路中的作用是开关作用,当P0口输出低电平时,三极管导通,为数码管提供高电平。
限流电阻是为了限制过大电流烧坏二极管,本电路选用330Ω电阻,既能保证数码管亮度,又不会损坏数码管。
LED数码管显示电路如图4-4所示。
图4-4LED数码管显示电路
4.4距离测量电路
超声波测距仪设计采用HC-SR04测距模块,超声波测距模块的触发信号口Trig和输出回响信号Echo口分别接在P3口的P3.2与P3.3。
电路功能:
距离测量电路主要负责测量测量系统到被测物体的距离,并将信号发送至单片机中进行信号的处理。
电路工作原理:
超声波测距模块通过发射端向被测物体发射出长约6mm,频率为40kHz的超声波信号,一旦发射超声波信号,立即触发单片机进行计时处理,定时器T0开始计时,超声波在空气中传播,接触到被测物体信号返回,接收头实质上是一种压电效应的换能器。
它接收到信号后产生毫伏级的微弱电压信号。
电压信号传到单片机中使得定时器T0停止计时。
由于超声波在空气中的传播速度为340m/s,根据发射和接收的时间差计算出发射点到被测物体的实际距离S,即:
S=340t/2。
距离测量电路图如图4-5所示。
图4-5距离测量电路图
4.5蜂鸣器电路
蜂鸣器分为两种:
一种是有源蜂鸣器,另一种是无源蜂鸣器,区别在于有源蜂鸣器一般内部含有内部震荡器,无源蜂鸣器中不含内部震荡器。
触发有源蜂鸣器发声只需给它通入额定电压就可以了;而想要触发无源蜂鸣器发声,必须接在音频输出电路中才能够发声,它的原理和电磁扬声器原理类似。
本设计的报警系统选用的发声元件是有源蜂鸣器。
工作原理:
当测量距离小于设定值时,蜂鸣器接通报警,当测量距离超过设定值时,蜂鸣器关闭,报警停止。
电路原理:
本报警系统电路采用一个蜂鸣器、一个三极管、一个电阻实现报警功能。
因为蜂鸣器在工作时需要较大的工作电流,单片机引脚提供的电流无法直接驱动蜂鸣器工作,所以必须要在电路中增加放大电路,一般采用三极管放大电流就可以了,本系统采用PNP型三极管放大电流。
蜂鸣器电路图如图4-6所示。
图4-6蜂鸣器电路图
4.6系统原理电路
系统原理电路显示了整个设计的电路原理,它包括了超声波测距模块的数据采集电路、距离显示电路、控制电路和主板电路等。
电路工作原理:
系统原理电路综合和各个部分电路,并使其协调统一工作,完成设计要求。
接通电路电源,电源指示灯点亮,各个部分进入初始化状态,超声波模块首先进行距离的测量,然后送往单片机中进行处理。
经过单片机处理后送入显示模块显示,并判断是否超限,如果超限,报警系统报警。
按键模块负责调节超限距离,在设置状态下,显示系统显示设置状态标志和超限值。
系统原理电路图如图4-7所示。
图4-7系统原理电路图
第五章基于单片机的超声波测距仪的软件设计
系统程序主要包括主程序,距离测量子程序,超限距离调节子程序,距离显示子程序,超限报警子程序等。
5.1主程序
主程序主要的功能是负责距离的测量、距离的显示、超限距离的调节及超限报警等子程序的协调统一运作。
其流程图如图5-1所示。
图5-1主程序流程图
参考程序如下:
/******************超声波测距主程序******************/
voidmain()
{
P0=P1=P2=P3=0XFF;//P0、P1、P2、P3口置高电平
juli_cl();//超声波测距离函数
led_display();//超声波测距处理距离显示函数
t0_init();//定时器0、定时器1初始化函数
xj_d=20;//设置限距值初始值
//超声波测距主循环
while
(1)
{
if(delay_main==1)//判断delay_main是否为“1”,为1时进入循环,每延时300ms扫描一次
{
delay_main=0;//delay_main清零,以便下次使用
baojing();//报警函数
juli_cl();//测距离函数
led_display();//处理距离显示函数
keystroke();//按键调节函数
}
}
}
5.2距离测量子程序
距离测量子程序的主要功能是控制超声波测距模块的发射和接收,计算出从信号发出到接收到信号所使用的时间,本系统采用定时器0作为超声波测距的计时器,它工作在工作方式1,所以它的定时时间T为:
其中,X是定时器装入的初值,
是单片机的机器周期。
因为本系统采用12MHz的晶振,故
=1μs,又由于初值为0,故每次溢出时时间T为65536μs。
单片机通过计算处理得出距离并保存于中间变量中以备调用。
其程序流程图如图5-2所示。
·
5-2超声波测距程序流程图
参考程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距仪 设计