超声波测距.doc_第1页
超声波测距.doc_第2页
超声波测距.doc_第3页
超声波测距.doc_第4页
超声波测距.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

题 目: 基于51单片机的超声波测距器的设计摘要在基于传统的测距离的方法存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极法,通过给电或脉冲来检测液面,电极长期浸泡与水中或其他液体中,极易被腐蚀、电解、失去灵敏性。由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工作控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。超声波测距电路可以由传统的模拟或者数字电路构建,但是由于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。目录基于51单片机的超声波测距器的设计11、系统描述:12、硬件框图及其简介:22.1硬件框图:22.2硬件简介32.2.1单片机系统及显示电路32.2.2超声波发射电路32.2.3超声波检测接收电路43、软件框图及简介:53.1超声波测距器的算法53.2主程序53.3超声波发生子程序和超声波接收中断程序64、系统硬件图片:8参考文献9II基于51单片机的超声波测距器的设计1、系统描述:本设计使用AT89C51系列高速单片机作为主控制模块。系统采用12MHz高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。超声波测距器可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可以用于如液位、井深、管道长度、物体厚度等的测量。其测量范围为0.104.00m,测量精度1cm。测量时与被测物体无直接接触,能够清晰、稳定地显示测量结果。2、硬件框图及其简介:2.1硬件框图:2.2硬件简介硬件电路大致可分成单片机系统及显示电路,超声波发射电路和超声波检测接收电路三部分。2.2.1单片机系统及显示电路单片机采用AT89C51芯片。系统采用12MHz高精度的晶振,以获得较稳定的时钟频率,并减小测量误差。单片机用P1.0的端口输出超声波换能器所需的40kHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,4位共阳LED数码管用74LS244驱动,4位共阳LED数码管用PNP三极管9012驱动。2.2.2超声波发射电路发射电路主要由反向器74LS04超声波换能器构成,单片机P1.0端口输出的40kHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R10、R11一方面可以提高反向器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。2.2.3超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路。实验证明,用CX20106A接收超声波(无信号时输出高电平)具有很高的灵敏度和较强的抗干扰能力。适当地更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。3、软件框图及简介:超声波测距器的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。由于C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序运行的时和超声波发生子程序和间,而超声波测距器的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。下面对超声波测距器的算法、主程序、超声波发生子程序和超声波接收中断程序逐一介绍。3.1超声波测距器的算法超声波发生器T在某一时刻发出一个超声波信号,当这个超声到遇到被测物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用时间,就可以算出超声波发生器与反射物体的距离。该距离的计算公式如下:d=s/2(v x t)/23.2主程序主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms后才打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计数器每计一个数就是1us,所以当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(3-2)计算,即可得被测物体与测距器之间的距离。设计时取20时的声速为344m/s,则有d=(v x t)/2=(172T。/10000)cm (3-2)其中:T。为计数器T0的计数值。测出距离后,结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。下图为主程序流程图。系统主程序流程图3.3超声波发生子程序和超声波接收中断程序程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率约40kHz的方波)。脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。进入该中断后,就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示本次测距不成功。4、系统硬件图片:参考文献1 付家才.EDA原理与应用M.北京:化学工业出版社,2001.2 潘松,王国栋.VHDL实用教程M.西安:西安电子工业出版社,2002.3 陈雪松,腾立中. VHDL入门与应用M.北京:人民邮电出版社,2000.4 边计年,薛宏熙.用VHDL设计电子线路M.北京:清华大学出版社,2000.5 赵雅兴FPGA原理、设计与应用M天津:天津大学出版社,1999.6 谢云,易波,刘冰茹,王春茹.现代电子技术实践课程指导M.北京:机械工业出版社,2003.7 赵学泉,延明,李绍胜.电子电路实验技术M.北京:北京邮电大学出版社,1998.8 实验科学与技术 Experiment Science and TechnologyJ

温馨提示

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

评论

0/150

提交评论