毕业设计(论文)基于单片机的超声波测距系统设计 .doc

上传人:仙人指路1688 文档编号:3981170 上传时间:2023-03-30 格式:DOC 页数:24 大小:165KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的超声波测距系统设计 .doc_第1页
第1页 / 共24页
毕业设计(论文)基于单片机的超声波测距系统设计 .doc_第2页
第2页 / 共24页
毕业设计(论文)基于单片机的超声波测距系统设计 .doc_第3页
第3页 / 共24页
毕业设计(论文)基于单片机的超声波测距系统设计 .doc_第4页
第4页 / 共24页
毕业设计(论文)基于单片机的超声波测距系统设计 .doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的超声波测距系统设计 .doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的超声波测距系统设计 .doc(24页珍藏版)》请在三一办公上搜索。

1、基于单片机的超声波测距系统设计前言随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的日常生活当中,给我们的生活带来了诸多方便。本设计就是本着这个宗旨出发,利用超声波的特性来为我们服务。由于超声波指向性强,因而常于距离的测量。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=vt/2 。这就是所谓的时间差测距法。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业

2、实用的要求, 随着科学技术的快速发展,超声波将的应用将越来越广。但就目前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。超声波测距技术在社会生活中已有广泛的应用如汽车倒车雷达等,它们测距精度一般较低。目前对超声波高精度测距系统的需求越来越大。展望未来,超声波作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得以解决。1 超声波测距的基本概述人耳能听到的声音是由于物体振动产生的,它的

3、频率在20HZ-20KHZ范围内,超过20KHZ称为超声波,低于20HZ的称为次声波。超声波是在一种弹性介质中的机械振荡,它有两种形式:横向振荡(横波)及纵向振荡(纵波)。在工业中应用主要采用纵向振荡。超声波可以在气体、液体及固体中传播,其传播速度受很多因素的影响。在空气中传播超声波,其频率较低、衰减较快。超声波波长短,绕射现象小,其方向性好,而且穿透能力很强,且碰到杂质或分界面就会有显著的反射现象。这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像等技术。1.1 超声波的波形 纵波是质点振动方向和超声波传播方向一致的波,在固体、液体和气体中传播如图1.1-1所示: 横波是质点的振动方

4、向垂直于传播方向的波,它只能在固体中传播。其传播方向如图1.1-2所示: 图1.1-1 纵波 图1.1-2 横波 表面波是质点的振动方式介于纵波和横波之间沿着固体表面传播的波,其振幅大小随着传播深度的增加而迅速衰减。表面波只能沿着固体表面传播,其质点运动轨迹为椭圆形,且椭圆的长轴垂直于传播方向,而短轴平行于传播方向。传播方向如图1.1.1-3所示:图1.1.1-3 表面波1.2 超声波的特性 超声波在介质传播过程中,会发生衰减和散射。由于受介质和杂质的阻碍或吸收,其强度会产生衰减。尤其是超声波测距仪,对所接受的声波强度都有一定要求,所以都要对各种衰减进行抑制。 超声波声束能集中在特定的方向上,

5、具有良好的指向性。超声波可以在固体、液体和气体中以不同的速度进行传播,其速度受介质温度、压力等因素的影响,但在相同外部环境下,超声波在同一介质中的传播速度是一常数。这是超声仪表进行测距的基础。 超声波在异种介质的界面上会产生反射、叠加等现象。利用超声波在异质界面上发生的反射特性,获得从界面反射回来的反射波,通过内部的电路处理从而达到探测距离的目的。1.3 超声波测距工作原理声波是物体机械振动状态(或能量)的传播形式。所谓振动是指物质的质点在其平衡位置附近进行的往返运动。譬如,鼓面经敲击后,它就上下振动,这种振动状态通过空气媒质向四面八方传播,这便是声波。 超声波是指振动频率大于20000Hz以

