单片机的超声波测距.docx

上传人:b****3 文档编号:3878531 上传时间:2023-05-06 格式:DOCX 页数:20 大小:169.07KB
下载 相关 举报
单片机的超声波测距.docx_第1页
第1页 / 共20页
单片机的超声波测距.docx_第2页
第2页 / 共20页
单片机的超声波测距.docx_第3页
第3页 / 共20页
单片机的超声波测距.docx_第4页
第4页 / 共20页
单片机的超声波测距.docx_第5页
第5页 / 共20页
单片机的超声波测距.docx_第6页
第6页 / 共20页
单片机的超声波测距.docx_第7页
第7页 / 共20页
单片机的超声波测距.docx_第8页
第8页 / 共20页
单片机的超声波测距.docx_第9页
第9页 / 共20页
单片机的超声波测距.docx_第10页
第10页 / 共20页
单片机的超声波测距.docx_第11页
第11页 / 共20页
单片机的超声波测距.docx_第12页
第12页 / 共20页
单片机的超声波测距.docx_第13页
第13页 / 共20页
单片机的超声波测距.docx_第14页
第14页 / 共20页
单片机的超声波测距.docx_第15页
第15页 / 共20页
单片机的超声波测距.docx_第16页
第16页 / 共20页
单片机的超声波测距.docx_第17页
第17页 / 共20页
单片机的超声波测距.docx_第18页
第18页 / 共20页
单片机的超声波测距.docx_第19页
第19页 / 共20页
单片机的超声波测距.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机的超声波测距.docx

《单片机的超声波测距.docx》由会员分享,可在线阅读,更多相关《单片机的超声波测距.docx(20页珍藏版)》请在冰点文库上搜索。

单片机的超声波测距.docx

单片机的超声波测距

基于单片机的超声波测距仪LED显示电路的设计

 

本设计主要是基于AT89S51芯片为核心的超声波测距仪,并有超声波处理模块CX20106A、CD4069组成的超声波发射电路、数码管显示等器件组成,包括单片机系统、超声波发射电路、超声波接收电路、单片机复位电路、LED显示电路。

主要实现超声波测距并指示功能。

依据实际的测量精度要求还可以添加温度补偿电路。

本系统成本低廉,功能实用。

 1引言

  随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。

但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:

研制具有更高定位精度的被动测距声纳,以满足水中武器ž施全隐蔽攻击的需要;继续发u采用低频线谱检测的潜艇拖￳线列阵声纳,实现超远程的被动探测和识K;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。

无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。

随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。

在新的世纪里,面貌一新的测距仪将发挥更大的作用。

  随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。

但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。

因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。

城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。

而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。

控制系统核心部分就是超声波测距仪的研制。

因此,设计好的超声波测距仪就显得非常重要了。

这就是我设计超声波测距仪的意义。

2总体设计方案

  2.1设计思路

  2.1.1超声波测距仪的设计思路

  超声波是指频率高于20KHz的机械波。

为了以超声波作为检测手段,必须产生超生波和接收超声波。

完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。

超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。

超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。

 

  超声波测距的原理一般采用渡越时间法TOF(timeofflight)。

首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离

  测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。

因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0MHZ晶振,所以此系统的测量精度理论上可以达到毫米级。

  由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。

利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。

  超声波发生器可以分为两类:

一类是用电气方式产生超声波,一类是用机械方式产生超声波。

本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。

  2.12超声波测距原理

  发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。

由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。

在使用时,如果温度变化不大,则可认为声速是基本不变的。

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

 表1超声波波速与温度的关系表

  温度(℃)

  -30

  -20

  -10

  0

  10

  20

  30

  100

  声速

  (m/s)

  313

  319

  325

  323

  338

  344

  349

  386

  2.2超声波测距仪原理框图

  根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如图1.

  查看原图(大图)對  3.设计原理分析

 ＀3.1系统组成

  3N1.1硬件部分

  主要由单片机系￟及显示电路、超声波发射电路和超声¬检测接收电路三部分组成。

采用AT89S51来实现对超声波发射和接受处理模块的控制。

单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。

计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

  3.1.2软件部分

  主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分。

  3.2系统硬件电路设计

  3.2.1单片机最小系统

  其作用主要是为了保证单片机系统能正常工作。

如图2所示,单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V电源组成。

在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。

在复位电路中,单片机RESET管脚一方面经20F的电容接至电源正极,实现上电自动复位,另一方面经开关s接电源。

其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动,因此,复位电路是单片机系统中不可缺少的一部分。

  查看原图(大图)

  3.2.2单片机测距原理

  单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。

