基于单片机的超声波测距系统设计

更新时间:2024-05-12 21:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计报告(论文)

报告(论文)题目:基于单片机的超声波测距

系统设计

作者所在系部: 电子工程系 作者所在专业: 作者所在班级:

作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 :

北华航天工业学院教务处制

北华航天工业学院电子工程系

毕业设计(论文)任务书

姓 名: 指导教师: 专 业: 应用电子技术 班 级: 09212 学号: 20093021239 职 称: 助理实验师 完成时间: 2012年6月6日 毕业设计(论文)题目: 基于单片机的超声波测距系统设计 设计目标: 利用超声波的指向性强、能量消耗慢、传播距离远等特点,设计实现生活中很多场合如汽车倒车、机器人避障、工业测井、水库液位测量等需要自动进行非接触测距的工作。 技术要求: 1、熟练使用AT89C51单片机、超声波发射器、超声波接收换能器各种仪器。掌握其原理,学以致用。设计出超声波测距仪的硬件结构电路。 2、对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。 3、对设计的电路进行分析。 所需仪器设备: AT89C51单片机、超声波发射器、超声波接收换能器 成果验收形式: 原理图、仿真结果 参考文献: 《单片机原理与接口技术》、《传感器应用A》、《电子测量技术》 时间 安排 1 5周---6周 2 7周---8周 立题论证 方案设计 3 9周---13周 4 14周---16周 仿真调试 成果验收 指导教师: 教研室主任: 系主任:

北华航天工业学院毕业论文

摘 要

超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。

系统的设计主要包括两部分,即硬件电路和软件程序。硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路,另外还有复位电路和LED控制电路等。我采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路。整个电路采用模块化设计,由信号发射和接收、供电、温度测量、显示等模块组成。发射探头的信号经放大和检波后发射出去,单片机的计时器开始计时,超声波被发射后按原路返回,在经过放大带通滤波整形等环节,然后被单片机接收,计数器停止工作并得到时间。温度测量后送到单片机,通过程序对速度进行校正, 结合两者实现超声波测距的功能。软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。它控制单片机进行数据发送与接收,在一定温度下对超声波速度的校正,还有实现数据正确显示在LED上。另外程序控制单片机消除各探头对发射和接收超声波的影响。相关部分附有硬件电路图、程序流程图。

实际的环境对超声波有很大的影响,如外部电磁干扰电源干扰信道干扰等等,空气的温度对超声波的速度影响也很大。此外供电电源也会使测量差生很大的误差。再设计的过程中考虑了这些因素,并给出了一些解决方案。

关键词 AT89C51 超声波 测距

1

北华航天工业学院毕业论文

目 录

摘 要 ....................................................................................................................................... 1 第1章 绪论 ............................................................................................................................... 1 1.1课题背景及重要意义 ......................................................................................................... 1 1.2国内超声检测发展综述 ..................................................................................................... 1 1.3超声波测距存在的问题与课题的意义 ............................................................................. 2 1.4本文主要研究内容 ............................................................................................................. 3 第2章 超声波测距原理与方法 ................................................................................................. 5 2.1超声波简介 ......................................................................................................................... 5 2.1.1 超声波的三种形式 ...................................................................................................... 5 2.1.2 超声波的物理性质 ...................................................................................................... 5 2.1.3 超声波对声场产生的作用 .......................................................................................... 5 2.2超声波传感器介绍 ............................................................................................................. 6 2.2.1 超声波测距原理及结构 .............................................................................................. 6 2.2.2超声波传感器选择 ....................................................................................................... 9 2.2.3超声波测距的原理 ....................................................................................................... 9 2.2.4发射脉冲宽度 ............................................................................................................. 10 2.2.5测量盲区 ..................................................................................................................... 11 2.3本章小结 ........................................................................................................................... 12 第3章 系统硬件设计 ............................................................................................................. 13 3.1 发射电路设计 ................................................................................................................... 13 3.1.1发射电路设计方案 ..................................................................................................... 14 3.1.2发射电路常用方案 ..................................................................................................... 14 3.1.3 超声波发射器的注意事项 ........................................................................................ 15 3.2 接收电路设计 ................................................................................................................... 16 3.3单片机显示电路设计 ....................................................................................................... 17 3.3.1 LCD显示部分 ............................................................................................................ 21 3.3.2报警部分 ..................................................................................................................... 22 3.4本章小结 ........................................................................................................................... 22 第4章 软件设计和测量结果分析 ........................................................................................... 23

1

北华航天工业学院毕业论文

4.1系统软件设计 ................................................................................................................... 23 4.2外部中断子程序 ............................................................................................................... 27 4.3定时器中断子程序 ........................................................................................................... 27 4.4 实现重要功能的程序分析 ............................................................................................... 28 4.4.1 实现温度读取功能 .................................................................................................... 28 4.4.2 实现根据温度转化声速 ............................................................................................ 29 4.4.3 实现距离计算 ............................................................................................................ 29 4.5本章小结 ........................................................................................................................... 30 第5章 结论 ............................................................................................................................... 31 致 谢 ..................................................................................................................................... 32 参考文献 ..................................................................................................................................... 33 附录1 .......................................................................................................................................... 34 附录2 .......................................................................................................................................... 35

2

北华航天工业学院毕业论文

基于单片机的超声测距系统设计

第1章 绪论

1.1课题背景及重要意义

近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。

由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。

1.2国内超声检测发展综述

在基于传统的测力距离存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。

1

北华航天工业学院毕业论文

超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,并且可以采集环境温度进行测距补偿,其测量电路小巧,精度高,反映速度快,可靠性好。

1.3超声波测距存在的问题与课题的意义

我就影响超声测距误差的几个因素做了分析,并为本系统选择了比较适合的传感器,即由一支发射探头UCM-T40KI和一支接收探头UCM-R40KI的收发分体式传感器。本节在此基础上就如何具体设计本系统进行详细分析。系统计划在实验室内实现小范围测距,测试距离约为0.2m—3m米,系统整体结构如图所示。

