超声波测距仪设计数码管设计.docx

上传人:b****7 文档编号:9386744 上传时间:2023-02-04 格式:DOCX 页数:23 大小:194.03KB
下载 相关 举报
超声波测距仪设计数码管设计.docx_第1页
第1页 / 共23页
超声波测距仪设计数码管设计.docx_第2页
第2页 / 共23页
超声波测距仪设计数码管设计.docx_第3页
第3页 / 共23页
超声波测距仪设计数码管设计.docx_第4页
第4页 / 共23页
超声波测距仪设计数码管设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

超声波测距仪设计数码管设计.docx

《超声波测距仪设计数码管设计.docx》由会员分享,可在线阅读,更多相关《超声波测距仪设计数码管设计.docx(23页珍藏版)》请在冰豆网上搜索。

超声波测距仪设计数码管设计.docx

超声波测距仪设计数码管设计

 

毕业设计报告

题目超声波测距仪设计

数码管显示

 

摘要

随着科学技术脚步的快速前进,超声波凭借着其方向性好、穿透能力强、能够传递信息、易于获得较集中的声能及在水中传播距离远等特点,在医学、军事、工业、农业上的应用中越来越广泛。

但就目前技术水平来说,人们对超声波技术的利用还十分有限,例如超声波在测距仪方面的应用。

本论文详细介绍了超声波测距的工作原理与组成,以及STC89C52单片机的性能和特点,并在分析了超声波测距原理的基础上,指出了设计超声波测距系统的思路和所需要考虑的问题,给出了以STC89C52单片机为核心、数码管显示的超声波测距仪的硬件电路和软件设计方法。

该系统电路设计合理、性能良好、检测速度快、计算简单、易于控制。

本课题的研究与设计,不仅进一步提高了我的电路设计水平和程序编程能力,同时也加深了我对单片机的理解和应用。

本课题所设计的超声波测距仪可以很方便的实现距离的采集和显示,使用起来相当方便,适合于我们日常生活和工农业的距离测量,也可以作为距离处理模块嵌入其他系统中,作为其它系统的辅助扩展。

 

关键词:

超声波超声波测距仪STC89C52

第一章绪论…..…………………………………………………………………….……1

1.1课题选题意义……………………………………………..……….…………………1

1.2国内外研究现状…………………………………………………...…………………1

1.3设计主要工作…………………………………………………………………...……1

第二章硬件设计..………………………………………………………………….……3

2.1系统组成………..……………...………………………………….….………………3

2.1.1系统原理框图………………...……………………………...………………….…..3

2.1.2超声波测距仪的工作原理…….……………………………….……………….…3

2.2单片机最小系统…………….……………….…………………….…………………4

2.3数码管显示电路…………………………….………………………………….……5

2.3.1数码管简介………………….……………………………………………..…….…5

2.3.2数码管动态显示原理………………….……………………………………….…5

2.4HC-SR04超声波测距模块硬件设计…………………………………….………..…6

2.4.1HC-SR04简介…………….…………………………………………………….….6

2.4.2超声波发射电路…………………………………………………………………....6

2.4.3超声波接收电路…………………………………………………………………....7

第三章软件设计…………..……………………………………………………………7

3.1数码管软件设计.…………………………….………………………………………7

3.2HC-SR04超声波测距模块软件设计…………………………………………….…9

3.3主程序设计…………………….……………………………………………………10

第四章总结…..……………………………….…………………………….……..……11

4.1本文工作总结………………………………..………………………….…….…….11

4.2存在不足………………………...…………….….………………………....………11

参考文献…………………………………………………..………………………………12

致谢……………………………………………………………………………..…………13

附录一…………………………………………………..………………………..………14

附录二…………………………………………………..………………………..………17

第一章绪论

1.1课题选题意义

在我们的现实生活中,一些传统的距离测量方式在某些特殊场合存在着很多的缺陷,可用性不高。