限制该系统的最大可测距离存在4个因素:

超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。

接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。

为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法,限于实际需要,本电路只采用单路超声波发射接收。

由于超声波属于声波范围,其波速C与温度有关。

  3.2.3 超声波发射电路              

  压电超声波转换器的功能:

利用压电晶体谐振工作。

内部结构上图所示,它有两个压电晶片和一个共振板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。

超声波发射转换器与接受转换器其结构稍有不同。

  压电式超声波换能器是利用压电晶体的谐振来工作的。

超声波换能器内部有两个压电晶片和一个换能板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。

超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。

本设计中发射器电路采用集成电路模块不需考虑这些问题,主要是采用4069反相器在换能器两端提供脉冲信号。

其原理图如图3所示。

  查看原图(大图)

  3.2.4 超声波检测接收电路

  集成电路CX20106A是一款红外趿检波接收的专用芯片,常用于U视机红外遥控接收器。

考虑P红外遥控常用的载波频率38kHz与k距的超声波频率40kHz较为接￑,可以利用它制作超声波检测接收电路(如图2-3)。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容CS的大小,可以改变接收电路的灵敏度和抗干扰能力。

此部分电路在集成芯片上。

  查看原图(大图)

  3.2.5 LED显示电路

  根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,显示电路如下图5

  查看原图(大图)

 3.3 系统软件的设计

  本设计基于汇编语言编程,其软件设计思路如下:

  3.3.1超声波测距仪的算法设计

  超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

距离的计算公式为:

  d=s/2=(c×t)/2                       

(1)                                                           

  其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

其部分源程序如下:

WORK:

 PUSH    ACC

      PUSH    PSW

      PUSH    B

      MOV     PSW,#18H

      MOV   R3,45H 

      MOV   R2,44H 

      MOV   R1,00D

      MOV   R0,17D

      LCALL MUL2BY2

      MOV   R3,#03H

      MOV   R2,0E8H

      LCALL DIV4BY2

      LCALL DIV4BY2

      MOV   40H,R4

      MOV   A,40H

      JNZ   JJ0

      MOV   40H,#0AH

 JJ0:

 MOV   A, R0

      MOV   R4,  A

      MOV   A,   R1

      MOV   R5,  A

      MOV   R3,  00D 

      MOV   R2, #100D

      LCALL DIV4BY2

      MOV   41H,R4

      MOV   A,41H

      JNZ   JJ1

      MOV   A,40H

      SUBB  A,#0AH

      JNZ   JJ1

      MOV 41H,#0AH

JJ1:

  MOV A,R0

      MOV R4,A

      MOV A,R1

      MOV R5,A

      MOV R3,#00D

      MOV R2,10D

      LCALL DIV4BY2

      MOV 42H,R4

      JNZ JJ2

      MOV A,41H

      SUBB A,#0AH

      JNZ JJ2

      MOV 42H,#0AH

JJ2:

  MOV 43H,R0

      POP b

      POP PSw

      POP AcC

      RET

 3.3.2@主程序流程图

  软件分为两部&,主程序和中断服务程序,如图3-1(a)(b)(c)所示。

主程序完成初始化工作、各路超声波发射和接收顺序的控制。

  定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。

  主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。

置位总中断允许位EA并给显示端口P0和P1清0。

然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。

由于采用的是12MHz的晶振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式

(2)计算,即可得被测物体与测距仪之间的距离,设计时取20℃时的声速为344m/s则有:

  d=(c×t)/2=172T0/10000cm             

(2)

  其中,T0为计数器T0的计算值。

  测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。

为了有利于程序结构化和容易计算出距离。

             

  查看原图(大图)      

 3.3.3超声波发生子程序和超声波接收中断程序 

  超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。

  超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。

进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。

前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。

部分源程序如下:

INTT0:

 CLR  EA

       CLR  TR0

       MOV  TH0,#00H

       MOV  TL0,#00H

       SETB ET1

       SETB EA

       SETB TR0

       SETB TR1

OUT :

   RET;T1中断,发超声波用:

INTT1 :

 CPL  VOUT

       DJNZ R4,RETIOUT

       CLR  TR1

       CLR  ET1

       MOV  R4,#04H

       SETB EX0

RETIOUT:

RETI;外中断0,收到回波时进入

PINT0:

 CLR TR0

       CLR TR1

       CLR ET1

       CLR  EA

       CLR  EX0

       MOV  44H,TL0

       MOV  45H,TH0

       SETB 00H

       RETI

 3.3.3超声波发生子程序和超声波接收中断程序 

  超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