图1-1系统设计方案图

发射电路采用单片机P1.0端口编程输出40kHz左右的方波脉冲信号,同时开启内部计数器TO。由于单片机端口输出功率很弱,为使测量距离满足要求,驱动超声传感器UCM-40T发射超声波距离足够远,故在此电路上加功率放大电路。

从接收传感器探头UCM-40T传来的超声回波很微弱(几十个mV级),又存在着较强的噪声,所以放大信号和抑制噪声是放大电路必须考虑的。本系统设计此部分电路时采用一级放大和带通滤波电路,中心频率4OKHz左右,放大滤波电路均采用了高速精密运算放大器TL082,输出信号大约在5V左右。

由于放大电路输出的信号是连续的正弦波叠加信号,而单片机所能接受的中断响应信号常为下降沿脉冲信号,故信号在放大电路后通过LM393构成的比较电路,将正弦信号转换成方波信号,用方波的负跳变作单片机的中断输入,使得单片机知道已接收到超声信号,内部计数器停止计时。

显示电路采用动态扫描显示,主要是处于节省硬件的考虑。通过单片机编程将内部

2

北华航天工业学院毕业论文

计数得到的时间数据转换为距离信息,通过3位LED数码管显示,数据XXX,单位cm。

语音播报部分就是将所测得的距离实时地,以模拟真人发音的形式报出来,例如“现在距离目标物还有XXXcm”或“现在所测得距离为XXXcm”。这样可以在视觉有限或不宜用眼观察的情况下发挥更大的用处,或近距离配合视觉系统会此测距仪的优点或方便之处得到最大程度的发挥,使用起来非常的灵活方便。本系统采用一种长时间非易失性语音芯片ISD2560,它采用模拟存储技术,音质好,录放音方便,且可以方便地进行任意语音元素的组合。

1.4本文主要研究内容

本系统硬件部分由AT89C51控制器、超声波发射电路及接收电路、温度测量电路、声音报警电路和LCD显示电路组成。汽车行进时LCD显示环境温度,当倒车时,发射和接收电路工作,经过AT89C51数据处理将距离也显示到LCD上,如果距离小于设定值时,报警电路会鸣叫,提醒司机注意车距。超声波测距器的系统框图如下图所示:

发射电路 AT89C51 LCD DS18B20 接收电路 图1-2系统设计总框图

报警电路 由单片机AT89C51编程产生10us以上的高电平,由指定引脚输出,就可以在指定接收口等待高电平输出。一旦有高电平输出,即在模块中经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的处理,指定接收口即变为低电平,读取单片机中定时器的值。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。

由时序图可以看出,超声波测距模块的发射端在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。

3

北华航天工业学院毕业论文

图 1-3时序图

4

北华航天工业学院毕业论文

第2章 超声波测距原理与方法

2.1超声波简介

超声波技术是一门以物理、电子、机械、以及材料科学为基础的、各行各业都可使用的通用技术之一。超声波技术是通过超声波的产生、传播以及接收的物理过程完成的。该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。

2.1.1 超声波的三种形式

超声波在介质中可以产生三种形式的振荡波:横波,质点振动方向垂直于传播方向的波;纵波,质点振动方向与传播方向一致的波;表面波,质点振动介于纵波和横波之间,沿表面传播的波。横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。为了测量各种状态下的物理量多采用纵波形式的超声波。

2.1.2 超声波的物理性质

(1) 超声波的反射和折射

当超声波传播到两种特性阻抗不同介质的平面分界面上时,一部分超声波被反射;另一部分透射过界面,在相邻介质内部继续传播。这样的两种情况称之为超声波的反射和折射。

(2)超声波的衰减

超声波在一种介质中传播,其声压和声强按指数函数规律衰减。 (3)超声波的干涉

如果在一种介质中传播几个声波,于是产生波的干涉现象。由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场。

2.1.3 超声波对声场产生的作用

(1) 机械作用

超声波传播过程中,会引起介质质点交替的压缩与伸张,构成了压力的变化,这种压力的变化将引起机械效应。超声波引起质点的运动,虽然位移和速度不大,但是与超声波振动的频率的平方成正比的质点的加速度却很大,有时足以达到破坏介质的程度。

(2) 空化作用

5

北华航天工业学院毕业论文

在流体动力学指出,存在于液体中的微气泡在声场的作用下振动,当声压达到一定的值时,气泡将迅速膨胀,然后突然闭合,在气泡闭合时产生冲击波,这种膨胀、闭合、振动等一系列动力学过程称为空化。

(3) 热学作用

如果超声波作用于介质时被介质所吸收,实际上也就是有能量吸收,同时,由于超声波的振动,使介质产生强烈的高频振荡介质相互摩擦产生热热量,这种能量使介质温度升高。

2.2超声波传感器介绍

总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。他们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。

压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。超声波传感器结构如下:

图 2-1超声波传感器外部结构 图 2-2超声波传感器内部结构

2.2.1 超声波测距原理及结构

电能或机械能转换成声能,接收端则反之。本次设计超声波传感器采用电气方式中的压电式 超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端它把超声波换能器,它是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波

6

北华航天工业学院毕业论文

接收器。在超声波电路中,发射端输出一系列脉冲方波,脉冲宽度越大,输出的个数越多,能量越大,所能测的距离也越远。超声波发射换能器与接收换能器其结构上稍有不同,使用时应分清器件上的标志。

超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。测试传输时间可以得出距离。

假定s为被测物体到测距仪之间的距离,测得的时间为t/s,超声波传播速度为v/m·s-1表示,则有关系式(2-1)

s=vt/2 (2-1)

在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按式(2-2)对超声波传播速度加以修正,以减小误差。

