基于单片机的超声波测距器的设计_第1页
基于单片机的超声波测距器的设计_第2页
基于单片机的超声波测距器的设计_第3页
基于单片机的超声波测距器的设计_第4页
基于单片机的超声波测距器的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

word文档可自由复制I编辑毕业论文(设计) 题目:基于单片机的超声波测距器的设计基于单片机的超声波测距器的设计摘要本文阐述了超声波测距的原理,介绍如何用AT89C52单片机实现超声波测距,分析各个部分的工作原理,并给出了原理图和源程序。此设计电路由超声波传感器、单片机、发射/接收电路和LED显示器组成。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波被广泛应用于距离的测量。利用超声波检测比较迅速、方便,计算简单,已做到实时控制,并且在测量精度方面能达到工业实用要求,测量时与被测物体无直接接触等,这些优点使其广泛应用于倒车雷达、建筑施工工地等场合。关键词:超声波测距单片机DesignofUltrasonicRangeFinderBasedonSCMAbstractThispaperexpoundstheprincipleofultrasonicranginganddescribeshowtouseAT89C52SCMrealizingultrasonicranging.Italsoanalysisoftheworkingprincipleofeachpartandgivestheprinciplediagramandthesourceprogram.Theultrasonicrangingiscomposedbyultrasonicsensors,SCMcircuit,launch/receivingcircuitandLEDdisplay.Duetothestronglydirectivity,slowlyenergyconsumptionandlongtransmissiondistanceinamedium,thusultrasoniciswidelyusedindistancemeasurement.Ultrasonicisquickly,convenient,simplecalculationandachievesreal-timecontrol.Anditcanalsoreachtheindustrialpracticalrequirementsinthemeasurementprecisionandwithoutdirectlycontactedwithobjecttobetested.AllTheseadvantagesmakeitwidelyusedinreverseradar,constructionsiteandsoon.UltrasonicrangingbasedontheAT89C52SCMeasilyovercomeshortcomings,andisusedveryextensive.Keywords:Ultrasonicwave;Rangefinding;One-chipcomputer目录TOC\o"1-3"\f\h\z\u摘要 IAbstract II第一章绪论 41.1设计项目概述 41.2设计要求 41.3超声波测距原理 4第二章超声波测距器硬件系统设计 62.1超声波传感器 62.2总体方案设计 82.3超声波发射电路设计 92.4超声波接收电路的设计 102.5显示电路的设计 11第三章单片机AT89C52 133.1AT89C52单片机的构成 133.2AT89C52单片机的工作原理 143.3AT89C52单片机特性 15第四章软件设计 174.1程序设计总体分析 174.2程序流程图 184.3电路程序设计 184.4电路焊接与整机调试 19结论 22致谢 23参考文献 24第一章绪论1.1设计项目概述由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波被广泛应用于距离的测量。利用超声波检测往往比较迅速、方便,计算简单,已做到实时控制,并且在测量精度方面能达到工业实用要求,测量时与被测物体无直接接触等,这些优点使其广泛应用于倒车雷达、建筑施工工地以及一些工业现场,例如液位测量、精深测量等场合。目前国内一般实用专用集成电路设计超声波测距器,但是成本高,没有显示,操作不便,操作使用不方便,创展不灵活。基于单片机的超声波测距易克服了上述缺点,应用非常广泛。1.2设计要求设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。具体要求如下:(1)测量范围在0.5-2.00m,测量精度1cm。(2)测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。1.3超声波测距原理采用单片机作为主控制器,用LED数码管作为显示仪器来显示所测的距离。由单片机发射和接受超声波信号,再经过单片机计算输出显示被测距离,即超声波发生器T在某一时刻发出一段超声波信号,当超声波遇到障碍物(被测物体)后返回被接收器R接受。测距的原理如图1.1。RTT2RTT2T1图1.1测距的原理这样只要计算出发射超声波和接收到超声波之间的时间,就可以计算出超声发射器与反射物体的距离。距离计算公式为:其中:d为被测物与测距器的距离s为声速的来回路程c为声速t为声波来回所用的时间超声波是指频率高于20KHZ的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置就是超声波传感器,习惯称之为超声波换能器或超声波探头。超声波传感器有发送器和接收器两种,但是一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器利用压电效应的原理将超声波和电能相互转换,即在发射超声波的时候,将电能转换为超声波,而在收到回波的时候,则将超声振动转换为电信号。超声波测距的原理一般采用渡越时间法。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的生源与障碍物之间的距离,超声波测距适用于高精度的中长距离测量,因为超声波在标准空气中的传播速度为332.45m/s。单片机使用12MHZ晶振,所以此系统的测量精度理论可以达到毫米级。单片机单片机显示模块超声波接收器R超声波发生器T电源电路图1.2基于单片机的超声波测距器系统框图第二章超声波测距器硬件系统设计2.1超声波传感器超声波传感器是根据超声波的特性而研制成的传感器。超声波是一种机械波,其振动频率高于声波,由换能晶片在电压的激励下发生振动产生。超声波的频率高、波长短、绕射现象小,方向性好、能够成为射线而定向传播。超声波传感器是利用压电效应的原理将电能和超声波相互转换,即在发射超声波的时候,转换电能,发射超声波,在收到回波的时候,则将超声波振动转换为电信号。超声波发生器一般分为两类:一类是用电气方式产生超声波,另一类使用机械的方式产生超声波。超声波测距器属于近距离测量,可以采用常用的压电式超声波换能器来实现。2.1.1超声波传感器结构超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头、斜探头、表面波探头、兰姆波探头、双探头等。超声波传感器结构如图2.1所示。超声探头的核心是其外套中的一块压电晶片。构成晶片的材料可以有许多种。晶片的大小,如直径和厚度也各不相同,因此每个探头的性能是不同的,使用前必须预先了解它的性能。共振板共振板压电晶片电极图2.1超声波传感器结构图2.216mm分体超声波收发器超声波传感器超声波探头2.1.2超声波传感器工作原理压电型超声波传感器是利用压电效应的原理,压电效应有逆效应和顺效应,由于超声波传感器是一种可逆元件,超声波发送器就是利用压电逆效应的原理。在压电元件上施加电压,元件随之变形,即称应变,压电逆效应如图2.3所示。如果在图a所示的已被极化的压电陶瓷上加一个图b所示极性的电压,压电陶瓷的极化正电荷与外部正电荷相互排斥,同时,外部负电荷与极化负电荷相互排斥。由于相互排斥的作用,压电陶瓷的厚度变小,长度伸长。若外部施加相反极性的电压,如图c所示那样,则压电陶瓷厚度变厚,长度缩短。图2.3压电逆效应图超声波传感器采用的是双晶振子,即把双压电陶瓷片以相反极化方向背向粘在一起,则在长度方向上,一片伸长,另一片缩短。在双晶振子的两面涂敷薄膜电极,其上面用引线通过金属板接到一个电极端,下面用引线直接接到另一个电极端。双晶振子为正方形,正方形的左右两边由圆弧形凸起部分支撑着。这两处的支点就成为振子振动的节点。金属板的中心有圆锥形振子。发送超声波时,圆锥形振子有较强的方向性,因而能高效率地发送超声波;接收超声波时,超声波的振动集中于振子的中心,所以,能产生高效率的高频电压。采用双晶振子的超声波传感器,若在发送器的双晶振子(谐振频率为40kHz)上施加40kHz的高频电压,压电陶瓷片就根据所加的高频电压极性伸长与缩短,于是就能发送40kHz频率的超声波。超声波以疏密波形式传播,传送给超声波接收器。超声波接收器是利用压电效应的原理,即在压电元件的特定方向上施加压力,元件就发生应变,则产生一面为正极,另一面为负极的电压。若接收到发送器发送的超声波,振子就以发送超声波的频率进行振动,于是,就产生与超声波频率相同的高频电压,当然这种电压是非常小的,必须采用放大器放大。图2.4传感器的方向性2.2总体方案设计单片机采用AT89C52,系采用12MHZ高精度晶振得到较为稳定的时钟频率以减小测量误差。用单片机P1.0端口输出40KHZ方波信号,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机,利用外中断0检测接收返回的超声波信号。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制七段数码管显示出来。其时序图如图2.5所示。图2.5时序图单片机在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。2.3超声波发射电路设计超声波发射采用推挽形式将P1.0端口发出的方波加到超声波换能器两端以提高超声波发射的强度。发射电路主要有74HC04和超声波换能器构成用单片机P1.0端口输出40KHZ方波信号一路经一级反向后送到超声波换能器的一个电极,另一路经两级反向后送到超声波换能器的另一个电极。图2.6为发射电路。图2.6超声波发射电路2.4超声波接收电路的设计超声波接收采用的是常用于电视红外遥控接收器的芯片CX20106A。考虑到红外遥控常用的载波频率38KHZ与测距超声波频率40KHZ较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变超声波接收探头两端电容的大小,可以接收电路的灵敏度和抗干扰能力。其中,CXA20106A为红外线接收专用芯片,可以用于超声波的接收.。各引脚说明如表2.2。表2.2CXA20106A各引脚说明引脚号说明1超声信号输入端,该脚的输入阻抗约为40kΩ。2该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7Ω,C1=1μF。3该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μf。4接地端。5该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。6该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。7遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。8电源正极,4.5~5.5V。图2.8为接收电路。图2.8超声波接收电路2.5显示电路的设计 数码管的结构数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极,通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理。数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。数码管符号和引脚如图2.9(a),共阳数码管内部连接如图2.9(b),共阴数码管内部连接如图2.9(c)。图2.9数码管数码管要用驱动电路来驱动数码管的各个段码,可以分为静态显示和动态显示两类。(1)动态显示:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp“的同名端连在一起,另外为每个数码管的公共极COM由位选通控制电路控制,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,但是能够节省大量的I/O端口,功耗更低。(2)静态显示驱动:静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89c52单片机可用的I/O端口才32,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。此设计显示电路采用简单实用的4位共阳LED数码管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.1、P2.3、P2.5、P2.7口。为了减少硬件开销,提高系统可靠性并降低成本,此超声波测距的单片机控制系统采用动态扫描显示,并且软件消影。显示电路如图2.10。图2.10数码管显示电路图第三章单片机AT89C523.1AT89C52单片机的构成AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52单片机引脚图如图3.1。图3.1AT89C52单片机引脚图3.2AT89C52单片机的工作原理单片机是通过执行程序来工作的,机器执行不同程序就能完成不同的运算任务。因此,单片机执行程序的过程实际上也体现了单片机的基本工作原理。为此,先从指令程序谈起。1.单片机的指令系统和程序编制前面已经介绍,指令是一种可以供机器执行的控制代码,故它又称为指令码(InstructionCode)。指令码由操作码(OperationCode)和地址码(AddressCode)构成:操作码用于指示机器执行何种操作;地址码用于指示参加操作的数在哪里。其格式为:操作码地址码指令码的二进制形式既不便于记忆,又不便于书写,故人们通常采用助记符形式来表示,表3.1所列。表3.1指令的三种形式指令的二进制形式指令的十六进制形式指令的汇编形式01110100data174data1MOVA,#data1;A←data100100100data224data2ADDA,#data2;A←data1+data210000000111111080FESJMP$;停机2.单片机执行程序的过程程序通常是顺序执行的,因此程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,以指向下一条指令的起始地址,保证指令顺序执行。3.3AT89C52单片机特性3.3.1AT89C52标准功能(1)与MCS-51单片机产品兼容(2)8K字节在系统可编程Flash存储器(3)1000次擦写周期(4)全静态操作:0Hz~33Hz(5)三级加密程序存储器(6)32个可编程I/O口线(7)三个16位定时器/计数器(8)八个中断源(9)全双工UART串行通道(10)低功耗空闲和掉电模式(11)掉电后中断可唤醒(12)看门狗定时器(13)双数据指针(14)掉电标识符3.3.2管脚说明(1)VCC:电源(2)GND:地(3)P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。(4)P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输出口使用。作输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.2所示。在flash编程和校验时,P1口接收低8位地址字节。表3.2P1口第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)(5)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。(6)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C52特殊功能(第二功能)使用,如表3.3所示。在flash编程和校验时,P3口也接收一些控制信号。表3.3P3口第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)(7)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。(8)ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。(9)PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。(10)EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。(11)XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。(12)XTAL2:振荡器反相放大器的输出端。第四章软件设计4.1程序设计总体分析超声波测距器软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序组成。超声波主程序首先对系统初始化,设置定时器的初值和工作方式,使总中断允许位EA=1,并给显示端口清零。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延时0.1ms(这也就是测距器会有一个最小可能测距的原因)后,才能打开外中断0接收返回的超声波信号。由于采用12MHZ的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距器之间的距离,设计时取20摄氏度时的声速344m/s,则有:,(其中T0为计数器T0的计数值)。4.2程序流程图超声波测距器程序流程图如图4.1所示。系统初始化开始系统初始化开始发射超声波脉冲接收超声波脉冲计算距离显示结果图4.1超声波测距器程序流程图4.3电路程序设计#include<reg51.h>#include<math.h>/*主程序*/voidmain(){ inti; init_CTC(); /*初始化定时器*/ init_INT(); /*初始化外部中断*/ CLflag=1; /*测量标志*/ for(i=6;i>4;i--) disp[i]=0xff; cshu=0; /*传数*/ delay(200);/*延时*/; IE=0x80; /*开中断*/ ET1=1;ET0=1; TR1=0;TR0=0; TL1=T12us;TH1=T12us; while(1) { CLflag=0; cshu=0; EX0=0; TH1=T12us; TL1=T12us; TL0=0;TH0=0; /*定时器0的初始时间*/ VOLCK=0; TR1=1; /*启动定时器1,发送信号*/ while(cshu<3); /*发1个脉冲串*/ TR1=0; TR0=1; /*启动定时器0,开始记时*/ EX0=1; display(); }}4.4电路焊接与整机调试超声波测距器的制作和调试,其中超声波发射和接收采用Φ16的超声波换能器TCT40-16F1(T发射)和TCT40-16S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论