6、上的,其每秒的振动次数(频率)甚高,超出了人耳听觉的上限(20000Hz),人们将这种听不见的声波叫做超声波。超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即: s=vt/2 (1.3-1)这就是所谓的时间差测距

7、法。采用超声波测量大气中的地面距离,是近代电子技术发展才获得正式应用的技术,由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘)具有一定的适应能力。因此,用途极度广泛。例如:测绘地形图,建造房屋、桥梁、道路、开挖矿山、油井等,利用超声波测量地面距离的方法,是利用光电技术实现的,超声测距仪的优点是:仪器造价比光波测距仪低,省力、操作方便。由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。

8、经分析和大量实验表明,频率为40KHz左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。1.4 超声波传感器原理与选型4、5超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。小型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25kHz及40-45kHz。这类传感器适用于测距、遥控、防盗等用途。若对发送传感

9、器内谐振频率为40kHz的压电陶瓷片(双晶振子)施加40kHz高频电压,则压电陶瓷片就根据所加高频电压极性伸长与缩短,于是发送40kHz频率的超声波,其超声波以疏密形式传播( 疏密程度可由控制电路调制),并传给波接收器。接收器是利用压力传感器所采用的压电效应的原理,即在压电元件上施加压力,使压电元件发生应变,则产生一面为“+”极,另一面为“-”极的40kHz正弦电压。因该高频电压幅值较小,还必须进行放大。常用的超声波传感器有T/R-40-60,T/R-40-12等(其中T表示发送,R表示接收,40表示频率为40kHZ,16及12表示其外径尺寸,以毫米计)。本设计选用T/R-40-12 超声波传

10、感器。1.5 温度传感器原理与选型本系统选用DS18B20温度传感器作为误差补偿装置。DS18B20是美国DALLAS半导体公司生产的1WIRE数字温度传感器,它可实现数字化输出和测试,并且有控制功能强、传输距离远、抗干扰能力强、微功耗等特点。DS18B20的主要特性:适应电压范围更宽,电压范围3.05.5V,在寄生电源方式下可由数据线供电。独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件

11、及转换电路集成在形如一只三极管的集成电路内。温度范围55125,在-10+85时精度为0.5。可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2 超声波测距系统硬件设计2.1 超声波测距系统基本框图由单片机发出40kHz的方波信号进入超声波发射电路,

12、经LM386功率放大芯片放大后进入超声波发射头。超声波发射头发射的超声波在空气中传播一段时间后经前方被检测物体反射回来,由超声波接收头接收,超声波电路中的20106接收芯片对信号放大整形,超声波接收电路接收回波后发出一个下拉电平使单片机进入中断程序,在中断程序中,单片机从温度检测电路读取数值并换算成当前温度下的声速,应用时差法计算所检测的距离,最后所有的数据都在LCD显示电路上显示。超声波测距系统基本框图如图2.1-1所示: 单片机控制器超声波发射电路超声波接收电路LCD显示电路温度检测电路图2.1-1 超声波测距系统基本框图2.2 超声波测距的主控芯片本设计采用的AT89C51是美国ATME

13、L公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。单片机是依赖程序来运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。只因为单片机的通过你编写的程序可以实现高智能

14、,高效率,以及高可靠性!2.2.1 AT89C51功能特性及性能参数AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个IO 口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其参数性能如下: 与MCS-51产品指令系统完全兼容 4k字节可重擦写Flash闪

15、速存储器 1000次擦写周期 全静态操作:0Hz24MHz 三级加密程序存储器 1288字节内部RAM 32个可编程IO口线 2个16位定时计数器 6个中断源 可编程串行UART通道 低功耗空闲和掉电模式2.2.2 AT89C51的引脚功能说明单片机AT89C51的引脚图如图2.2.2-1所示: 图2.2.2-1 单片机AT89C51的引脚图各引脚功能介绍: Vcc:电源电压;GND:地 P0口:P0 口是一组8 位漏极开路型双向IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作高阻抗输入端用。在访问外部数据存储器或程序存储器时,