v=331.4+0.607T (2-2)

式中,T为实际温度单位为℃,v为超声波在介质中的传播速度单位为m/s。 超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强,为此,利用超声波的这种性质就可制成超声波传感器。它是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。目前常用的超声传感器有两大类,即电声型与流体动力型。电声型主要有:1.压电传感器;2.磁致伸缩传感器;3.静电传感器。流体动力型中包括有气体与液体两种类型的哨笛。由于工作频率与应用目的不同,超声传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声传感器称作探头,而工业中采用的流体动力型传感器称为“哨”或“笛”。

压电传感器属于超声传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英,妮酸锂等,属于压电陶瓷的有锆钛酸铅,钦酸钡等。其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器。

传感器的主要组成部分是压电晶片,当压电晶片发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传感器一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向

7

北华航天工业学院毕业论文

在一定范围内是与外加电压的大小和方向成正比的。也就是说,在压电陶瓷晶片上加有频率为儿交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会发出超声波。如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。

A 压电晶片 B

图2-3双压电晶片示意图

双压电晶片如图2-3所示,当在AB间施加交流电压时,若A片的电场方向与极化方向相同,则下面的方向相反,因此,上下一伸一缩,形成超声波振动。

图2-4双压电晶片的等效电路图

为静电电容,R为陶瓷材料介电损耗,并联R电阻Cm和Lm为机械共振回路的电容和电感,m为损耗串联电阻。压电陶瓷晶片有一个固定的谐振频率,即中心频率?o。发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。这样,超声传感器才有较高的灵敏度。当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率,利用这一特性可制成各种频率的超声传感器。

超声波传感器采用双晶振子,即把双压电陶瓷片以相反极化方向粘在一起,在长度方向上,一片伸长另一片就缩短。在双晶振子的两面涂敷薄膜电极,其上面用引线通过金属板(振动板)接到一个电极端,下面用引线直接接到另一个电极端。双晶振子为正方形,正方形的左右两边由圆弧形凸起部分支撑着。这两处的支点就成为振子振动的节点。金属板的中心有圆锥形振子,发送超声波时,圆锥形振子有较强的方向性,因而能高效率地发送超声波;接收超声波时,超声波的振动集中于振子的中心,所以能产生高效率的高频电压。

双压电晶片的等效电路如图2-4所示,

CO 8

北华航天工业学院毕业论文

2.2.2超声波传感器选择

超声波传感器有多种结构形式,可分成直探头(接收纵波)、斜探头(接收横波)、表面波探头(接收表面波)、收发一体式探头、收发分体式双探头等。超声波传感器分通用型、宽频带型、耐高温型、密封放水型等多种产品。一般电子市场上出售的超声波传感器常见的有收发一体式和收发分体式两种。其中收发一体式就是发送器和接受器为一体的传感器,即可发送超声波,又可接受超声波;收发分体式是发送器用作发送超声波,接受器用作接受超声波。

在超声波测量系统中,频率取得太低,外界的杂音干扰较多;频率取得太高,在传播的过程中衰减较大,检测距离越短,分辨力也变高。本文中选用的探头是4OKHz的收发分体式超声传感器,由一支发射传感器UCM-T40KI和一支接收传感器UCM-R4OKI组成,其特性参数如表2-5所示。

表2-5传感器特性参数表 型号 结构 使用方式 中心频率 频带宽 灵敏度 声压 指向角 容量 UCM-T40K1 开放式 发射 40?1KHZ 2?0.5KHZ 110dBVubar UCM-R40KQ 开放式 接收 38?1KHZ 2?0.5KHZ ?65dBVubar 115dBmin(0dB?0.02mPa) ?70dBmin(0dB?1Vubar) 75o 2500?25%pF 80o 2500?25%pF 2.2.3超声波测距的原理

超声波测距方法主要有三种:1)相位检测法:精度高,但检测范围有限;2)声波幅值检测法:易受反射波的影响;3)渡越时间法:工作方式简单,直观,在硬件控制和软件设计上都容易实现,其原理为:检测从发射传感器发射的超声波经气体介质传播到接收传感器的时间t,这个时间就是渡越时间,然后求出距离l。设l为测量距离,t为往返时间差,超声波的传播速度为c,则有l=ct/2。综合以上分析,本设计将采用渡越时间法。

9

北华航天工业学院毕业论文

图 2-6 测距原理

由于超声波也是一种声波,其声速c与空气温度有关,一般来说,温度每升高1摄氏度,声速增加0.6米/秒。表2-7列出了几种温度下的声速:

表2-7 声速与温度的关系表

温度(摄氏度) 声速(米/秒)

-30 -20 -10 0 313

319

325

10 20 30 100

323 338 344 349 386

在使用时,如果温度变化不大,则可认为声速c是基本不变的,计算时取c为340m/s。如果测距精度要求很高,则可通过改变硬件电路增加温度补偿电路的方法或者在硬件电路基本不变的情况下通过软件改进算法的方法来加以校正。

在本系统中利用AT89S52中的定时器测量超声波传播时间,利用DS18B20测量环境温度,从而提高测距精度。空气中声速与温度的关系可表示为:

c?331.45T?273.16?331.4?0.6T(m/s)273.16 (2-3)

声速确定后,只要测得超声波往返的时间,即可求得距离:L=1/2(331.4+0.6T)t。 (系统中应用该式进行温度补偿)

如果为了进一步提高测量精度,本设计中将根据需要利用软件方式增加角度补偿的

222设计:s?l?h。 (系统中应用该式进行角度补偿)

2.2.4发射脉冲宽度