比如,传统的液面测量是采用电极法中的差位分布电极,它是通过给电或脉冲来检测液面,但是由于电极长期浸泡在水中或其它液体中,极易被腐蚀、电解,从而失去灵敏性,为了更好的进行液面测量人们研制出了利用超声波进行液面测量从而弥补了传统测量的不足。

但由于目前市面上常见的超声波测距系统不仅价格昂贵、体积过大且精度也不高等因素,使得超声波测距仪在一些中小规模的应用领域中难以得到广泛的应用。

为解决这一系列难题,本文设计了一款基于STC89C52单片机的低成本、微型化、具有较强的适应能力且易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点的超声波测距仪。

因此,设计好的超声波测距仪就显得非常重要了。

1.2国内外研究现状

由古至今人们测量距离的方法有很多,曾经有人做过一个著名的实验:

利用石头往下掉做自由落体运动的原理来测量井的深度;也有人利用脚的跨度来测量物体的大概距离;经验丰富的人还可凭借经验用目测法来测量距离。

随着社会不断的发展,人们开始使用各种尺子、数学方法等来测量距离。

如今,随着技术要求不断的提高,我们对距离的测量精度要求越来越高,人们开始采用激光、涡流和无线电测距等方法。

由于外界光及电磁场等因素的影响,人们开始寻找一种更好的距离测量方式即利用超声波测距。

我国从五十年代起对超声波测距进行了较多的研究,并且取得了巨大的成果。

近年来由于电子技术的飞速发展,特别是单片机技术的应用,使得原来非常复杂的超声物位测量仪的设计有了大幅简化的可能,为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。

总体上讲,超声波发生器可以分为两大类:

一类是用电气方式产生超声波,一类是用机械方式产生超声波。

电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。

它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。

目前较为常用的是压电式超声波发生器。

如采用zilog公司的z86E08单片机控制的超声波测距数显装置,以8098单片机为核心的智能物位测量仪等,从而使得超声物位测量仪的应用得到更多的普及。

近年来超声测试技术已明显表现出下列趋向:

1、由定性的判断缺陷的有无而发展为对缺陷的位置、大小、形状、性质进行定量判断,并且利用各种成像技术直接显示缺陷的二维、三维图像;

2、向在线自动检测和仪器的智能化发展,其中非接触超声测试技术取得突破进展;

3、超声测试技术和材料的物性评价相结合,材料的设计、加工和工程应用迅速发展

1.3设计主要工作

本次设计超声波测量仪是利用STC89C52单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。

同时控制定时器产生超声波脉冲并计时。

超声波经反射物反射回来后,由传感器接收端接收,当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给数码管显示。

(1)查阅相关资料,理解最小系统、超声波发射电路、超声波接收电路和数码管显示电路等结构和工作原理。

(2)介绍硬件部分(单片机最小系统、超声波发射电路、超声波接收电路和数码管显示电路)的组成与工作原理,且画出单片机最小系统、超声波发射电路、超声波接收电路和数码管显示电路框图。

(3)介绍软件部分的组成,以及它的流程图、时序图。

(4)编写程序,把其程序烧入硬件中,完成数码管的显示,以及它的流程图和时序图。

(5)编写整个系统的程序,编译生成,调试直至完成原先预想的结果为止。

(6)根据论文格式,要求完成论文。

第二章硬件设计

2.1系统组成

2.1.1系统原理框图

整个硬件部分由最小系统、超声波发射电路、超声波接收电路、显示电路等模块组成。

各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。

软件部分主要由主程序、超声波发生子程序、超声波接收中断程序等部分组成。

图2.1为系统原理框图。

图2.1系统原理框图

上图中单片机STC89C52负责提供脉冲,超声波测距模块负责数据的采集,数码管显示器负责显示所测得的距离。

2.1.2超声波测距仪的工作原理

超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。

超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。

通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差,然后求出距离。