超䫰波发生子程序较简单,但要求+序运行准确,所以采用汇编■言编程。

  超声波测距仪主程序利用稖中断0检测返回超声波信号,一旦接謶到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。

进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。

前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。

部分源程序如下:

INTT0:

 CLR  EA

       CLR  TR0

       MOV  TH0,#00H

       MOV  TL0,#00H

       SETB ET1

       SETB EA

       SETB TR0

       SETB TR1

OUT :

   RET;T1中断,发超声波用:

INTT1 :

 CPL  VOUT

       DJNZ R4,RETIOUT

       CLR  TR1

       CLR  ET1

       MOV  R4,#04H

       SETB EX0

RETIOUT:

RETI;外中断0,收到回波时进入

PINT0:

 CLR TR0

       CLR TR1

       CLR ET1

       CLR  EA

       CLR  EX0

       MOV  44H,TL0

       MOV  45H,TH0

       SETB 00H

       RETI

超声波检测接收电路主要是由集成电路CX20106A组成,它是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容Cs的大小,可以改变接收电路的灵敏度和抗干扰能力。

  在元件及调制方面,由于采用的电路使用了很多集成电路。

外围元件不是很多,所以调试不会太难。

一般只要电路焊接无误,稍加调试应该会正常工作。

电路中除集成电路外,对各电子元件也无特别要求。

若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。

  我要感谢孔老师,邵老师和陈老师在设计中对我给予的悉心指导和严格要求,同时也感谢本班同学在设计期间所给予我的帮助。

在我论文写作期间,各位同学给我提供了种种专业知识上的指导,使我能够这么顺利的完成设计与制作,借此机会,向您们表示由衷的感激。

同时还要感谢系实验室在设计期间提供给我们优越的实验条件。

  附录一:

电气原理图

  查看原图(大图)

  附录二:

程序调试

VOUT EQU P1.0

ORG  0000H

LJMP START

ORG  0003H

LJMP PINT0

ORG  000BH

LJMP INTT0

ORG  0013H

RETI

ORG  001BH

LJMP INTT1

ORG  0023H

RETI

ORG  002BH

RETI

;***********主程序**************

START:

 MOV  SP,#4FH

       MOV  R0,#40H

       MOV  R7,#0BH

CLEARDISP:

MOV  @R0, #00H

          INC  R0

          DJNZ R7,CLEARDISP

          MOV  20H, #00H

          MOV  TMOD,21H

          MOV  TH0, #00H

          MOV  TL0,00H

          MOV  TH1,0F2H

          MOV  TL1,0F2H

          MOV  P0, 0FFH

          MOV  P1, 0FFH

          MOV  P2, 0FFH

          MOV  P3, 0FFH

          MOV  R4, 04H 

          SETB PX0 

        尀 SETB ET0  

 ＀        SETB＀EA  

          SETあ TR0

START1:

   LぃALL DISPLAY

          JNB   00H,START1

          CLR EA

          LCALL WORK

          SETB  EA

          CLR 00H

          SETB  TR0

          MOV  R2,#64H

LOOP:

     LCALL DISPLAY

          DJNZ R2,LOOP

          SJMP START1

 

INTT0:

 CLR  EA

       CLR  TR0

       MOV  TH0,#00H

       MOV  TL0,#00H

       SETB ET1

       SETB EA

       SETB TR0

       SETB TR1

OUT :

   RET

;T1中断,发超声波用:

INTT1 :

 CPL  VOUT

       DJNZ R4,RETIOUT

       CLR  TR1

       CLR  ET1

       MOV  R4,#04H

       SETB EX0

RETIOUT:

RETI

;外中断0,收到回波时进入

PINT0:

 CLR TR0

       CLR TR1

       CLR ET1

       CLR  EA

       CLR  EX0

       MOV  44H,TL0

       MOV  45H,TH0

       SETB 00H

       RETI

;*****显示程序:

**********

       DISPLAY:

MOV R1, #40H;G

               MOV R5,#0F7H;G

       PLAY:

   MOV A,R5

               MOV P0,#0FFH

               MOV P2,A

               MOV A,@R1

               MOV DPTR,#TAB

               MOVC A,@A+DPTR

               MOV P0,A

               LCALL DL1MS

               INC R1

               MOV A,R5

               JNB ACC.0,ENDOUT;G

               RR A

               MOV R5,A

               AJMP PLAY

ENDOUT:

        MOV R2,#0FFH

    

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2