发射脉冲宽度决定了测距仪的测量盲区,也影响测量精度,同时与信号的发射能量有关。减小发射脉冲宽度,可以提高测量精度,减小测量盲区,但同时也减小了发射能量,对接收回波不利。但是根据实际的经验,过宽的脉冲宽度会增加测量盲区,对接收回波及比较电路都造成一定困难。在具体设计中,比较了 25μs(l个40KHz方波脉冲), 100μs(4个40KHz方波脉冲),200μs(8个40KHz方波脉冲), 800μs(32个40KHz方波脉冲)的发射脉冲宽度,作为发射信号后的接收信号。最终采用短距离(2m内)发射 200μs(8个40KHz方波脉冲)发射脉冲宽度;长距离(2m外)发射 800μs(32个40KHz脉冲方波)的发射脉冲宽度,同时单片机编程避开盲区。此时,从接收回波信号幅度和测量盲区两个方

10

北华航天工业学院毕业论文

面来衡量比较适中,并且接收准确响应速度快。

2.2.5测量盲区

在以传感器脉冲反射方式工作的情况下,电压很高的发射电脉冲在激励传感器的同时也进入接收部分。此时,在短时间内放大器的放大倍数会降低,甚至没有放大作用,这种现象称为阻塞。不同的检测仪阻塞程度不一样。根据阻塞区内的缺陷回波高度对缺陷进行定量评价会使结果偏低,有时甚至不能发现障碍物,这是需要注意的。由于发射声脉冲自身有一定的宽度,加上放大器有阻塞问题,在靠近发射脉冲一段时间范围内,所要求发现的缺陷往往不能被发现,这段距离,称为盲区,具体分析如下:

图2-8传感器回波测距原理分析图

如图所示,当发射超声波时,发射信号虽然只维持一个极短时间,但停止施加发射信号后,探头上还存在一定余振(由于机械惯性作用)。因此,在一段较长时间内,加在接收放大器输入端的发射信号幅值仍具一定幅值高度,可以达到限幅电路的限幅电平Vm;另一方面,接收探头上接收到的各种反射信号却远比发射信号小,即使是离探头较近的表面反射回来的信号,也达不到限幅电路的限幅电平。当反射面离探头愈来愈远,接收和发射信号相隔时间愈来愈长,其幅值也愈来愈小。在超声波检测中,接收信号的衰减总是比发射信号余振衰减慢的多。为保证一定的信噪比,接收信号幅值需达到规定的阈值Vm,亦即接收信号的幅值必须大于这一阈值才能使接受放大器有输入信号。由图2-8可见,从b点以后,接收的信号低于闽值,相当于测距的远限。另外,从图中A点以后,接收信号才比发射信号大,但还将与发射信号相迭加,难以分辨。从c点以后,发射信号低出阈值Vm,接收信号才基本摆脱发射信号干扰,而能明显的被分辨,所以在要求较高时,把oc这段时间规定为盲区时间。从距离上说,根据盲区时间和声速,就可以求得盲区距离。因此,cb为可测距范围;b点就为测距远限,其外部就为测量不到的区域。

11

北华航天工业学院毕业论文

2.3本章小结

本章首先介绍了超声波的形成、超声波在传播过程中的反射折射规律以及如何衰减;通过详细分析超声传感器的内部结构以及影响超声传感器的几个重要参数给出本系统设计中所用超声传感器的特性参数;分析了超声波测距的基本原理,并在此基础上给出了测距的几种常用方法以及传感器指向角、工作频率、环境温度、发射脉冲宽度和测量盲区对超声测距精度的影响。

12

北华航天工业学院毕业论文

第3章 系统硬件设计

系统硬件主要由单片机系统及显示电路、超声波发射电路、超声波检测接收电路和温度补偿电路四部分组成。随着超声波测量技术的不断提高,用超声波测量任何目标物体,都存在着超声波的发射和接收问题。不论超声波传感器的大小、形状、灵敏度有何不同,其工作原理都有是一样的(都是利用压电晶体将电能转换为机械振动弹性能,即在媒质中产生超声波),要提高超声测量的精度或分辨力,必须从超声波的发射和接收两方面入手,这也是设计超声测量仪器的关键和难点所在。

发射电路采用单片机P1.0端口编程输出40KHz左右的方波脉冲信号,同时开启内部计数器T0。由于单片机端口输出功率很弱,在此电路上加功率放大电路使测量距离满足要求,驱动超声传感器UCM-40T1发射超声波距离足够远。

由于从接收传感器探头UCM40T传来的超声波回波很微弱(几十个mV级),又存在着较强的噪声,所以放大信号和抑制噪声是放大电路必须考虑。这里使用CX 20106A集成电路对接收探头接受到的信号进行放大、滤波,信号经过P2.7端口送入单片机中进行处理。为节省硬件考虑,显示电路采用动态扫描显示。通过单片机编程将内部计数得到的时间数据,转换为距离信息,通过三位LED数码管显示。

3.1 发射电路设计

超声波发射部分是为了让超声波发射换能器TCT40-16T能向外界发出40 kHz左右的方波脉冲信号。40 kHz左右的方波脉冲信号的产生通常有两种方法:采用硬件如由555振荡产生或软件如单片机软件编程输出,本系统采用后者。编程由单片机P1.0端口输出40 kHz左右的方波脉冲信号,由于单片机端口输出功率不够,40 kHz方波脉冲信号分成两路,送给一个由74HC04组成的推挽式电路进行功率放大以便使发射距离足够远,满足测量距离要求,最后送给超声波发射换能器TCT40-16T以声波形式发射到空气中。发射部分的电路,如图3-1所示。图中输出端上拉电阻R31,R32,一方面可以提高反向器74HC04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。

13

北华航天工业学院毕业论文

图3-1 超声波发射电路框图

3.1.1发射电路设计方案

一、发射电路输出波形分析 1.发射波形的重复性

为获得高分辨力,发射电路设计应保证发射的超声波波形有良好的重复性;此外,所发射的超声波应尽量单纯,即发射波的各个振动应近似为同一频率的振动,以便接收时可采用带通滤波器消除干扰和每次都接收到同一个振动波峰。为避免超声波在障碍物表面反射时造成的各种损失和干扰。