16、这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口: P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash编程和程序校验期间,P1接收低8位地址。 P2口:P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑

17、门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3口:P3口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个T

18、TL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流。P3口除了作为一般的IO口线外,更重要的用途是它的第二功能。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 RST 复位输入:当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALEPROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据

19、存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。 EA VPP 外部访问允许:欲使CPU仅访问外部

20、程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1: 振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 :振荡器反相放大器的输出端。2.3 超声波发射电路设计6由于从单片里发出的40KHz脉冲信号的功率较低,不能直接驱动发射换能器,因而需要一个放大电路将脉冲信号放大后再送至发射换能器,驱动其发出与驱动信号同频率的超

21、声波,所以发射电路的主要功能就是放大,发射电路如图5-2所示。为增大超声波的发射频率,本设计利用了单运放LM386,LM386是专为低损耗电源所设计的功率放大器集成电路。它的内建增益为20,透过pin 1和pin8脚位间电容的搭配,增益最高可达200。LM386可使用电池为供应电源,输入电压范围可由4V12V,无作动时仅消耗4mA电流,且失真小。发射距离可达3m。利用LM386的驱动放大功能将单片机产生的40kHz方波放大输出。驱动压电式超声波发射头发射超声波。超声波发射电路如图2.3-1所示: 图2.3-1 超声波发射电路2.4 超声波检测接收电路设计7检测接收电路中的CX20106A芯片是

22、一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz 与测距超声波频率40kHz 较为接近,可以利用它作为超声波检测电路,超声波接收头将机械能转换为电信号。但这个电信号非常微弱,必须经过放大,CX20106A芯片完成放大调制的功能。实验证明,CX20106A芯片具有很高的灵敏度和较强的抗干扰能力。内部电路由前置放大器、自动偏置电平控制电路、限幅放大器、带通滤波器、峰值检波器和整形输出电路组成。接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实

23、现准确的计时。1脚是接收信号输入端。2脚是调节接收信号灵敏度,电阻越小,灵敏度越高。电容越大,灵敏度越高。电容一般取1F,电阻50300 的,在干扰较大的场合增加电阻阻值可将灵敏度调低,干扰小的场合减小阻值将灵敏度调高。5脚主要用来调节中心频率,这里取200 k,7脚接上拉电阻,这里取1 k左右。US_R1 为超声波接收头,当收到超声波时产生一个下降沿,接到单片机的外部中断INT0 上。当超声波接收头接收到40kHz 方波信号时,将会将此信号通过CX20106A 驱动放大送入单片机的外部中断0 口。单片机在得到外部中断0 的中断请求后,会转入外部中断0 的中断服务程序进行处理。检测接受电路如图

24、2.4-1所示: 图2.4-1 检测接受电路2.5 超声波温度补偿电路设计8 在本设计中,采用的DALLAS半导体器件公司生产的一种可编程数字温度传感器芯片DS18B20来采集温度,该数字温度传感器为独特的1-Wire总线接口,全部传感元件及转换电路集成在一只形如三极管的集成电路内。外型如图2.5-1所示:图2.5-1 DS18B20它仅占用MCU一只引脚,具有操作简单,温度测量快,精度高等优点。它具有微型化、低功耗,直接将测得的结果以串行数字信号输出,其中一根线接电源正极,另一根线接电源负极。只需占用一个普通I/O线就可完成与单片机的硬件接口,具有使用简单方便、分辨率高的优点。其接线电路如图

25、2.4-2所示: 图2.4-2 温度传感器电路2.6 超声波显示电路设计采用字符型LCD显示。LCD字符型液晶显示模块是一类专门用于显示字母、数字、符号等的点阵式液晶显示模块。LCD1602应用很普遍,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),16脚接口的管脚发布如下:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比