由于超声波也是一种声波,其声速与温度有关,下表列出了几种不同温度下的声速。

在使用时,如果温度变化不大,则可认为声速是基本不变的。

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

表1.1为超声波传播速度与温度的关系表。

表2.1超声波传播速度与温度关系表

项目

数值

温度

-30

-20

-10

0

10

20

30

40

50

60

100

声速/(m•s)

313

319

325

332

338

344

350

356

361

367

388

由表可知温度越高,传播速度越快,而且不同温度下传播速度差别非常大,对测量精度要求不高时,可认为超声波在空气中的传播速度为340m/s。

2.2单片机最小系统

单片机最小系统(或最小应用系统),是指用最小的元件组成的单片机可以工作的系统。

对52系列单片机来说,最小系统一般包括:

单片机、晶振电路、复位电路。

单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,然后求出距离。

单片机最小系统其作用主要是为了保证单片机系统能正常工作。

其原理图如图2.2所示。

图2.2单片机最小系统原理框图

说明:

STC89C52具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

(1)STC89C52共有40个引脚(其中有32个IO口。

接地占1个,电源占1个,晶振电路占2个,EA引脚占1个,复位电路占1个,剩余2个没用)。

(2)STC89C52供电电源为+5V。

(3)晶振电路:

为系统提供基本的时钟信号,晶振为12MHz。

(4)复位电路:

是单片机正常运行的一个必要部分,复位电路应该保证单片机在上电瞬间进行一次有效的复位,在单片机正常工作时将RST引脚置低。

此外通过一个按键进行手动复位,在单片机运行不正常时使用

2.3数码管显示电路

2.3.1数码管简介

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管(共阴极与共阳极字型码如图2.3所示)。

本论文数码管显示电路采用的是共阳极数码管,由四位LED组成动态扫描电路。

共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

图2.3数码管的共阴极与共阳极字型码

2.3.2数码管动态显示原理

共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

动态显示能够节省大量的I/O端口,而且功耗更低。

动态扫描时,由STC89C52的P0口控制LED的当前显示位。

当距离测量结束并调用显示程序,就会显示距离大小,显示两位小数。

显示电路如图2.4数码管与单片机的接口电路。

图2.4数码管与单片机的接口电路

2.4HC-SR04超声波测距模块硬件设计

2.4.1HC-SR04简介

HC-SR04超声波模块性能稳定、测度距离精确、模块高精度、盲区小。

此模块应用于物体测距、液位检测、公共安防和停车场检测。

基本工作原理:

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2。

该超声波模块包含了超声波发射电路和超声波接收电路。

图2.5为HC-SR04超声波模块。

图2.5HC-SR04超声波模块

2.4.2超声波发射电路

超声波发射电路的前置电路是由一个555无稳态电路组成的多谐振荡器,它是一种是间接反馈型,振荡电阻是连在电源VCC上的555电路,它是用来产生方波信号的。

超声波发射电路的后半部分主要由非门组成的电路,其中作用是:

两组非门是倒相的,使负载上可以得到两种方向的电流,峰峰值为电源的两倍。

非门并联是为了提高输出电流驱动能力,也就是提高输出功率。

下图2.2为超声波发射电路原理图

图2.2超声波发射电路原理图

发射电路的输入端接单片机任意端的输出端口,单片机执行相应的程序后,在该输出端口输出一个40kHz的脉冲信号,经过三极管T放大,由驱动超声波发射头发出长约6mm、频率为40kHz的脉冲超声波,且持续发射,遇到物体后反射至接收电路。

2.4.3超声波接收电路

超声波接收电路由超声波传感器、两级放大电路和锁相环电路组成。

发射头发射出去的超声波经障碍物反射后,反射到接收头,由于超声波传感器接收到的反射波信号非常微弱,所以需要两级放大电路对传感器接收到的信号进行放大。

锁相环电路接收到频率符合要求的信号后向单片机发出低电平中断请求信号,单片机检测到低电平后停止定时器的工作。