由于超声波是换能器压电晶片振动时推动附近的空气发出的疏密波,其“波形”应与晶片振动规律相同。发射电路设计的是否合理直接影响发射波功率和波形的重复性。

通常发射电路按发射方式分为:单脉冲发射、多脉冲发射和连续发射。测距所用超声波一般都是间断单脉冲发射,每测距一次,发送、接收一次。间断地激发换能器晶片振动。此方法测试距离太近;本系统采用间断多脉冲发射,系统自动识别被测距离远近,设置发射脉冲个数。

2.发射波形电压及功率

传感器发射电压大小主要取决于发射信号损失及接收机的灵敏度,综合各种损耗的因素,包括往返传播损失,声波传输损失,声波反射损失,环境噪声损失;另外考虑实际发射传感器的最大输入电压为20Vp-p,以及单片机正常工作输出最大电压5V,传感器发射信号的功率直接决定发射探头发出超声信号的远近,所以考虑电压的同时应该考虑如何提高其功率,才能使得发射电路更合理。

3.1.2发射电路常用方案

由上面的分析,我们知道发射电路设计的主要目的是抬高输入到发射探头的电压及

14

北华航天工业学院毕业论文

其功率。本系统用单片机P1.0发射一组方波脉冲信号,其输出波形稳定可靠,但输出电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以在此间加入一个单电源乙类互补对称功率放大电路,如图3-2所示。

-VCCQ1LS1C1P1.0Q2RFR1VCC

图3-2 超声波发射电路

3.1.3 超声波发射器的注意事项

超声波发射器向某一方向发射超声波,在发射超声波的同时开始计时,超声波在空气中传播,途中碰到障碍物反射后立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度约为340m/s,根据计时器记录的时间t,就可以计算出超声波发射点距障碍物的距离(s),即为:s=340t/2,这就是所谓的时间差测距法。

存在4个因素限制了该系统的最大可测距离:超声波的幅度、反射的质地、反射回波和入射声波之间的夹角以及接收换能器的灵敏度。

测距误差主要来源于以下几个方面:

(1)超声波波束对探测目标的入射角?的影响;

(2)超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发;

(3)超声波传播速度对测距的影响。稳定准确的超声波传播速度是保证测量精度的必要条件,波的传播速度取决于传播媒质的特性。传播媒质的温度、压力、密度对声速都将产生直接的影响,因此需对声速加以修正。

(4)由于超声波利用接收发射波来进行距离的计算,因而不可避免地存在发射和反射之间的夹角,其大小为2?,当?很小的时候,可直接按式S?CVt2进行距离的计算;当夹角很大的时候,必须进行距离的修正,修正的公式为:

S?cos??c?t (3-1) 2 15

北华航天工业学院毕业论文

实际的调试过程中,要十分注意发射和接收探头在电路板上的安装位置,这是因为每一种超声波发射、接收头都有一个有效测量夹角,这里用到的发射、接收头有效测量夹角为45°。

接收换能器对超声波脉冲的直接接收能力将决定该系统最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。

3.2 接收电路设计

接收换能器晶片接收到超声波垂直作用后,因谐振而形成逐步加强的机械振动。因压电效应晶片两面出现交变的等量异号电荷,电荷量很少,只能提供微小交变的电压信号,而不能提供电流信号。所以需要一个前置放大电路将这一微小交变电压信号充分放大,同时考虑可能出现干扰信号,放大有用信号的同时加入滤波电路,驱动后面的比较器输出电位跳变,作为确定接收到的时刻。

前置放大电路单元的作用是对有用的信号进行放大,并抑制其它的噪声和干扰,从而达到最大信噪比,以利于后续电路的设计。

R3VCCLS2UiR2Ii23UCM40114If11TL082U0Rp-VCC

图3-3前置放大电路图

电路如图3-3所示,考虑到超声换能器的输出电阻比较大(一般数百兆欧姆以上),因此前置放大器必须有足够大的输入阻抗(Input Impedance));同时,换能器的输出电压很小(数十毫伏),这就要求前置放大电路有很高的精度、很小的输入偏置电压 (Input Offset

RVoltage)。前置放大电路是由一个高精度、高输入阻抗放大器TL082及电阻R2、3和R?构成,组成反向比例放大电路,这样可以减小地线噪声的影响。

由电路的基本知识,可列出:

16

北华航天工业学院毕业论文

Ii?Ui?U? (3-2) R2U??U? (3-3)

R3If?根据放大器理想化的两个重要概念:

1.集成运放两个输入端之间的净输入电压U通常接近于零,即U=U?-U??O,若把它理想化,则有U=0,但不是短路,故常称为虚短。

2.集成运放两输入端几乎不取用电流,即净输入电流I?0,如把它理想化,则有I?0,但不是断开,故常称为虚断。

?If故可知本电路中:U??0,U??U??0,且Ii所以有

U???R3Ui (3-4) R2U?

上式表明,输出电压与输入电压成比例运算关系,式中的负号表示路的电压放大倍数为:

Auf?与

Ui反相。电

U?R??3 (3-5) UiR2利用反相比例放大器可实现对交直流输入信号的放大,且电路结构简单,只需要调

RR节R2和3阻值即可实现调节电压放大倍数。图中运放的同相输入端接有电阻p,参数

R?R2//R3选择时应使两输入端外接直流通路等效电阻平衡,即P,静态时使输入级偏置电流平衡并让输入级的偏置电流在运算放大器的两个输入端的外接电阻上产生相等的压降,以便消除放大器的偏置电流及漂移对输出端的影响,故RP又称为平衡电阻。 根据本设计系统需要,接收传感器输出电压很小(数十毫伏),故分别取R2?1K?;R3?200K?;RP?1K?,即放大电路将输入信号放大200倍。