26、度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。3 超声波测距系统软件设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距

27、仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。 3.1 超声波测距的算法设计超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为: d=s/2=(ct)/2 (3.1-1)其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录

28、超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下: RECEIVE0:PUSH PSW PUSH ACC CLR EX0 ;关外部中断0 ? MOV R7, TH0 ;读取时间值 MOV R6, TL0? CLR C MOV A, R6 SUBB A, #0BBH;计算时间差 MOV 31H, A ;存储结果 MOV A, R7 SUBB A, #3CH MOV 30H, A? SETB EX0 ;开外部中断0 POP ACC

29、? POP PSW RETI 3.2 系统程序设计系统程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms后,才打开外中断0接收返回的超声波信号。由于采用的是12 MHz的晶 振,计数器每计一个数就是1s,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(3.2-1)计算,即可得被测物体与测距仪之间的距离,设计时取20时的声速为344 m/s则有: d=(ct)/2=17

30、2T0/10000cm (3.2-1)其中,T0为计数器T0的计算值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。本设计程序采用模块化编程,包括主程序模块,超声波测距程序模块,显示模块,温度测量模块,外部中断模块。系统程序流程图设计如图3.2-2所示:通过lcd显示计算出距离值延时0.5s关闭计数器换算当前温度下的声速读取温度值计算超声波传播时间发40kHz方波3个周期,开启计数器发射信号进入中断Lcd初始化开始图3.2-2 系统程序设计图4 系统调试与误差分析94.1 单片机的编译环境4.1.1 Keil C51 编译KEIL C51标准C编

31、译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品13。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。 KEIL C51编译器在遵循ANSI标准的同时,

32、为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。存储器和特殊功能寄存器的存取: C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器。存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。中断功能:C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。 可再入功能是用关键字

33、来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。灵活的指针:C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。4.1.2 Uvision 集成开发环境uVision2集成开发环境包括以下两个部分:项目管理:工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件

34、。 uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。 uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。集成功能:uVision2的强大功能有助于用户按期完工。集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。 文件寻找功能:在特定文件中执行全局文件搜索。工具菜单:允许在V2

35、集成开发环境下启动用户功能。 可配置SVCS接口:提供对版本控制系统的入口。 PCLINT接口:对应用程序代码进行深层语法分析。Infineon的EasyCase接口:集成块集代码产生。Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2。4.1.3 测试程序uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能DDE界面和shift语言支持自动程序测试 CPU和外设模拟装置:uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口在对话框内可直接观察和修改I/O值,也可以用预装的C-LIK

36、E 宏指令书写符号函数来提供动态输入。 目标监控器:uVision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uVision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节Xdata RAM。 MCB517/251启动工具包:在开始一项8051工程时,MCB启动工具会对你有很大帮助。每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。用户可在检测8051性能的同时,查看开发工具的可行性。 MCB517AC板含高性能Infineon C517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位

37、数据指针,一个高速运算单元。同时包含对81C90CAN控制器和代码区的支持。4.2 超声波测距电路调试通过多次实验,对电路各部分进行了测量、调试和分析。首先测试发射电路对信号放大的倍数,先用信号源给发射电路输入端一个40kHz的方波信号,峰-峰值为3.8V。经过发射电路后,其信号峰-峰值放大到10V左右。40kHz的方波驱动超声波发射头发射超声波,经反射后由超声波接收头接收到40kHz的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,在单片机的外部中断源输入端产生一个中断请求信号。该测距电路的40kHz方波由单片机编程产生,方波的周期为1/

38、40ms,即25s,半周期为12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于12M晶振的单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约38.46kHz的方波。4.3 系统误差分析超声波是以声波的形式所进行的能量传播。一般来说,超声波传播的距离大或是速度慢,能量消耗就大,倘若超声波的能量全部消耗在传播途中或是声波改变方向,就接收不到回波信号。而超声波传播的速度与弹性介质的种类和状况关系极大,通常说的声速每秒340米,其传播介质是15的标准空气。研究表明,

