《毕业设计基于AT89S51单片机的超声波测距系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于AT89S51单片机的超声波测距系统设计.doc(46页珍藏版)》请在三一办公上搜索。
1、基于AT89S51单片机的超声波测距系统设计摘 要超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本课题详细介绍了超声波传感器的原理和特性,以及Atmel公司的AT89S51单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以AT89S51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单
2、、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。关键词:超声波 单片机 测距 AT89S51AbstractUltrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wav
3、e finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some industrial scenes extensively。This subject has introduced principle and characteristic of the ultrasonic sensor in detail ,a
4、nd the performance and characteristic of one-chip computer AT89S51 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range ,provide low cost , the hardware
5、circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking AT89S51 as the core ,this circuit of system is reasonable in design, working stability, performance good measuring speeding soon , calculating simple , apt to accomplish real-time contro
6、l ,and can reach industrys practical demand in measuring the precision 。Key Words: Ultrasonic wave; One-chip computer; Range finding; AT89S51目 录ABSTRACT1第1章 绪论31.1 课题背景,目的和意义31.2基于单片机的超声波测距系统31.3课题主要内容4第2章 超声波测距原理概述52.1超声波传感器62.1.1 超声波发生器62.1.2 压电式超声波发生器原理62.1.3单片机超声波测距系统构成7第3章 设计方案83.1 AT89S51单片机83
7、.2 超声波测距系统构成113.2.1 超声波测距单片机系统123.2.2 超声波发射、接收电路123.2.3显示电路143.2.4 供电电路143.2.5报警输出电路15第4章 系统软件设计164.1 主程序设计164.3 超声波测距程序流程图204.4 超声波测距程子序流程图21第5章 调试及性能分析215.1调试步骤215.2 性能分析22参考文献22附录一:基于AT89S51单片机超声波测距系统电原理图24附录二 基于AT89S51单片机超声波测距系统PCB图25附录三 基于AT89S51单片机超声波测距系统焊接组装图26附录四 基于AT89S51单片机超声波测距系统C语言原程序27附
8、录五 元件清单41第1章 绪论 1.1 课题背景,目的和意义传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的
9、现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。1.2基于单片机的超声波测距系统基于单片机的超声波测距系统,是利用单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图2-1所示。图1-1 基于单片机的超声波测距系统框图这种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单
10、片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示。利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测距系统都采用这种设计方法。1.3课题主要内容通过上节介绍我们知道,以单片机为核心的超声波测距系统设计简单、方便,而且测精度能达到工业要求。本课题研究的测距系统就是用单片机控制的。通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为V,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离。本系统利用单片
11、机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,单片机检测到这个负跳变信号后,停止内部计时器记时,读取时间,计算距离,测量结果输出给LED显示。利用本测距系统测量范围应在40cm699cm,其误差1cm。第2章 超声波测距原理概述超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波
12、来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。超声波测距的方法有多种,如相位检测
13、法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本测距系统采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。再由单机计算出距离,送LED数 码管显示测量结果。超声波在空气中的传播速度随温度变化,其对应值如表2-1 ,根据计时器记录的时间t (见图2-1),就可以计算出发射点
14、距障碍物的距离( s ) ,即: s = v t / 2 。表2-1 声速与温度的关系温度()3020100102030100声速(m/s)313319325323338344349386图2-1 超声波测距时序图2.1超声波传感器2.1.1 超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等; 机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。
15、2.1.2 压电式超声波发生器原理压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图2-2所示,是在压电元件上施加电压,元件就变形,即称应变。若在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图2-2压电逆效应图2.1.3单片机超声波测距系统构成单片机AT89S51发
16、出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED数码管进行显示。限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路图2-3 超声波测距系统框图第3章 设计方案按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显
17、示模块、超声波发射模块、接收模块共四个模块组成。单片机主控芯片使用51系列AT89S51单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。超声波接收模块超声波发射模块单片机控制系统(AT89S51)显示模块键盘模块供电单元图3-1:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。单片机采用AT89S51,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P2.7端
18、口输出超声波换能器所需的40kHz的方波信号,P3.5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。3.1 AT89S51单片机AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位
19、微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期4.05.5V的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288字节内部RAM32个可编程IO口线2个16位定时计数器6个中断源全双工串行UART通道低功耗空闲和掉电模式中断可从空闲模唤醒系统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在系统编程(ISP字节或页写模式)功能特性概述:AT89S51 提供以下标准功能:4k
20、 字节Flash 闪速存储器,128字节内部RAM,32个IO 口线,看门狗(WDT),两个数据指针,两个16 位定时计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。引脚功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电
21、路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。端口引脚 第二功能:P1.5 MO
22、SI(用于ISP编程)P1.6 MISO(用于ISP编程)P1.7 SCK (用于ISP编程)P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区
23、中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。AT89S51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的
24、输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,推荐电容使用30pF10pF,而如使用陶瓷谐振器选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路如图5右图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为
25、内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。图3-2为晶体接线图和外接时钟线路图。石英晶体时:C1,C230pF10pF 外部时钟驱动电路陶瓷滤波器:C1,C240pF10pF图3-2 内部振荡电路 3.2 超声波测距系统构成本系统由单片机AT89S51控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成,如图3-1 所示。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89S51。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P
26、2.7端口输出超声波换能器所需的40kHz的方波信号,P3.5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P3.5输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P3.5由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。3.2.
27、1 超声波测距单片机系统超声波测距单片机系统主要由:AT89S51单片机、晶振、复位电路、电源滤波部份构成。由K1,K2组成测距系统的按键电路。用于设定超声波测距报警值。如图3-3。图3-3:超声波测距单片机系统3.2.2 超声波发射、接收电路超声波发射如图3-4,接收电路如图3-5。超声波发射电路由电阻R1、三极管BG1、超声波脉冲变压器B及超声波发送头T40构成,超声波脉冲变压器,在这里的作用是提高加载到超声波发送头两产端的电压,以提高超声波的发射功率,从而提高测量距离。接收电路由BG1、BG2组成的两组三级管放大电路构成;超声波的检波电路、比较整形电路由C7、D1、D2及BG3组成。40
28、kHz的方波由AT89S51单片机的P2.7输出,经BG1推动超声波脉冲变压器,在脉冲变压器次级形成60VPP的电压,加载到超声波发送头上,驱动超声波发射头发射超声波。发送出的超声波,遇到障碍物后,产生回波,反射回来的回波由超声波接收头接收到。由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P3脚。图3-4:超声波测距发送单元该测距电路的40kHz方波信号由单片机AT89S51的P2.7发出。方波的周期为1/40ms,即25s,半周期为12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12
29、M晶振,因而单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约38.46kHz的方波。图3-5:超声波测距接收单元由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收电路如图3-5所示。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为70倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。3.2.
30、3显示电路本系统采用三位一体L E D 数码管显示所测距离值,如图3-6。数码管采用动态扫描显示,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。图3-6:显示单元图3.2.4 供电电路本测距系统由于采用的是LED数码管用为显示方式,正常工作时,系统工作电流约为30-45mA,为保证系统统计的可靠正常工作,系统的供电方式主要交流AC6-9伏,同时为调试系统方便,供电方式考虑了第二种方式,即由USB口供电,调试时直接由电脑USB口供电。6伏交流是经过整流二极管D1-D4整流成脉动直流后,经虑波电容C1虑波后形
31、成直流电,为保证单片机系统的可电,供电路中由5伏的三端称压集成电路进行稳压后输出5伏的真流电供整个系统用电,为进一步提高电源质量,5伏的直流电再次经过C3、C4滤波。图3-7:供电单元电路图3.2.5报警输出电路为提高测测距系统的实用性,本测距系统的报警输出提供开关量信号及声响信号两种方式。方式一:报警信号由单片机P3.1端口输出,继电器输出,可驱动较大的负载,电路由电阻R6、三极管BG9、继电器JDQ组成,当测量值低于事先设定的报警值时,继电器吸合,测量值高于设定的报警值时,继电器断开。方式二:报警信号由单片机P0.2口输出,提供声响报警信号,电路由电阻R7、三极管BG8、蜂鸣器BY组成,当
32、测量值低于事先设定的报警值时,蜂鸣器发出“滴、滴、滴.”报警声响信号,测量值高于设定的报警值时,停止发出报警声响。报警输出电路如图3-8。图3-8 报警输出电路第4章 系统软件设计4.1 主程序设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA。进行程序主程序后,进行定时测距判断,当测距标志位ec=1时,测量一次,程序设计中,超声波测距频度是4-5次/秒
33、。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生4个频率为38.46kHz超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.5脚的电平判断程序。当检测到P3.5脚的电平由高转为低电平时,立即停止T0计时。由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1s,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中
34、的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。设计时取15时的声速为340 m/s则有:d=(ct)/2=172T0/10000cm其中,T0为计数器T0的计算值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。4.2 超声波测距子程序 void wdzh()TR0=0;TH1=0x00;TL1=0x00;csbint=1;sx=0;delay(1700);csbfs();csbout=1;TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波i+;if(i
35、=3300)csbint=0;TR1=0;s=TH1;s=s*256+TL1;TR0=1;csbint=1;jsz=s*csbc;/计算测量结果jsz=jsz/2; 产生超声波的子程序:为了方便程序移置及准确产生超声波信号,本测距的超声波产生程序是用汇编语言编写的进退声波产生程序。产生的超声波个数为UCSBFS SEGMENT CODERSEG UCSBFSPUBLIC CSBFSCSBFS:mov R6,#8h ;超声波发射的完整波形个数:共计四个 here:cpl p2.7 ;输出40kHz方波 nop nop nop nop nop nop nop nop nop djnz R6,her
36、e RETEND4.3 超声波测距程序流程图 YYN=N0=0=1开始初始化测量标志启动定时器超声波测距距离上限值距离盲区值=显示值= C C C显示值= - - -测量段码转换显示设定段码转换距离报警值=报警输出=N4.4 超声波测距程子序流程图Y标志=1?发送超声波延时避开盲区收到回波否?预设时间?启动计时器T0停止计时计算测量值超声波测距结束NNYYN第5章 调试及性能分析5.1调试步骤我们的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的AT89S51机装到测距板上,通电后将测距板的超声波头对着墙面往复移动
37、,看数码管的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -”,则需将下限值增大。本测距板1s测量4-5次,超声波发送功率较大时,测量距离远,则相应的下限值(盲区)应设置为高值。试验板中的声速没有进行温度补偿,声速值为340m/s,该值为15时的超声波值。5.2 性能分析从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达到500到700厘米左右,而我们所能实现的最大距离只有699厘米,测量结果受环境温度影响。分析原因如下:1. 超声波发射部份由电阻R1、三极管BG1、超声波脉冲变压器B及超声波发送头T40构成,以提高超声波的发射功率,从面提高测量距离。这种
38、方式,加大的超声波了送头的余振时间,造成超声波测距盲区值较大(本系统盲区值为40厘米)。2.本测距板没有设计温度补偿对测量结果进行修正。但在硬件的PCB上预留的位置。参考文献1赵建领 薛园园 51单片机开发与应用技术详解 北京:电子工业出版社,20092 沈红卫. 基于单片机智能系统设计与实现. 北京:电子工业出版社,20053 杨国田 白 焰 董 玲 51单片机实用C语言程序设计 中国电力出版社 20094 李群芳,黄建. 单片机微型计算机与接口技术. 北京:电子工业出版社,20015 楼然苗、李光飞. 51系列单片机设计实例. 北京:北京航空航天大学出版社,20036 王守中 51单片机开
39、发入门与典型实例. 北京:人民邮电出版社,2009首先感谢我的导师老师,老师渊博的专业知识、严谨的治学态度、精益求精的工作作风、平易近人的人格魅力对我影响深远;在老师的耐心指导、帮助下,我才能顺利完成毕业设计。老师指导了我的设计的结构、思路、同时提供了一些专业知识的帮助,从电路的设计到调试整个过程中,我都从老师那里学会了很多专业方面的知识。还要感谢老师,在我的毕业设计中给单片机烧录程序,为我提供单片机编程器以及对我的细心指导,衷心感谢他们。感谢在毕设中帮助过我的所有同学和师兄师姐们。最后感谢我的家人、朋友对我的支持。附录一:基于AT89S51单片机超声波测距系统电原理图 附录二 基于AT89S
40、51单片机超声波测距系统PCB图附录三 基于AT89S51单片机超声波测距系统焊接组装图附录四 基于AT89S51单片机超声波测距系统C语言原程序/ AT89S51超声波测距系统 / 贾 源 / 2011年4月 / QQ:1211716 / / / 晶振:12M / 系统盲区值:40厘米 / 测量上限:699厘米 /#include #include #define uchar unsigned char#define uint unsigned int#define k1 P3_7 /k1功能键#define k2 P3_6 /k2数值调整键#define bjh P3_1 /定值输出#de
41、fine sx P0_2 /报警值输出(声音)#define csbout P2_7 /超声波发送#define csbint P3_5 /超声波接收uchar ec,cls;cs;xl,mq,xm0,xm1,xm2,sec20,sec,sec1,buffer3,BitCounter,temp,Number8=1,2,3,4,5,6,7,8; uchar temp1,convert10=0x81,0xED,0xA2,0xA8,0xCC,0x98,0x90,0xAD,0x80,0x88;/09段码uint zzz,dz,zzbl,i,jsz,yzsj,kk,s,ss;static uchar b
42、data ke,kw; /可位寻址的状态寄存器float csbc,wdz;sbit LED1 = P34;/数码管位驱动sbit LED2 = P32;/数码管位驱动sbit LED3 = P33;/数码管位驱动sbit k11=ke0;sbit k12=ke1;sbit k22=ke2;sbit k21=ke3;sbit b=ke4;sbit c=ke5;sbit d=ke6;sbit e=ke7;sbit w=kw0;sbit zj1=kw1;sbit zj2=kw2;void delay(i);/延时函数void scanLED();/显示函数void timeToBuffer();/显示转换函数void time();void jpcl();void jy();void wdzh();void bgcl();void jpzcx();void mqjs();void csbfs();void csbsc();void clcs();void offmsd();void main()EA=1; /开中断 TMOD=0x11; /设定时器0为计数,设定时器1定时ET0=1; /定时器0中断允许 TH0=0xD8;TL0=0xF0;/设定时值为20000us(20ms)TR0=1;csbout=1;d=0;TR1=0; temp1=15;zzz=699;