3.3单片机显示电路设计

显示器是一个典型的输出设备,而且其应用是极为广泛的,几乎所有的电子产品都要使用显示器,其差别仅在于显示器的结构类型不同而己。最简单的显示器可以使LED发光二极管,给出一个简单的开关量信息,而复杂的较完整的显示器应该是CRT监视器或者屏幕较大的LCD于显示的距离范围在4米之内,选用3位LED示,表示距离的XXXcm数值。液晶屏。综合课题的实际要求由数码管,通过单片机编程实现显示,表示距离的XXXcm数值。

LED数码管显示与单片机接口通常涉及以下几个问题: 1.LED数码管显示用共阴极管还是共阳极管

17

北华航天工业学院毕业论文

2.由数码转换为笔划信息借软件译码还是硬件译码 3.显示扫描采用动态扫描还是静态扫描

问题1采用共阴极数码管还是共阳极数码管没有太明显的优缺点。如图3-4(a)所示数码管,每个数码管内部,由8个发光二极管组成,其中七个组成8字形的七段笔划,分别编号为a、b、c、d、e、f、g,还有一个为小数点,标为DP。当发光二极管导通时,相应的一段笔划或点就发亮,控制不同二极管导通就能显示出不同符号。发光二极管的阴极连在一起的称为共阴极数码管,如图3-4(b)所示;发光二极管的阳极连在一起的称为共阳,如图3-4(c)所示。两种数码管仅在单片机编程时数码对应的笔划信息码不同。

图3-4 数码管结构图

问题2软件译码是将各数码的笔划信息构成一个表格预储于内存,以后根据要显示的每一数码执行一段查表程序,查得相应笔划信息再送数码管显示;硬件译码则采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD码七段锁存、译码、驱动芯片直接译出笔划信息。

问题3动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a—h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。采用静态扫描方式控制点亮LED数码管无位选信号,各数码管是同时点亮的;每数码管应显示数码的笔划信息也分路同时送给。其原

18

北华航天工业学院毕业论文

理比较简单。静态扫描显示编程容易,显示比较清晰,亮度一般较高;但要求占用很多I/O接口线和增用不少硬件芯片,成本较高。因此,动态扫描用得更多。

VCC910111213141516Res Pack487654321X1X2X3X4X5X6X7X8abcdefgDPDpy Red-CCKKX1X2X3X4X5X6X7X8abcdefgDPDpy Red-CCKKX1X2X3X4X5X6X7X8abcdefgDPDpy Red-CCKKY1Y2Y3VCCC32VCC1918XTALP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0/T2P1.1/T2EXP1.2/ECIP1.3/CEX0P1.4/CEX1P1.5/CEX2P1.6/CEX3P1.7/CEX4P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A1540393837363534333212345678X1X2X3X4X5X6X7X81C2XTAL1XTAL2Y1Y2Y312345678IN1IN2IN3IN4IN5IN6IN7GNDULN2003AOUT1OUT2OUT3OUT4OUT5OUT6OUT7COM161514131211109VCCR11KVCC931C12930RSTEA/VPPPSENALE/PROG1011121314151617P3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD1112345678910OEVCCCLKD0D1D2D3D4D5D6D7GND74ACQ574PCO0O1O2O3O4O5O6O7VCC2020VSSAT89S511918171615141312

图3-5 显示部分电路图

19

北华航天工业学院毕业论文

针对以上3个问题,实际考虑节约单片机的接口资源以及减少硬件芯片成本投入,本单元电路设计如图3-5所示,采用3位共阴极数码显示管,显示字符由单片机P2口送至锁存器74HC574锁存,再经显示驱动芯片ULN2O03驱动数码管显示,P0.1-P0.3分别控制每一位的动态显示。

74HC574为三态输出D型上升沿触发器,图3-6为其引脚图,在输入使能端OE有效时,当时钟脉冲CK有上升沿跳变,触发器发生翻转,将锁存的8路输入数据(即单片机P2口送出的字符数据)送出显示。其功能表,如表3-1

所示。

OE 1 20 Vcc 1B 1 16 1C 1D 2 19 1Q 2B 2 15 2C 2D 3 18 2Q 3B 3 14 3C 3D 4 17 3Q 4B 4 13 4C 4D 5 16 4Q 5B 5 12 5C 5D 6 15 5Q 6B 6 11 6C 6D 7 14 6Q 7B 7 10 7C 7D 8 13 7Q 8B 8 9 COM 8D 9 12 8Q 9D 10 11 CLK 图3-6 74HC574引脚图 图3-7 ULN2003引脚图

表3-1 74HC574功能表 INPUTS OUTPUT Q H L Q0 Z OE CLK D L ↑ H L ↑ L L H or L X H X X ULN2003为显示驱动芯片,抬升单片机的输出电流,提高负载驱动能力。其引脚如图3-7所示,其内部含七对达林顿放大管,其主要功能:当输入为高电平时,输出为低电平;输入为低电平时,输出为高电平。本课题让单片机P0.1-P0.3经此芯片提升驱动能力从而控制数码管的位选,实现数据动态扫描输出。

由于声音的速度在不同的温度下有所不同,为提高系统的精度,采用了温度补偿功能。这里采用的主要元器件是是美国Dallas半导体公司生产的单总线数字温度传感器DS18B20,其具有精度高、智能化、体积小、线路简单等特点。将DS18B20数据线与单片机的P1.1口相连,就可以实现温度测量,如图3-8所示。

20

北华航天工业学院毕业论文

图 3-8 DS18B20 温度测量电路

3.3.1 LCD显示部分

本设计显示部分采用字符型TC1602液晶显示所测距离值。TC1602显示的容量为2行16个字。液晶显示屏有微功耗、体积小、显示内容丰富、超薄轻巧、使用方便等诸多优点,与数码管相比,显得更专业、美观。使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,如图所示。