39、声波的传播速度与温度是成正比的,在近地层中,当气温随高度增加而降低时,声音的传播速度随高度增加而减小,声波的射线就会向上弯曲(俗称声音起飞了);反之,当气温随高度增加而升高,声波的传播速度就会随高度增加而增加,声波射线呈向下弯曲状,给人的听觉就是声音在下沉。在相同的间隔测量距离,由于波的传播时间是相同的,但不同温度下到声速不同,所以最终造成测量出来的距离不相等,即如果不是在标准温度下进行测量,将存在系统误差。在超声波测距系统中,影响测量精度的因素很多,包括现场环境干扰、时基脉冲频率等;但环境温度对声速的影响最大,从超声波声速经验公式可以看出,在0-40时,声速变化范围为331.4m/s354.

40、85m/s。以超声波在20的室温条件下的声速343.32m/s为基准,其变化率为6.83%。所以温度的影响不能忽略不计。所以在基于单片机 AT89C52 的超声波测距系统中,必须要对温度进行测量和补偿,以避免温度对测量精度的影响。5 设计总结本设计是以AT89C51为核心,利用单片机的运算和控制功能,利用超声波的特性设计出的一种简单的测距系统。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求, 随着科学技术的快速发展,超声波将的应用将越来越广。但就目前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前

41、景的技术及产业领域。经过近一年毕业设计,我要感谢我的指导教师陈钢老师在毕业设计中对我给予的悉心指导和严格要求。在我毕业设计写作期间,老师给我提供了种种专业知识上的指导和日常生活上的关怀,没有您们这样的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,向您们表示由衷的感激。接着,我要感谢和我一起做毕业设计的同学。在毕业设计的短短几个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。最后我要深深地感谢我的家人,正是他们含辛茹苦地把我养育

42、成人,在生活和学习上给予我无尽的爱、理解和支持,才使我时刻充满信心和勇气,克服成长路上的种种困难,顺利的完成大学学习。 参考文献:1 刘凤然: 基于单片机的超声波测距系统, 传感器世界, 2001.5, P29-P322 石峰: 高精度低成本车用超声波传感器的研制, 传感器世界, 2006年01期, P30-P323 张珂,刘钢海: 提高超声波测距精度方法的研究, 现代电子技术,2007.15, P139-P1414 何希才: 薛永毅, 传感器及其应用实例, 机械工业出版社, 2004.3, P138-P1525 胡汉才:单片机原理及其接口技术, 清华大学出版社, 2004.2, P27-P4

43、66 程 周:可编程序控制器原理与应用,高等教育出版社,2006.4, P3-P77 吴中俊、黄永红:可编程序控制器原理及应用,机械工业出版社,2008.8 , P52-P578 时玮,孟军,刘波:温度修正的超声波测距控制设计, 机械工程与自动化, 2005年06期, P86-P889 苏炜,龚壁建,潘笑:超声波测距误差分析, 传感器技术, 2004年06期, P10-P13附录:程序清单#INCLUDE #DEFINE K1 P3_4#DEFINE CSBOUT P3_5 /超声波发送#DEFINE CSBINT P3_7 /超声波接收#DEFINE CSBC=0.034#DEFINE BG

44、 P3_3 UNSIGNED CHAR CSBDS,OPTO,DIGIT,BUFFER3,XM1,XM2,XM0,KEY,JPJS;/显示标识UNSIGNED CHAR CONVERT10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;/09段码UNSIGNED INT S,T,I, XX,J,SJ1,SJ2,SJ3,MQS,SX1;BIT CL; 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; CSBINT=1; CSBOUT=1; CL=0; PTO=0XFF; JPJS=0; SJ1=45; SJ2=200; SJ3=400; K4CL(); TR1=1; WHILE(1) KE

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号