基于单片机的超声波测距仪毕业论文

上传人:仙*** 文档编号:99910661 上传时间:2022-06-01 格式:DOC 页数:33 大小:1.44MB
返回 下载 相关 举报
基于单片机的超声波测距仪毕业论文_第1页
第1页 / 共33页
基于单片机的超声波测距仪毕业论文_第2页
第2页 / 共33页
基于单片机的超声波测距仪毕业论文_第3页
第3页 / 共33页
点击查看更多>>
资源描述
目录摘要1Abstract2第1章绪论31.1 课题研究的目的与意义31.2 国外研究动态31.3 论文主要容4第2章系统的总体设计52.1 设计方案52.2 系统的硬件选型52.2.1 单片机选型52.2.2 超声波传感器选型62.2.3 超声波接收芯片选型72.2.4 显示器选型7第3章系统的硬件设计83.1 基本系统构成83.1.1 系统电源电路93.1.2 超声波发射电路93.1.3 超声波接收电路103.1.4 晶振电路113.1.5 复位电路113.1.6 显示电路123.1.7 报警电路133.2 电路原理图133.3 PCB图14第4章系统的软件设计154.1 软件keil的简介154.2 主程序流程154.3 超声波收发模块程序设计164.3.1 超声波收发中断子程序174.3.2 距离测算子程序194.4 显示模块程序设计194.4.1 初始化程序214.4.2 显示程序214.4.3 延时程序224.5 现场实测距离显示23第5章结论245.1 总结245.2 系统实物图形255.3 展望25致26参考文献27附录2831 / 33摘要本文阐述了基于51单片机的超声波测距仪的设计过程和运行结果。AT89C51单片机控制定时器产生方波脉冲,同时计时器T1开始计时。发出的超声波在空气中传播,而后遇到障碍物体的表面时超声波折返,超声波接收模块接收返回的超声波信号并且把超声波信号转化为电信号。计时器记录超声波往返所用的时间,从而由51单片机计算得到实测距离。再使用四位数码管显示距离。 硬件电路由超声波发射电路、超声波接收电路、电源电路、四位数码管显示电路、电铃报警电路、12MHz晶振电路等组成。各引脚接收的信号经单片机综合分析处理,最终实现超声波测距仪的测距功能。本文将具体介绍设计思路、硬件选型、程序流程等设计相关的容。本测距仪成品具有很好的稳定性与操作简易性。在准确度方面,测量准确度较高,可以精确到厘米级,达到了预期的测量准确度。 关键词:AT89C51 超声波 测距square-waveAbstractIn this paper, based on 51 MCU, ultrasonic range finder design process and its operation principle: AT89C51 control timer square wave pulse is produced. At the same time T1 timer start timing. Emit ultrasonic in the air spread, and then encountered obstacles surface ultrasonic reentrant, ultrasonic receiving module receiving returned ultrasonic signal and the ultrasonic signals are converted to electrical signals. The timer recording ultrasonic round-trip time used, thus obtains the measured distance calculated by the 51 single chip microcomputer. Then the use of four digital tube display distance.硬件电路由超声波发射电路、超声波接收电路、电源电路、四位数码管显示电路、电铃报警电路、12MHz晶振电路等组成。各引脚接收的信号经单片机综合分析处理,最终实现超声波测距仪的测距功能。本文将具体介绍设计思路、硬件选型、程序流程等设计相关的内容。本测距仪成品具有很好的稳定性与操作简易性。在准确度方面,测量准确度较高,可以精确到厘米级,达到了预期的测量准确度。Hardware circuit consists of an ultrasonic emission circuit, ultrasonic receiver circuit, the power circuit, four digital tube display circuit, an electric bell alarm circuit, 12Mhz crystal oscillator circuit. The received signal of each pin SCM comprehensive analysis, finally realize the ranging function of ultrasonic rangefinder. This paper introduces the design idea, hardware selection, program flow design related content. The range finder product has good stability and easy to operate. In terms of accuracy, high measurement accuracy, can be accurate to centimeter level, to achieve the desired accuracy.Keywords:AT89C51 Ultrasonic Wave Measure Distance第1章 绪 论1.1 课题研究的目的与意义超声波技术的发展飞速,它已从早期的原理理论研究慢慢发展到如今的各种领域。当代的超声波技术能够广泛应用于无损探伤、测量温度、测量距离、测量液体流量、测量液体成分、多种岩体检测等方面。超声波在应用到测距方面时拥有这几个与众不同的优点:首先是所测环境的测量媒介并不限制于空气,液体或固体等也能进行有效测量,具有广泛的适用性;其次是超声波这种测量载体,它对于测量环境本身存在光线,如、灯光,以与各物体和环境产生电磁场并不敏感,它能在黑暗无光、扬尘、天气大雾甚至强电磁干扰的恶劣测量条件中正常工作,能有效降低测距作业的人力、环境成本;三是超声波测距仪结构简单小巧,所需造价低廉,设备用到的单片机简单可靠,很容易批量生产。在超声波探伤、自动停车系统和倒车雷达系统中,超声波测距有重要的应用。总的来看,使用单片机为核心元件已是现在超声波测距仪的主要选择。所以,本课题将研究基于单片机的显著优势,设计以其为基础的性能优良、功能全面的超声波测距仪。可以预见在不久的未来,超声波测距设备在更广泛更严苛的工程应用中都将有很大的发展潜能,它将朝着更加高定位高精度的研究方向发展,并作为一种常用工具满足社会快速发展需求,因此,为了使我国的超声波设备逐步跟进国际水准,对超声波测距系统高精度、广围和实时性的课题进行深入研究是有很大的实际意义。1.2国外研究动态现在对超声波技术革新的需求越来越大。由于超声波独特的特质,导致许多恶劣的工作环境、广泛的工程场合都急需高精度高适应性的尖端超声波测距设备。查阅相关文献可知,我国最新的采用随时间变化的自动增益控制(AGC)电路的超声波测距仪的有效测量围可达2m,测量盲区可减小为100mm,最大误差不超过5%。国外高精度测距仪的精度可以达到正负1mm。由此可见我国最新的超声波测距设备和国际最顶尖的水平还是有一定的差距,当然,这种差距也在逐步减少。因为国外对于超声波技术的交流和研发也愈发频繁和深入。掌握成熟稳定的超声波测距技术决定了一个国家测控领域的水平。总的来说,超声波测距的精度突破毫米级,达到更高的精度和方向性也是国外对这一领域科研发展的前进方向。考虑到超声波测距的广阔前景,超声波技术的日益精进,更加广泛的适用领域将会成为必然。1.3论文主要容本论文主要介绍利用超声波原理和单片机为控制平台完成测距功能的基于单片机的超声波测距仪的设计过程。论文将主要分为硬件选型、电路原理图详解和程序与其注释三个核心部分。硬件选型将依次介绍本设计中所使用的单片机型号、芯片型号、各类元器件型号,并依次给出它们的优劣,以与和最终选择的原因。第二部分为电路图原理详解。在这部分中,将会将设计的各个模块、各部分电路进行一一介绍。以与各电路中一些重要元器件的作用、数值大小的影响等具体分析。然后是程序部分。将会结合程序流程图对各功能段进行逐句解释,完整全面的介绍软件部分的设计思路。最后是实测结果和总结部分,本设计基本完成了预期设计的功能,但还是有许多不足。在后文中会一一分析、总结。第2章 系统的总体设计2.1设计方案由AT89C51单片机控制定时器产生超声波方波脉冲并启动部的计数器开始计时,通过反向器逐级放大,驱动超声波换能器把电信号转化为超声波信号。发出的超声波在空气介质中传播,遇到障碍物表面时超声波返回,再由超声波接收模块接收折返的超声波,接着芯片CX20106A将超声波信号转化为电信号并对计时经行中断。51单片机通过计算超声波自发射至接收的往返时间差,从而得到实测距离。并用四位数码管显示器来显示距离。最终达到测量距离的设计功能。2.2系统的硬件选型2.2.1单片机选型AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51单片机的部存储器大小为2K,而且该可擦除存储器可以擦除使用超过千次,这个可闪存编辑器基本可以适应于绝大多数的工程应用条件。它采用了ATMEL公司最新的存储器制造技术,并且与标准的MCS51的引脚和指令一样。AT89C51价格低廉,使用广泛,它为许多嵌入式控制系统提供了可靠高效的核心元器件。A.与MCS-51单片机产品兼容B.8K字节在系统可编程Flash存储器C.1000次擦写周期D.全静态操作:0Hz33Hz E.三级加密程序存储器F.32个可编程I/O口线G.三个16位定时器/计数器H.八个中断源I.全双工UART串行通道J.低功耗空闲和掉电模式K.掉电后中断可唤醒L.看门狗定时器M.双数据指针N.掉电标识符AT89C51单片机外形与引脚排列如图2-1所示:图2-1 单片机的外形和引脚图2.2.2超声波传感器选型本系统选择使用分体式超声波传感器T40-16 、R40-16作为超声波发射和接收的元器件。T40和R40广泛适用于日常生活的各个地方,它具有优秀的可靠性、稳定性以与相对客观的精度。元件本身价格便宜,在倒车雷达、无损测伤、测距、测流速方面已有成熟的应用历史。T40和R40传感器的性能参数如下:A.标准收发频率(KHz):40KHz B.换能器发射声压:在10V的情况下(0dB=0.02mPa):110dB C.接收性能参数在接收40KHz声波情况下 (0dB=V/ubar):-70dB D.静电容量在1KHz,1V (PF)的情况下:200030%图2-2 超声波换能器2.2.3 超声波接收芯片选型集成电路CX20106A是红外线检波专用的接收芯片,生活中常用的电视机遥控器的红外收发模块就是以CX20106为核心制作的。CX20106的接收频率为38Hz,这十分接近本设计的40Hz超声波信号的频率。此外,根据相关文献的实验数据表明,CX20106A接收超声波具有很好的灵敏度和较强的抗干扰能力。所以,最终本设计选择集成电路CX20106作为超声波接收电路所选用的接受芯片。图2-3 超声波接收芯片CX201062.2.4 显示器选型led数码管(LED Segment Displays)是有多段发光二极管组成“8”和“.”的字样,本设计由于要显示5厘米到300厘米区间的数值,所以选用四位LED数码管。四位数码管有12个引脚分别为8个段选引脚和4个位选引脚。所以本设计选用共阳极四位LED数码管作为显示元器件。它能够被广泛使用和它的特点是分不开的,特点如下:A.led数码管它的发光响应时间短,不易受干扰,而且可以根据需要选用不同颜色的发光二极管来显示不同颜色的数字,以满足不同场合的需要。B.led数码管结构紧凑小巧,造价低廉,适用于各种经典电路,而且它具有很客观的使用寿命,基本可达到上百小时的工作时间。C.驱动数码管发光的电流适中,工作电压低,适合广泛的应用电路。图2-4 LED显示器第3章 系统的硬件设计3.1基本系统构成图3-1 系统结构框图本系统基于单片机80c51的各种功能,由4位led显示电路、距离报警电路、超声波发射电路、超声波接收电路、电源电路、晶振电路、以与复位电路等构成。依照先期预设的设计方案,本设计将具备如下功能:A.由超声波的收发,测算出距离并显示精确到厘米级的数值;B.当距离过大或未能检测到回波时显示未能测算的符号;C.当距离过小时,距离报警电路将驱动电铃报警示意;D.当系统出错时,可由复位电路的开关复位重启。3.1.1 系统电源电路图3-2 系统电源电路为了使超声波测距仪能够方便携带使用,本设计使用9v电池供电。利用ls7805提供元件所用的5v直流电源。当有电池安装并且有电时,led二极管将会发光显示。由于7805自身对高频波的抑制能力不强,所以使用高频滤波电容C5,用以防止高频波从电源线进入7805,从而影响后面的电路。C6是一个低频滤波电容,主要是降低电源中的低频交流干扰。C7和C5的作用是一样的,它与C6并联,一同降低7805输出的低频和高频干扰波,使电源更加可靠。3.1.2超声波发射电路图3-3 超声波发射电路超声波发射电路由单片机P.0口产生的40KHz方波驱动,一路经两个反相器74LS04并联取反连接至超声波换能器的一个电极,另一路经一个反相器串两个反相器并联连接至超声波换能器的另一个电极。利用这种推挽方式将单片机产生的方波信号传送到超声波换能器两端,它的优点在用提高的超声波换能器的输出强度。而两个上位电阻可以调节输出驱动能力,还可以缩短超声波换能器自由振荡的时间。3.1.3超声波接收电路图3-4 超声波接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,日常生活中的电视遥控器就使用这一芯片作为接收信号的核心元器件。而电视遥控器的接收频率为38Hz,这和本设计所需的40Hz接收要求十分接近,所以选择CX20106A作为核心元器件来设计超声波接收电路。上图所示的就是本设计所用的超声波接收电路。实验数据证明,CX20106A为核心的超声波接收模块,具有很好的灵敏度和较强的抗干扰能力,基本可以胜任预期设计的功能要求。此外,适当改变电容C2的大小,还能够改变接收电路的灵敏度和抗干扰能力,达到最佳的可靠性与稳定度。3.1.4晶振电路图3-5 晶振电路本电路利用起振器为单片机提供12MHz的时钟频率。晶振的振荡频率决定了单片机运行的速度快慢,不仅如此,更高的晶振频率也对存储器和电路板的硬件性能提出了更高的要求。如同木桶原理,单片机的性能不止由它本身决定,CPU的运算速度只是一个要素,只有存储器件和外设通信速度都能契合才能达到一个合适的运行状态。因此,一般选用612MHz。并联谐振电路上的电容会影响晶振振荡器的稳定性,一般选择20100pF的电容。由相关文献得知,65pF左右的电容与振荡器的稳定、振荡器频率高低、起振速度有较好的帮助。所以本电路中C11和C12选择66pF的电容。此外,选用瓷封装的电容可以提高对温度的抗干扰性。3.1.5复位电路图3-6 复位电路51单片机是高电平复位,当单片机加5V电源启动时,这时电容充电相当于短路, RST上的电压为VCC,此时单片机进行复位指令。之后电容充电使电容两端电压升高,从而导致RST上的电压变低,当电压值低于规定值时,单片机完成复位。在操作时,按下复位开关后,电容C13则被短路。此时C13释放储存的电能,导致RST引脚接至高电平。然后时间超过复位规定的时间,单片机便完成复位操作。开关复位再导致RST引脚回到低电平状态,之后单片机正常运行。3.1.6显示电路图3-7 显示电路由单片机P0口输出段选,P2.0P2.3进行位选,经4位led显示器显示单片机计算的测量距离,单位为厘米。3.1.7报警电路图3-8 报警电路本电路由单片机P1.2口控制,当计算距离大于或小于设定值时使电铃通电报警。3.2电路原理图图3-9 电路原理图电路原理图如图3-9所示,由51单片机、超声波发射电路、超声波接收电路、电源电路、晶振电路、系统复位电路、数码管显示电路以与报警电路经导线连接构成。3.3 PCB图图3-10 PCB图完善好电路图后,通过protel将电路原理图转换成PCB图。依照信号流向、主从关系以与方便显示的排序原则,依次放置各个元器件。再元器件布局完成后,设定布线规则。在该设计中,我们将电气规则中的间距由默认的10mil调整至12mil。新建间距规则,定义接地网络和电源网络的最小间距改为15mil。更改布线选项中的线宽规则,将推荐线宽值改为12mil,再新建电源网络线宽规则,将推荐的线宽设为20mil。再新建接地网络的线宽规则,设定值同之前的电源网络。然后更改布线优先级设置,新建一个新的布线优先级规则,设定为电源网络的布线优先级,并设定为1。而其他网络的布线优先级设定为2。最后将过孔的外径设定为30mil,将径设定为12mil。以上为本pcb图中所主要使用的设计规则。最后在自动布线的基础上经行手工修改,更改了繁杂缠绕、过密过疏的布线,使整个pcb图的到更好的完善。第4章 系统的软件设计4.1软件keil的简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与单片机本身的汇编语言相比,C语言是更容易掌握的计算机语言,极大的提升了单片机编程的适用性。而且keil自带了功能强大的仿真功能,几乎可以仿真大部分IO端口和部资源信号。Keil C51可以在它自带的仿真调试器完成软件的编译和开发工作,极大的提高了编译效率。它还具有方便简易的集成功能。Keil可在Windows98、NT、Windows2000、WindowsXP等操作系统下使用。最新的版本可以再win7、win8条件下使用。 2009年2月发布Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使用户可以使用多个窗口来监视程序的运行,也更加便于用户调取所需的运行参数。新产品调整了操作界面使用户更便于利用屏幕空间做更有效的操作。整洁有序的操作环境帮助了用户直接简单的完成单片机的编译工作。而且此次升级也添加了许多新的功能,更加全面的仿真环境,支持更多的单片机芯片以与更加方便的调试操作。2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil Vision4,其编译器、调试工具实现与ARM器件的最完美匹配。Keil有如下3个显著优点:A.Keil C51自动生成汇编代码的速度很快,效率优异,所生成的汇编代码会相对简洁易读。在用户检查源代码时会有很好的使用体验。B.单片机原有的汇编语言比较晦涩、不直观。而keil所使用的C语言确是计算机大众所熟悉是初学者容易上手掌握的语言,这大大提高的用户的普适性。C.Keil的纯软件仿真功能十分强大,它自带的仿真功能几乎可以模拟出绝大多数常用的IO口或部资源,为编程人员的高效编译提供便捷。所以本次基于单片机的超声波测距仪的设计选择使用Keil来负责程序部分的编译任务。4.2主程序流程程序设计方面主要依照如下流程图的设计规划来进行编程。电源开关打开后,系统自动运行初始化程序,定义定时器工作方式。然后发射超声波,并且计时器t1开始计时,当接收到反射时,定时器t1停止,保存计数。单片机依据计数计算距离,进行显示,当超出围时,报警鸣铃。当复位开关按下时,系统复位。下面将依次就超声波收发模块程序、超声波中断子程序、距离测算子程序和四位数码管显示模块程序来分别详细介绍所编程序以与设计思想。开始系统初始化发射超声波t1计时接收到反射信号发出中断指令计时器停止计时单片机计算距离数值显示并延时YN图4-1 主程序流程图4.3超声波收发模块程序设计利用单片机发出40Hz的方波传输给超声波发射电路,经超声波发射电路驱动T40发出超声波,然后当超声波接收模块接收到返回信号时,将向P3.3发出中断信号,使计时器t1得出超声波传输的具体时间。以上就是本设计的工作原理。而程序设计也依据上述原理展开编译。一下将分别通过超声波收发中断子程序和超声波测距子程序来具体介绍程序的具体语句并在程序右侧逐条解释语句含义。4.3.1超声波收发中断子程序图4-2 超声波收发中断子程序流程图本段程序将完成以下几个功能:首先,由延时程序循环构成40Hz的方波经P1.0发出。然后是接收回波的中断子程序,以与相关的距离报警判断。以下为程序详解:void main()Trig=0; /首先拉低脉冲输入引脚 EA=1;/打开总中断0 .3TMOD=0x10; /定时器1,16位工作方式 while(1) EA=0; /关总中断 Trig=1; /超声波输入端delay_20us(); /延时20us Trig=0; /产生一个20us的脉冲while(Echo=0); /等待Echo回波引脚变高电平succeed_flag=0; /清测量成功标志EA=1; EX0=1; /打开外部中断0 TH1=0; /定时器1清零TL1=0; /定时器1清零TF1=0; /计数溢出标志TR1=1; /启动定时器1 delay(20); /等待测量的结果TR1=0; /关闭定时器1 EX0=0; /关闭外部中断0 if(succeed_flag=1) time=timeH*256+timeL; distance=time*0.172; /0.344/2=0.172mm if(succeed_flag=0) distance=0; /没有回波则清零beep=!beep; /测试蜂鸣器变化 /外部中断0,用做判断回波电平void exter() interrupt 0 / 外部中断0是0号 timeH =TH1; /取出定时器的值timeL =TL1; /取出定时器的值succeed_flag=1;/至成功测量的标志EX0=0; /关闭外部中断 void timer1() interrupt 3 /定时器1中断,用做超声波测距计时 TH1=0; TL1=0; 4.3.2 距离测算子程序根据定时器所得到的时间t,利用公式计算出超声波传播的距离。公式为d=165.7*t,依照上述公式完成以下的算法:#include void dist(void) double distance,t; distance=165.7*t;return(distance); 4.4显示模块程序设计图4-3 显示程序流程图本模块的程序主要负责将单片机测算出的距离显示到4位数码管上。为完成这一功能,本子程序将首先定义数字相对应的led显示编码以与所165.7用到的位选端口。程序部分由显示子程序程序和延时子程序组成。以下是本模块程序所用的声明定义部分。详细的注解在程序右侧。#include / 函数声明/= unsigned char code LED_table= 0x3f, /0 0x06, /1 0x5b, /2 AAAA 0x4f, /3 F B 0x66, /4 F B 0x6d, /5 GGGG 0x7d, /6 E C 0x07, /7 E C 0x7f, /8 DDDD H 0x6f, /9 0x00, /black 0x80 /dot ;#define black 10 / 空白#define dot 11 / 小数点unsigned char DisBuff4; /定义显示缓冲数组unsigned char COM;/ 定义通信端口/=sbit COM0=P20;sbit COM1=P21; /对应口线由硬件确定sbit COM2=P22;sbit COM3=P23; /=4.4.1初始化程序初始化程序是在每次单片机复位时,对定时器以与相关控制器进行初始的定义,下面这段程序中就定义了定时器的工作方式,并且允许了中断。void Sys_Init() TMOD=0x01; /定时器/计数器0为定时器方式16位工作模式 TH0=(65536-1000)/256; TL0=(65536-1000)%256; /1.0ms ET0=1; /定时器/计数器0中断允许 EA=1; /总中断允许 TR0=1; /启动定时器/计数器开始工作4.4.2显示程序这部分程序主要用于将单片机测算出的距离数据先分位,在依次引用之前对应的显示段码,再由位选部分进行数选。void DisplayNumber(unsigned int Num) /显示函数 unsigned char i; EA=0; /禁止总中断 for(i=0;i=0;i-) /循环4次 if (DisBuffi=0) DisBuffi=black; /消隐无效0 else break; EA=1; /总中断允许void Display_Scan() interrupt 1 / 中断服务程序,数码管选通扫描TR0=0; TH0=(65536-1000)/256; /高8位和低8位时间常数 TL0=(65536-1000)%256; TR0=1; /启动定时器0 if(COM3) COM=0; COM0=COM1=COM2=COM3=0; /将COM0-COM3置0,全暗 switch(COM) case 0: P0=LED_tableDisBuff0; COM0=1; break; /分别选通COM0-COM3高电平有效case 1: P0=LED_tableDisBuff1; COM1=1; break; case 2: P0=LED_tableDisBuff2; COM2=1; break; case 3: P0=LED_tableDisBuff3; COM3=1; break; COM+; 4.4.3延时程序Led数码管显示器正常工作时,各位显示器轮流选通。为了使其稳定显示则采用扫描方式。延时程序主要用于产生一个合适的延时,使往复选通的同时,数码管能借人眼的视觉残留,显示出相应的数字。下面为本程序的延时部分,设计的延时时间为1ms。void delayms(int ms) unsigned int i; for(;ms0;ms-) /循环ms次 for(i=0;i123;i+); 4.5现场实测距离显示图4-4 实测显示图表4-1 测量结果实际距离/cm510203040506070测量距离/cm-303343516172误差/cm-1033112实际距离/cm8090100150200250300400测量距离/cm8291101151202254304408误差/cm21142448第5章 结 论5.1总 结本基于单片机的超声波测距仪在设计之初,预期的功能是5厘米到3米的厘米级测量,而经过后期的硬件调试,对所设计的电路进行测量、校准发现其测量围25cm300cm以的平面物体的最大误差为4厘米,显示最小分辨能达到1厘米的精度。不过在测量小于0.25米的目标物体时,最大误差会达到5厘米甚至不能测量。但总体来说该测距仪还是达到了有效测距的功能,重复性和稳定性都得到了现场实测的验证。以下,就本设计的不足之处做几点分析:A.测距仪由于功率限制,并不能测量4m以上的目标物体。B.电路中的电流相对比较大,会产生一定的干扰。C.不能够实现不同温度下的测距功能。D.因为超声波是将空气作为媒介所以受电磁干扰比较大。E.被测物体表面不平整光滑时会出现较大误差。F.超声波发射接收器之间是有一个广角的,这导致了测距过近或过远时会有较大误差。由于硬件的限制,本设计的超声波测距很难达到中远距离的有效测量的功能,但是中近距离的测距精度还是可以有改进的空间。比如:可以增加一个温度测量模块,使单片机能根据温度来修正测距的误差;还可以修改完善电路,减少信号线之间的干扰;还可以使用成品的超声波发射接收模块US-10来替代本设计中的超声波发射电路和超声波接收电路。如果经过上述改进,本设计应该能做到5厘米到3米的有效厘米级测量。经过一学期的毕业设计工作,从寒假的开题报告、先期文献查阅到最后的硬件调试、论文撰写,本次毕业设计是相对圆满的完成了。虽然具体功能的实现还是存在着种种不足,但是分析与改进的过程也是一个新的锻炼。5.2系统实物图形图5-1 系统实物图5.3展 望超声波测距技术在当下蓬勃发展,是由于它的独特性质决定的。超声波穿透性强,相比于激光测距,它不需要良好的能见度。而且依靠单片机为平台的超声波测距仪价格便宜制作简单,于极端环境条件下有很好的适应性。以上原因决定了超声波测距仪在今后一定会有很好的研究利用价值。然后超声波测距相对于激光测距,在精度、测量围上还是有明显不足的。由于超声波是以空气为媒介传播,所以需要很大的功率才能有效驱动长距离测量,细微精度也受空气的温度、湿度等不稳定因素影响会导致种种误差。但是总体而言,在民用、普适场合下超声波测距还是有着很独特的优越性和很大的发展潜力,值得长期跟进,长期更新。致 经过了几个月紧的设计终于是完成了此课题,虽然一路走来并不一帆风顺,磕磕碰碰还是完成。当初,刚拿到该课题时,确实是比较迷茫的,没有头绪,还好我的导师夏春梅不辞辛苦悉心指导,为我指点迷津,并且在完成课题的过程中多次询问进度,为我答疑解惑,精心点拨。夏老师一丝不苟,拓宽了我的想法,使我对课题理解得更透彻,对细节更加精益求精。同时也要感我的同学们,他们让我明白了三人行必有我师,要虚心请教。还要感之后将审阅和参与我答辩工作的各位老师,你们用宝贵时间来仔细评判,并提出珍贵建议,为我的毕业设计的完成画上完美句号。最后我要感我的家人,是他们的不辞幸劳将我抚育成人,在学习和生活中给予我无微不至的关怀。让我没有后顾之忧认真完成毕业设计的工作。他们的理解和支持也将使我以后迈入社会、继续奋斗的最大动力。还有许许多多给过我帮助和温暖的同学朋友,你们的一微一毫我都始终铭记,在此也一并表达我最诚挚的敬意和感!参考文献1茂永,王霞超声波测距数字信号采集系统J电测与仪表,2000(8):26-27。2吴银凤,光聪红外接收电路CX20106的应用J电气时代,2003(9):ll0-l11。3莹基于单片机的超声测距系统D:华中科技大学,2004。4珂时差法超声测距仪的研制J国外电子器件,2005(1):65-67。5牛余朋基于单片机的高精度超声波测距电路电子世界,2005(5):27-29。6滕艳菲,尚松超声波测距精度的研究J国外电子测量技术,2006(2):23-25。7谦琳超声波检测原理和方法. :中国科技大学,2008。8高伟51单片机原理与应用. :国防工业,2008。9TYPing,松峰,芳,等MCS一51单片机原理、系统设计与应用M:清华大学,2008。10黄建新. 单片机原理、接口技术与应用. :化学工业,2009。11祝敏超声波测距误差分析与修正方法J计量与测试技术,2009,36(2):2l- 22。12严,民基于超声波传感器的水位自动控制系统J微计算机信息,2009(13):134-136。13Huang, Y.S., Young, M.S. : Instrumentation Science and Technology. Vol.37 (January 2009):124-133。14唐文彦传感器M:机械工业,2010。15月真. 基于51单片机的超声波测距系统的设计. 电子世界,2011(10):55-56。16Licznerski, Tomasz J., Jaronski, Jarosaw, Kosz,: Ultrasonics. Vol.51 (December 2011):960-965。17攀峰,王玉萍,建,等带有温度补偿的超声波测距仪的设计J计算机测量与控制,2012,20(6):1717-1732。18佰庚超声波测距仪设计J工具技术,2012,46(6):82-85。19Manjula,K.,Vijayarekha,K., Venkatraman,B., Karthik,Durga: Research Journal of Applied Sciences, Engineering and Technology, v 4, n 24, 2012:5525-5533。20 Zhihong xiao,Siyu Wu,Qiyuan An. Design of Ultrasonic Distance Measurement System Based onMicrocontroller. Applied Mechanics and Materials Vols. 333-335 (2013): 296-299。附 录最终的程序与设计之初的编程稍有改动,以下为详细完整的源程序代码:#include sbit k1=P34; sbit csbout=P10; /超声波发送 sbit csbint=P32; /超声波接收 sbit bg=P33; #define LED P0 sbit LED1=P24; /LED控制 sbit LED2=P25; /LED控制 sbit LED3=P26; /LED控制 sbit bj=P20;/报警#define csbc 0.0347 unsigned char cl,mqzd,csbs,csbds,buffer3,xm1,xm2,xm0,jpjs;/显示标识 unsigned char convert10=0x18,0x7b,0x2c,0x29,0x4b,0x89,0x88,0x3b,0x08,0x09;/09段码 unsigned int s,t,i,xx,j,sj1,sj2,sj3,mqs,sx1; void csbcj(); void delay(j); /延时函数 void scanLED(); /显示函数 void timeToBuffer(); /显示转换函数 void keyscan(); void k1cl(); void k2cl(); void k3cl(); void k4cl(); void offmsd(); void main() /主函数 EA=1; /开中断 TMOD=0x11; /设定时器0为计数,设定时器1定时 ET0=1; /定时器0中断允许 ET1=1; /定时器1中断允许 TH0=0x00; TL0=0x00; TH1=0x9E; TL1=0x57; csbds=0; csbout=1; cl=0; csbs=8; jpjs=0; sj1=50;/测试报警距离 sj2=200; sj3=580; k4cl(); TR1=1; while(1) keyscan(); if(jpjssj3) /大于时显示“CCC” buffer2=0xC6; buffer1=0xC6; buffer0=0xC6; else if(ssj1) /小于时显示“- - -” buffer2=0xBF; buffer1=0xBF; buffer0=0xBF; else timeToBuffer(); else timeToBuffer(); /将值转换成LED段码 offmsd(); scanLED(); /显示函数 if(s=40) csbds=0; cl=1; void csbcj() if(cl=1) TR1=0; TH0=0x00; TL0=0x00; i=csbs;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!