图 3-9 TC1602液晶显示电路

其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。第7~14脚:D0~D7为8位双向数据线。这里要注意的是,为了布线方便,单片机端的D0~D7是接到LCD/602的D1~D0,正好相反,因此在编写软件时需要做处理,使读取正确。

21

北华航天工业学院毕业论文

3.3.2报警部分

采用一个蜂鸣器,由P1.2输出一定频率的信号,在连接到蜂鸣器之前,经过一个三极管9012的放大。报警部分的连线,如图3-10所示。

图3-10报警电路

3.4本章小结

本章主要介绍了基于单片机的超声测距系统的具体硬件设计电路。对其中主要硬件单元:发射电路、接收电路、检测电路以及显示电路的设计给出原理图并进行了分析计算。

22

北华航天工业学院毕业论文

第4章 软件设计和测量结果分析

4.1系统软件设计

系统程序结构:

(1)DS18B20温度传感器接口模块,分为初始化程序、写入命令以及读取子程序等部分;

(2)基于YB1602的显示模块,分为初始化子程序、写入子程序以及显示子程序; (3)温度补偿与距离计算模块、分为超声波发送控制程序、接收处理程序、温度补偿子程序等;

(4)本次设计使用C语言编写程序,C语言相比汇编有许多的优势;编译器使用Keil

?Version2进行程序编译,Keil功能强大使用方便。

主程序,分为系统初始化、按键处理以及各个子程序的调度管理等部分。 如图4-1所示描述了各个模块的关系:

图 4-1系统软件方框图

系统主程序:

23

北华航天工业学院毕业论文

本设计主程序的思想如下:

(1)温度为两位显示,距离为四位显示单位为mm;

(2)温度每隔900ms采样一次,DS18B20在12位精度下转换周期为750ms ,故900ms满足该速度要求;超声波每隔60ms发送一次。

(3)按键S为测量启动键;

(4)系统采用AT89S52的内时钟:12MHz; (5)没有使用看门狗功能;

(6)超声波发送一定时间后才开始启动检测,避免直达信号造成误判。所以系统最小测量约为112mm;