发送的超声波频率为40kHz,调整相关元件使锁相环的中心频率为40kHz,只响应该频率的信号,避免了其他频率信号的干扰。

下图2.3为超声波接收电路原理图。

图2.3超声波接收电路原理图

当超声波传感器接收到超声波信号后,送入两级放大器放大,放大后的信号进入锁相环检波,如果频率为40kHz,则从8脚发出低电平中断请求信号送单片机P1.0端,单片机检测到低电平后停止定时器的工作。

第三章软件设计

3.1数码管软件设计

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

静态显示驱动

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二—十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道ATC89S52单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

动态显示驱动

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

图3.2为中断流程图。

图3.2中断程序流程图

本设计的数码管显示是先将系统获得的位移值分解成4个数,然后通过定时器的中断(将程序中定时器的初始值设定为2ms,而后进入中断进行数码管显示)

3.2HC-SR04超声波测距模块软件设计

根据HC-SR04超声波测距模块的工作原理画出HC-SR04超声波测距模块的时序图和HC-SR04超声波测距模块流程图。

图3.3为HC-SR04超声波测距模块时序图,图3.4为HC-SR04超声波测距模块流程图。

图3.3HC-SR04超声波测距模块时序图

由时序图可知当系统提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHZ周期电平并检测回波。

一旦检测到有回波信号则输出回响信号。

回响信号的脉冲宽度与所测的距离成正比。

由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。

图3.4HC-SR04超声波测距模块流程图

3.3主程序设计

本论文所设计的超声波测距仪的软件部分是用C语言设计而成的。

系统由单片机STC89C52、HC-SR04超声波测距模块、数码管显示等部分组成。

该系统通过HC-SR04超声波测距模块所测量障碍物距离的变化采集数据,最后通过数码管来显示测量值。

图3.1为系统总流程图

图3.1系统总流程图

系统上电后,首先进行程序初始化,然后置位使定时器T0开始定时,控制超声波传感器发出超声波,同时使定时器T1开始定时。

CPU循环检测P1.0引脚,当P1.0为低电平时接收到回波,立即使T1停止工作,保存定时器的计数值。

然后根据传输时间计算距离,计算出距离后调用距离显示子程序,通过数码管显示距离。

 

第四章总结

4.1本文工作总结

本文所介绍的是利用STC89C52单片机编程产生频率为40kHz的方波,由HC-SR04超声波测距模块进行距离数值采集,通过数码管显示器显示距离数值的超声波测距仪。

我们根据超声波测距仪整个系统以及各个模块的工作原理先将程序写入Kill软件中检测是否正确无误,在将各个模块的程序依次单独烧入烧写软件中。

确认正确后将整个程序再次烧入烧写软件中。

当电路板上显示出正确数值时证明了我们的程序准确无误。

通过本次设计我们发现利用52系列单片机设计的测距仪便于操作、读数直观。

经实际测试证明,我们所做的测距仪工作稳定,能满足一般近距离测距的要求,且成本较低、有良好的性价比。

同时我们也发现距离测量时必须满足以下条件:

①被测目标必须垂直于超声波测距仪。

②被测目标表面必须平坦。

③测量时在超声波测距仪周围没有其他可反射超声波的物体。

因此在测量过程中稍不小心就会接收不到超声波,而导致没有测量结果。

每一个付出的过程总会有着不少的收获,经过这次毕业设计,不仅让我重新复习了以前所学过的单片机知识,加深了我对单片机的认识,同时也巩固了我对Protel、Visio2003等绘图软件的操作能力,并且我学到了许多上课期间所不具备的知识和技能、学会了自己通过动手实践,成功实现了超声波测距仪的设计。

这次课程设计虽然成功的实现了超声波测量仪预期的效果,但过程并不是一帆风顺的,期间遇到了许多的难题,例如:

对超声波传感器的使用、程序的编程以及各个电路的接法问题等等。

但经过老师的讲解及查阅各种相关的资料后,终于得到了想要的结果。

这次的设计让我明白:

天下没有免费的午餐,你的付出决定你的收获。

古人云:

“纸上得来终觉浅”,如果我们没有尝试把所学到的知识应用到实际中,那么我们永远也没办法获得所学知识的精华。

4.2存在不足

由于我们自己对单片机、超声波传感器知识的欠缺和经验的不足,设计过程中没有考虑周全且设计方案较于简单以及该系统中锁相环锁定需要一定时间等原因,导致了在测量的时候数据的显示会比较慢,且测得的距离有一定误差,无法应用在在精度要求较高的工业领域如机器人自动测距等方面,在测量的距离过大时可能会导致乱码的出现。

参考文献

[1]赵负图传感器和敏感元器件性能数据手册[M].辽宁科学技术出版社,1994

[2]何立民单片机应用技术选编[M].北京航空航天大学出版社,2000

[3]来清明传感器与单片机接口及实例[M].北京航天航空大学出版社,2008

[4]龚运新单片机C语言开发[M].清华大学出版社,2006

[5]张迎新单片机原理及应用[M].电子工业出版社,2010.1

[6]蔡明文,冯先成.单片机课程设计[M].华中科技大学出版社,2007:

[7]李丽霞,单片机在超声波测距中的应用[J].电子技术,2002

[8]冯玉东,C语言程序设计实用教程[C].中国电力出版社,2004

[9]胡萍.超声波测距仪的研制[M].中国电力出版社,2003.10

[10]时德刚,刘哗.超声波测距的研究[M].电子工业出版社,2002.10

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

 

致谢

感谢这三年来福建电力职业技术学院给了我学习的机会,也感谢福建电力职业技术学院机电工程系的老师们对我专业思维及专业技能的培养,他们在学业上的辛勤指导为我工作和继续学习打下了良好的基础,在这里我要向诸位老师深深的鞠上一躬!

我的毕业论文是在徐志保老师的精心指导和大力支持下完成的,从开始做论文到论文基本完成,经历了很长一段时间,从开始的一知半解到现在的全面了解算是经历了一个漫长的过程。

在这个过程中徐志保老师一直陪伴着我们。

每一次当我们遇到困难时,老师总是很有耐心帮助我们;每一次老师有空的时候,他总往实验室跑,为了仅仅是想给我们更多一点的帮助,让我们能够更好的完成任务;每一次我们拿论文给老师看的时候,他总是很仔细的看我们的论文,帮我们找出其中有错误的地方,指导我们如何纠正错误、完善不足。

老师渊博的知识、开阔的视野给了我深深的启迪,论文凝聚着他的血汗,他以严谨的治学态度、敬业的工作精神和谦虚育人的品德深深的感染了我,在此我向他表示衷心的谢意

我最想感谢的还有我的父母,虽然家里生活条件并不优越,可是他们总是竭尽所能的给我提供更好的环境,让我能够安心的在学校读书,在这里我也要向我的父母深深的鞠上一躬!

同时,我要向百忙之中抽时间对本文进行审阅的各位老师表示衷心的感谢。

大学给我留下了我人生不可磨灭的印象,给我留下了美好的回忆。

最后祝愿我的母校越来越美丽。

祝福老师们身体健康,工作顺利!

同学们都能找到称心的工作!

 

附录一

//hc-sr04超声波测距模块DEMO程序

//晶振:

11。

0592

//接线:

模块TRIG接P1.0ECH0接P1.1

//数码管:

共阳数码管P0接数据口,P2.0P2.1P2.2P2.3接选通数码管

/***********************************************************************************************************/

#include//器件配置文件

#include

#defineRXP1_0

#defineTXP1_1

unsignedinttime=0;

unsignedinttimer=0;

unsignedcharposit=

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

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1