为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

超声波测距仪的设计

2017-10-20 33页 doc 161KB 18阅读

用户头像

is_009226

暂无简介

举报
超声波测距仪的设计超声波测距仪的设计 江苏技术师范学院毕业设计说明书(论文) 前言 超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气...
超声波测距仪的设计
超声波测距仪的 江苏技术师范学院毕业设计说明书(论文) 前言 超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。 超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。 1 江苏技术师范学院毕业设计说明书(论文) 第1章 概述 1.1超声波测距的意义 随着科学技术的快速发展。超声波将在测距仪中的运用越来越广。但就目前技术发展水平来说,人们可以利用的测距技术还十分有限,因此这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常有用的工具,在各方面都将有更大的发展空间,太将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。 1.2超声波测距仪的现状 超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制,应用方便,将它与红外、灰度传感器等结合共同实现机器人寻线和绕障功能。超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用于距离的测量。它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以及一些工业现场等,例如:距离、液位、井深、管道长度、流速等场合。利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。 2 江苏技术师范学院毕业设计说明书(论文) 第2章 超声波测距原理概述 超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。 超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度随温度变化,其对应值如表2-1 ,根据计时器记录的时间t (见图2-1),就可以计算出发射点距障碍物的距离( s ) 即: s = v t / 2,式2-1,。 表2-1 声速与温度的关系 温度(?) ,30 ,20 ,10 0 10 20 30 100 声速(m/s) 313 319 325 323 338 344 349 386 图2-1 超声波测距时序图 3 江苏技术师范学院毕业设计说明书(论文) 2.1超声波传感器 超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面。 以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。 超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。 2.2 超声波发生器 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等; 机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 2.3 压电式超声波发生器原理 压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图2-2所示,是在压电元件上施加电压,元件就变形,即称应变。若在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。 4 江苏技术师范学院毕业设计说明书(论文) 图2-2压电逆效应图 2.4单片机超声波测距系统构成 单片机STC89C52RC发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED数码管进行显示。 限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。 开始测量 超声波信号 驱动电路 电声换能器 开定时器 关定时器 接收检测 电声换能器 数据运算 显示器 图2-3 超声波测距系统框图 5 江苏技术师范学院毕业设计说明书(论文) 第3章 硬件设计 按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。 单片机主控芯片使用51系列STC89C52RC单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。 发射电路由单片机输出端直接驱动超声波发送。 接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。 超声波接收模单块 片 机 控 显示模块 制 系 超声波发射模统 块 供电单元 图3-1 系统设计框图 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用STC89C52RC。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.5端口输出超声波换能器所需的40kHz的方波信号,P3.6端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.3、P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。 6 江苏技术师范学院毕业设计说明书(论文) 3.1 STC89C52RC单片机 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决。 具有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。 3.2 超声波测距系统构成 本系统由单片机A T 8 9 C 2 0 5 1控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成,如图3-1 所示。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用STC89C52RC。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.5端口输出超声波换能器所需的40kHz的方波信号,P3.6端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.3、P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。 超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P3.7输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P3.7由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。 3.2.1 超声波测距电源系统 电源电路采用LM7805来得到单片机所需要的5V电压。 78系列、MOS场效应管 7 江苏技术师范学院毕业设计说明书(论文) 1(系列稳压管 (1).三端稳压电源(IC)是串联型电压源,输出电压与输入电压具有共同的电压参考点,即“公共端”(GND); (2).在三端电源输入范围之内,输出电压在给定精度保持恒定; (3).调整公共端电压可以比例改变输出电压; (4).三端稳压电源IC具有过流保护、过热保护电路,能够抗短时间的输出短路 图3-2 三端稳压管 2( MOS场效应管引脚图 如图2-16所示 图3-3 引脚图 设计电路如下图所示: 图3-4 设计电路图 3.2.2 超声波测距单片机系统 8 江苏技术师范学院毕业设计说明书(论文) 超声波测距单片机系统主要由:A T 8 9 C 2 0 5 1单片机、晶振、复位电路、电源滤波部份构成。如图3-2。 图3-5:超声波测距单片机系统 3.2.3 超声波发射、接收电路 超声波发射、接收电路如图3-3。超声波发射部份由电阻R2及超声波发送头T40板成;接收电路由BG1、BG2X组成的两组三级管放大电路组成;检波电路、比较整形电路由C7、D1、D2及BG3组成。 40kHz的方波由stc89c52rc单片机的P 3 .5驱动超声波发射头发射超声波,经反射后由超声波接收头接收到40kHz的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P3脚。 该测距电路的40kHz方波信号由单片机STC89C52RC的P 3 .5发出。方波的周期为1/40ms,即25µs,半周期为12.5µs。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12M晶振,因而单片机的时间分辨率是1µs,所以只能产生半周期为12µs或13µs的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约38.46kHz的方波。 9 江苏技术师范学院毕业设计说明书(论文) 图3-6:超声波测距发送接收单元 由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收电路如图3.3 所示。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为70倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。 3.2.4显示电路 本系统采用三位一体L E D 数码管显示所测距离值,如图(见下页) 。码管采用动态扫描显示,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.3、P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。 10 江苏技术师范学院毕业设计说明书(论文) 图3-7:显示单元图 11 江苏技术师范学院毕业设计说明书(论文) 第4章 软件设计 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。 图4-1 主程序流程图 4.1 主程序设计 #include #include #define uchar unsigned char #define uint unsigned int uchar code dis_code[12]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};// 4, 5, 6, 7, 8, 9, off sbit LED1 = P3^0; sbit LED2 = P3^1; sbit LED3 = P3^2; sbit LED4 = P3^3; sbit TX = P3^7; 12 江苏技术师范学院毕业设计说明书(论文) sbit RX = P3^4; uchar Fdd_shu=0; uchar LED_SC=0; unsigned char disbuff[4] ={ 0,0,0,0,}; bit flag =0; unsigned long S=0; unsigned int time=0; unsigned int time11=0; unsigned int timer=0; /********************************************************/ void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100; //算出来是CM if((S>=700)||flag==1) //超出测量范围显示“-” { flag=0; disbuff[0]=10; //“-” disbuff[1]=10; //“-” disbuff[2]=10; //“-” } else { disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10 %10; } } 13 江苏技术师范学院毕业设计说明书(论文) void main(void) { TMOD=0x11; //设T0为方式1,GATE=1; TH0=0; TL0=0; TH1=0xf8; //2MS定时 TL1=0x30; ET0=1; //允许T0中断 ET1=1; //允许T1中断 TR1=1; //开启定时器 EA=1; //开启总中断 while(1) { while(!RX); //当RX为零时等待 TR0=1; //开启计数 while(RX); //当RX为1计数并等待 TR0=0; //关闭计数 Conut(); //计算 } } /* *************************************************************************** ********************** 功能:中断显示程序 参数: 描述: *************************************************************************** ********************** */ void timer0() interrupt 1 14 江苏技术师范学院毕业设计说明书(论文) // 定时器0中断服务程序, 用于数码管的动态扫描 { flag=1; //中断溢出标志 } void timer1() interrupt 3 //T1中断用来扫描数码管和计800MS启动模 块 { TH1 = 0xf8; TL1 = 0x30; timer++; if(timer>=400) { timer=0; TX=1; //800MS 启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); 15 江苏技术师范学院毕业设计说明书(论文) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; } switch(LED_SC) { case 0: P1=0XFF; LED1=0; LED2=LED3=LED4=1; LED_SC++; break; case 1: LED2=0; P1=dis_code[disbuff[0]]; LED1=LED3=LED4=1; LED_SC++; break; case 2: P1=dis_code[disbuff[1]]; LED3=0; LED1=LED2=LED4=1; LED_SC++; break; case 3: P1=dis_code[disbuff[2]]; 16 江苏技术师范学院毕业设计说明书(论文) LED4=0; LED1=LED2=LED3=1; LED_SC=0; break; } } 超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。 主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA。进行程序主程序后,进行定时测距判断,当测距标志位cl==1,即进行测量一次,程序设计中,超声波测距频度是2次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生6-8个频率为38.46kHz超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.7脚的电平判断程序。当检测到P3.7脚的电平由高转为低电平时,立即停止T0计时。由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1μs,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。 设计时取15?时的声速为340 m/s则有: d=(c×t)/2=172×T0/10000cm其中,T0为计数器T0的计算值。 测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。 4.2 超声波测距子程序 void csbcj() //超声波测距子程序 { if(cl==1) 17 江苏技术师范学院毕业设计说明书(论文) { TR1=0; TH0=0x00; TL0=0x00; i=20; //超声波脉冲个数10个 while(i--) { csbout=!csbout; } TR0=1; i=150; while(i--) { } i=0; while(csbint) //判断接收回路是否收到超声波的回波 { i++; if(i>=2450) //如果达到一定时间没有收到回波,则将csbint置零,退 出接收回波处理程序 csbint=0; } TR0=0; TH1=0x9E; TL1=0x57; t=TH0; t=t*256+TL0; s=t*csbc/2; //计算测量结果 TR1=1; cl=0; 18 江苏技术师范学院毕业设计说明书(论文) } } 4.3 超声波测距程序流程图 开始 初始化 启动定时器 =1 测量标志 =0 超声波测距 Y 距离>上限值 =N 显示值= C C C 距离<盲区值 === =N显示值= - - - 0 测量段码转换 设定段码转换 显示 距离<报警值 N === Y 报警输出 图4-2 超声波测距程序流程图 19 江苏技术师范学院毕业设计说明书(论文) 4.4 超声波测距程子程序流程图 超声波测距 N =1s? 时间 Y N 发送超声波 启动计时器T0 延时避开盲区 N 收到回波否, Y N 预设时间, N Y N 停止计时 计算测量值 结束 图4-3 子程序流程图 20 江苏技术师范学院毕业设计说明书(论文) 第5章 调试及性能分析 5.1调试步骤 我们的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的STC89C52RC机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看数码管的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -”,则需将下限值增大。本测距板1S钟测量两次,若要修改测量间隔,可将程序“if(csbds>=40) //1S测量一次。”中的“40”增大或减小即可。超声波发送功率较大时,测量距离远,则相应的下限值(盲区)应设置为高值。试验板中的声速没有进行温度补偿,声速值为340m/s。 5.2 性能分析 从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达到5到7米左右,而我们所能实现的最大距离只有3.00米,测量结果受环境温度影响。分析原因如下: 1.超声波发送部份为了简化电路,没加设置专门的超声波驱动电路,而是用单片机的P3.5输出端加了一个上拉电阻后就直接驱动超声波发送头。理论上,驱电电压只有5伏。 2.本测距板没设计温度补偿电路,来对测量结果进行修正。 21 江苏技术师范学院毕业设计说明书(论文) 致谢 本设计和论文是在老师的悉心指导下完成的,倾注了老师的大量精力和宝贵的时间。无论在本系统的整体构思和设计阶段,还是在系统的电路调试阶段,老师都在精神上和方法上给予了我很大的支持,使我顺利地完成了从系统的最初的硬件设计,到软件设计,以及最后的电路调试这些大量艰难繁重的工作。 本设计的窗帘控制器结构简单、定时准确,具有一定的实际应用价值。该控制器是使用STC89C52的内部定时器定时的,具有容易控制,控制可靠等优点;而且利用光敏电阻,有/无光照时,阻值发生巨大变化的特点,很灵巧的使本控制器在夜晚时打开关闭窗帘,此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。有很强的实用价值 大学四年的学习和生活就要随着这篇论文的答辩而结束了。有许许多多的舍不得,也有许许多多的感谢要说。 首先要衷心感谢的是我的指导教师~在我学习期间不仅传授了做学问的秘诀,还传授了做人的准则。这些都将使我终生受益。无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到导师的悉心指导和帮助。我愿借此机会向导师表示衷心的感谢~ 其次要感谢所有教育过我的老师~你们传授给我的专业知识是我不断成长的源泉,也是完成本论文的基础。我还要向关心和支持我学习的朋友们表示真挚的谢意~感谢他们对我的关心、关注和支持~ 大学的生活让我有了坚强的性格,冷静的头脑和永远乐观的态度。最重要的是让我有了责任感,对自己、对家人和对社会。我愿在未来的学习过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学和朋友。永远以一颗为人民服务的心来回报社会。 22 江苏技术师范学院毕业设计说明书(论文) 参考文献 [1] 胡萍.超声波测距仪的研制[M].计算机与现代化,2003.10 [2] 时德刚,刘哗.超声波测距的研究[M].计算机测量与控制,2002.10 [3] 华兵.MCS-51单片机原理应用[M].武汉:武汉华中科技大学出版社,2002 .5 4] 徐淑华,程退安,姚万生.单片机微型机原理及应用[M].哈尔滨:哈尔滨工业大学[ 出版社,1999. 6. [5] 沈燕,高晓蓉,孙增友,李金龙.基于单片机的超声波测距仪设计[J].电子技术, 2012,(07)126-129 6] 李星. 浅谈AT89C52单片机在超声波测距仪当中的应用[J].学术期刊,2010,[ (16),147 [7] 朱士虎,何培忠,王立巍. 基于AT89S52超声波测距仪设计[J],电子技术,2009, (06),22-24 [8] 陈勇,刘金. 超声波测距仪电路及程序设计[J],电子技术,1998,(03),18-20 [9] 邱瑞昌,姜久春. 泊车用超声波测距仪的研制[J],电子技术,2001,(15),11-13 [10] 袁波,何浩辉,姚黎明. 单孔“一发双收”超声波检测原理及其应用[J].学术期刊, 2011,(04),73-74 [11] 苏娟,严正国,吴银川. 基本放大电路信号放大过程解析[J].学术期刊, 83 2009,(04),82- [12]Yeager Brent.How to troubleshoot your electronic scale[J].. Powder and Bulk Engineering. 1995 [13]Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].. TQM Journal. 2008 [14] J.C.Candy and G.C.Temes(Oversampling Methods for Data Conversion[M](IEEE Pacific Rim conference on Communications,Computers and Signal Processing, May 1991,9-10 [15] Cx51 Compiler User’s Guide: Optimizing C Compiler and Library Reference for Classic and Extended 8051 Microcontrollers [J].Chinese J. Semico- nductors,inc,2000. 23 江苏技术师范学院毕业设计说明书(论文) 附录1 基于STC89C52RC单片机超声波测距系统电原理图 24 江苏技术师范学院毕业设计说明书(论文) 附录2 基于STC89C52RC单片机超声波测距系统C语言原程序 //////////////////////////////////////////////////////////// // STC89C52RC超声波测距系统 // // 晶振:12M // // 系统盲区值:25厘米 // // 测量上限:300厘米 // //////////////////////////////////////////////////////////// #include sbit csbout = P3^5; //超声波发送 sbit csbint = P3^7; //超声波接收 sbit LED11=P3^0; sbit LED22=P3^1; sbit LED33=P3^2; sbit LEEE=P3^3; sbit SPEA = P3^4; bit flag11=1; unsigned char MMSK1; unsigned int MMSK2; #define csbc=0.034 #define bg P3_4 unsigned char MMSJ=0; unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs,ki;//显示 标识 unsigned char convert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码 unsigned int s,t,i,sj1,sj2,sj3,mqs,sx1,sjtz,sja,sjb; bit cl; void csbcj(); void delay(i); //延时函数 25 江苏技术师范学院毕业设计说明书(论文) void scanLED(); //显示函数 void showOnce(); //显示循环函数 void timeToBuffer(); //显示转换函数 ; 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; csbint=1; csbout=1; cl=0; opto=0xff; sj1=25; sj2=100; sj3=400; ki=0; TR1=1; //设定时值1为20ms while(1) { csbcj(); //调用超声波测距程序 if(s<50)LEEE=0; 26 江苏技术师范学院毕业设计说明书(论文) else LEEE=1; if(MMSK2==0)SPEA=0; else SPEA=1; if(s>sj3) //大于时显示"CCC" { buffer[2]=0x39; buffer[1]=0x39; buffer[0]=0x39; } else if(s>=1; //循环右移1位 } } void timeToBuffer() //转换段码功能模块 { xm0=s/100; xm1=(s-100*xm0)/10; xm2=s-100*xm0-10*xm1; buffer[2]=convert[xm2]; buffer[1]=convert[xm1]; buffer[0]=convert[xm0]; } void delay(i) //延时子程序 { while(--i); } using 2 //终断处理程序,1秒测量一void timer1int (void) interrupt 3 次 { TH1=0x9E; TL1=0x57; MMSK2++; if(MMSK2>=s)flag11=~flag11,MMSK2=0; csbds++; 28 江苏技术师范学院毕业设计说明书(论文) if(csbds>=15) { csbds=0; cl=1; } } void csbcj() //超声波测距子程序 { if(cl==1) { TR1=0; TH0=0x00; TL0=0x00; i=20; //超声波脉冲个数10个 while(i--) { csbout=!csbout; } TR0=1; i=150; while(i--) { } i=0; while(csbint) //判断接收回路是否收到超声波的回波 { i++; if(i>=2450) //如果达到一定时间没有收到回波,则将 csbint置零,退出接收回波处理程序 29 江苏技术师范学院毕业设计说明书(论文) csbint=0; } TR0=0; TH1=0x9E; TL1=0x57; t=TH0; t=t*256+TL0; s=t*csbc/2; //计算测量结果 TR1=1; cl=0; } } void offmsd() //百位为数0判断模块 { if (buffer[0] == 0x3f) //如果值为零时百位不显示 buffer[0] = 0x00; } 30
/
本文档为【超声波测距仪的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索