系统主程序如下: void main(void) { uchar i,j;

for(i=0;i<255;i++)

for(j=0;j<255;j++); //延时,等待系统外围复位完成 sys_init(); //初始化 display(); //显示 sta_flag=0; //标准复位 waitforstarting: //检测按键 while(START); for(i=0;i<20;i++) delay1ms(); if(START)

24

北华航天工业学院毕业论文

goto waitforstarting;

BUZZER=0; //蜂鸣器鸣音一次提示按键按下 i=100000; while(i--); BUZZER=1; i=100000; while(i--);

TR0=1; ET0=1;

testtemp(); while(1) {

if(sta_flag) {

while(0==CSBIN); TR1=0;

jsh=TH1; jsl=TL1;

if(15==count) {

temp=wd(); count=0;

//启动定时器0 //启动温度转换 //60MS到了,超声波已经发送 //等待超声波返回 //停止计数 //1S到,检测温度 25

北华航天工业学院毕业论文

testtemp(); //重新启动转换 display(); //刷新显示 }

computer(); //计算距离 hextobcd(); //转化成BCD码 sta_flag=0; } } }

void sys_init(void) { uchar i;

for(i=0;i<29;i++) { num[i]=0;} TMOD=0x11; TH0=0x15; TL0=0xA0; P0=0;

CNT=0; CSBIN=1;

EA=1; Init_LCD();

//标志清零 //显示清零 //超声波发送关闭 //开放总中断 26

北华航天工业学院毕业论文

}

4.2外部中断子程序

如图所示,中断服务程序是响应单片机的外部中断。在系统主程序中,发射的4OKHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。在中断服务程序中,首先进行必要的现场保护,再把进入中断服务程序处的计数值读出并对该数据进行处理,计算得到相应的距离值,同时转换为十进制,最后送到P2口显示输出。

RECEIVE: PUSH PSW ;中断现场保护 PUSH A

CLR EXO ;关闭外部中断INTO MOV R0,TL0 ;读取时间 MOV R1,TH0

LCALL MULD ;调用乘法子程序计算机距离 LCALL ADJ ;调用十进制调整子程序 LCALL DISP

SETB EX0 ;打开外部中断INT0 POP A POP PSW RETI

4.3定时器中断子程序

定时器中断子程序流程图如图4-2所示。由于51单片机是16位定时器,最大计时时间为65536us,当测量的距离很远的时候,定时器就会发生溢出;所以必须对溢出中断进行相应的设置才能使得单片机正常工作。同时由于电路的测量距离有限最远为5米,当测量距离超出5米时,接收探头就不能检测回波,即不能产出外部中断更不可能关闭定时器。程序如下:

TIME0: PUSH PSW ;中断现场保护 PUSH A CLR EX0 CLR TR0

MOV TL0,#00H MOV TH0,#00H SETB TR0 SETB EX0

27

北华航天工业学院毕业论文

LCALL PULSE ;调用发射脉冲子程序 POP A POP PSW RETI 定时中断 关闭定时器 定时器初始化 发射脉冲串 打开定时器 返回 图4-2 定时中断子程序流程

4.4 实现重要功能的程序分析

4.4.1 实现温度读取功能

uint Read_Temperature(void) //读取温度,返回整数值 {

uint c;

reset(); //复位18b20芯片

tu=0; //先置位温度正负标示为正 if(r) {

write(0xCC); // 跳过多传感器识别skio rom write(0xBE); //发读内部9字节内容指令

c=read(); //读两个字

reset(); //读完两个字节后复位

write(0xCC); // 跳过多传感器识别skio rom

write(0x44);

// 发启动温度变换指令

28

北华航天工业学院毕业论文

if(c>0x1000){c=c+1;tu=1;} //若温度小于0,tu=1

c>>=4; //去掉低四位即为整数温度值,无需*0.0625

return c;

}

else{return r; }

//返回0XFF表示未检测到18B20芯片

}

4.4.2 实现根据温度转化声速

int C_speed(void) //根据温度查算声速值

{

uchar y;

y=Read_Temperature(); //采温度

if(r){ //若温度有变化则按温度值取声速 {

T_C=y; //温度值=变化后的温度值 if(tu==0)speed=332+T_C*0.607; //温度为正则+声速 else speed=332-T_C*0.607; //温度为负则-声速 }

}else speed=346.5; //若1820不存在即无法读取温度,声 速=346.5M/S(取25度) return speed; }

4.4.3 实现距离计算

float Dis_count()

//距离计算函数

{ float cm; cm=TH1*256+TL1; cm-=7610; //减去限制10M的初值+可调误差值 cm*=speed; //计算距离uS*34650m cm/=20000; //转换为s 单程

return cm;

}

29

北华航天工业学院毕业论文

4.5本章小结

本章主要结合超声测距系统的硬件设计方案,给出具体实现时单片机涉及到的软件结构及其相关编程。主要包括整个程序的算法思想,采用模块化设计,大量采用子程序设计的方法,大大缩短编程开发周期,方便程序阅读以及程序查错。程序采用先在计算机上进行软件仿真,后灌进单片机中和硬件结合调试。

30

北华航天工业学院毕业论文

第5章 结论

本设计是以AT89C51为核心,借助于模数电技术和单片机技术的结合,解决了超声波测距的一些难题。灵活的运用超声波换能集成电路作为超声波的接收电路,在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,完成了超声波测距的设计要求。利用单片机的运算和控制功能,利用超声波的特性设计出的一种简单的测距系统。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,随着科学技术的快速发展,超声波的应用将越来越广。但就目前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

从课题选择、方案论证到具体设计,我查阅了大量的资料。对一些疑难的问题,我得到了老师和同学的帮助。在三年的专科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向老师们表示深深的感谢和崇高的敬意。

31

北华航天工业学院毕业论文

致 谢

本文研究工作是在我的导师张志通老师的精心指导和悉心关怀下完成的,从开题伊始到论文结束,我所取得的每一个进步、编写的每一段程序都无不倾注着导师辛勤的汗水和心血。导师严谨的治学态度、渊博的各科知识、无私的奉献精神使我深受启迪,从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在今后的学习工作中,我将铭记恩师对我的教诲和鼓励,尽自己最大的努力取得更好的成绩。

在此我要向我的导师张志通老师致以最衷心的感谢和深深的敬意!

在三年的大学学习期间,每位老师对我的学习、生活和工作都给予了热情的关心和帮助,使我的水平得到了很大的提高,取得了长足的进步。

在此,向所有关心和帮助过我的老师、同学和朋友表示由衷的谢意! 衷心感谢在百忙之中评阅论文和参加答辩的各位专家、教授。

32

北华航天工业学院毕业论文

参考文献

[1] 谢维成,杨加国.单片机原理与应用及C51程序设计.北京:清华大学出版社,2006 [2] 蔡菲娜.单片微型计算机原理和应用.杭州:杭州大学出版社,1995 [3] 李建忠.单片机原理及应用.西安:西安电子科技大学出版社,2002

[4] 张齐等.单片机应用系统设计技术----基于C语言编程.北京:电子工业出版社,2004 [5] 吴延海.微型计算机接口技术.重庆:重庆大学出版社,1997 [6] 李丽霞.单片机在超声波测距中的应用[J].电子技术,2002

[7] 姜道连,宁延一,袁世良.用AT89C2051设计超声波测距仪[J].国外电子元器件,2000 [8] 张鹏,张有志.一种新型超生测距系统[J].山东:山东大学学报,2003,33(1)

[9] 李学海.PIC单片机实用教程-基础篇(第1版)[M].北京航天航空大学出版社.北京:2002年2月

[10] 贾伯年. 传感器技术. 南京: 东南大学出版社,2000

[11] 陈大新,胡学同,周杏鹏.利用FPGA改进超声波测距模块设计[J].传感器技术,2005,24(2): 57~59

[12] 阎石. 数字电子技术基础. 北京: 高等教育出版社, 1998

[13] 楼然苗. 51系列单片机设计实例. 北京: 北京航空航天大学出版社,1999 [14] 谭浩强.C程序设计(第三版).北京:清华大学出版社, 2005

33

北华航天工业学院毕业论文

附录1

系统原理图

系统PCB板图

34

北华航天工业学院毕业论文

附录2

源程序

#include #include #include

#define uchar unsigned char #define uint unsigned int

uchar code dispBUF[33]={%uchar numcode[10]={'0','1','2','3','4','5','6','7','8','9'}; uint num[29]={0};

uchar jsh,jsl; //计数器的高低位 uchar count=0; //10秒计次数 uint distance; //距离 uint temp; //温度变量

uchar bdata flag; //DS18B20存在标准 sbit RS=P2^0; //LCD RS sbit RW=P2^1; //LCD RW sbit E =P2^2; //LCD E

sbit DQ=P2^7; //DS18B20数字端口 sbit Busy = P0^7; //LCD 忙 void Delay(uint time); void delay1ms(uint ms); void delay();

void delay15(uchar us); void BUMA(void);

void B20_WDAT(uchar dat); uchar B20_RDAT(void);

void Init_18B20(void); //初始化18B20 void Write_Comm(uchar); //写入LCD命令 void Write_Data(uchar); //写入LCD数据 void Init_LCD(void);

sbit sta_flag =flag^0; //10MS到标准位,flag即通用标志位,当sta_flag=1时,表示到了10ms

sbit fuhao =flag^1; //温度的符号位

35

本文来源:https://www.bwwdw.com/article/tlug.html

Top