最简单的基于AT89C2051单片机超声波测距系统设计报告

更新时间:2024-05-04 19:03:01 阅读量: 综合文库 文档下载

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

AT89C2051单片机超声波测距系统

完成日期:2013年4月10日

设计题目:AT89C2051单片机超声波测距系统

1

目 录

一、设计任务和性能指标 ..................................................................................................................................... 3 1.1设计任务 ..................................................................................................................................................... 3 1.2性能指标 ..................................................................................................................................................... 3 二、超声波测距原理概述 ..................................................................................................................................... 4 2.1超声波传感器 ............................................................................................................................................. 5 2.1.1 超声波发生器 ......................................................................................................................................... 5 2.1.2 压电式超声波发生器原理 ..................................................................................................................... 5 2.1.3单片机超声波测距系统构成 .................................................................................................................. 5 三、设计方案 ........................................................................................................................................................ 6 3.1 AT89C2051单片机 ...................................................................................................................................... 7 3.2 超声波测距系统构成 ................................................................................................................................. 8 3.2.1 超声波测距单片机系统 ......................................................................................................................... 8 3.2.2 超声波发射、接收电路 ......................................................................................................................... 9 3.2.3显示电路 ............................................................................................................................................... 10 3.2.4报警声响电路单元................................................................................................................................. 11 四.系统软件设计 ................................................................................................................................................ 12 4.1 主程序设计 ............................................................................................................................................... 12 4.2 超声波测距子程序 ................................................................................................................................... 12 4.3 超声波测距程序流程图 ........................................................................................................................... 14 4.4 超声波测距程子序流程图 ....................................................................................................................... 15 五.调试及性能分析............................................................................................................................................. 15 5.1调试步骤 ................................................................................................................................................... 15 5.2 性能分析 ................................................................................................................................................... 16 参考文献 .............................................................................................................................................................. 16 附录一:基于AT89C2051单片机超声波测距系统电原理图 ........................................................................... 17 附录二 基于AT89C2051单片机超声波测距系统PCB图 ................................................................................. 18 附录三 基于AT89C2051单片机超声波测距系统焊接组装图 ......................................................................... 19 附录四 基于AT89C2051单片机超声波测距系统C语言原程序 ..................................................................... 20 附录五附录:元件清单......................................................................................................................................... 20

2

一、设计任务和性能指标

1.1设计任务

利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个超声波测距仪器,用LED数码管把测距仪距测出的距离显示出来。

要求用Protel 画出系统的电路原理图,印刷电路板,绘出程序流程图,并给出源程序清单,元件清单,同时制作出实物。 1.2性能指标

距离显示:用三位LED数码管进行显示(单位是CM)。 供电电压:DC 5V

测距范围:25CM到 350CM之间。误差:1%。 一路报警声响输出。

一路报警高低电平输出,报警时输出低电平。

3

二、超声波测距原理概述

超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。

超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度随温度变化,其对应值如表2-1 ,根据计时器记录的时间t (见图2-1),就可以计算出发射点距障碍物的距离( s ) ,即: s = v t / 2 。

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

温度(℃) 声速(m/s) -30 313 -20 319 -10 325 0 323 10 338 20 344 30 349 100 386

图2-1 超声波测距时序图

4

2.1超声波传感器 2.1.1 超声波发生器

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

压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图2-2所示,是在压电元件上施加电压,元件就变形,即称应变。若在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。

图2-2压电逆效应图

2.1.3单片机超声波测距系统构成

单片机AT89C2051发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED数码管进行显示。

限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反

5

射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。

开始测量 超声波信号 开定时器 驱动电路 电声换能器 关定时器 数据运算 接收检测 电声换能器 显示器 图2-3 超声波测距系统框图

三、设计方案

按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。

单片机主控芯片使用51系列AT89C2051单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。

发射电路由单片机输出端直接驱动超声波发送。

接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。

(AT89C2051 超声波接收模块 超声波发射模块 )单片机控制系统 6

显示模块 报警模块 供电单元

图3-1:系统设计框图

硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89C2051。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.5端口输出超声波换能器所需的40kHz的方波信号,P3.6端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。 3.1 AT89C2051单片机

AT89C2051是美国ATMEL 公司生产的低电压,高性能CMOS 8位单片机,片内含2k bytes 的可反复擦写的只读程序存储器(PEROM)和128 bytes 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-5l指令系统,片内置通用8位 央处理器和Flash存储单元,功能强大。AT89C2051单片机可为您提供许多高性价比的应用场合。

主要性能参数

·与MCS-51 产品指令系统完全兼容 ·2k字节可重擦写闪速存储器 ·1000次擦写周期

·2.7V-6V 的工作电压范围 ·全静态操作:0Hz-24MHz ·两级加密程序存储器 ·128×8字节内部RAM ·15个可编程I/O 口线 ·2个l6位定时/计数器 ·6个 断源

·可编程串行UART 通道 ·可直接驱动LED 的输出端口 ·内置一个模拟比较器 ·低功耗空闲和掉电模式

7

功能特性概述

AT89C2051提供以下标准功能:2k字节Flash 闪速存储器,128字节内部RAM,15个I/O 口线,两个16位定时/计 数器,—个5 向量两级 断结构,一个全双工串行通信口,内置—个精密比较器,片内振荡器及时钟电路。同时,AT89C2051可降至0HZ 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及 断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 3.2 超声波测距系统构成

本系统由单片机AT89C2051控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成,如图3-1 所示。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89C2051。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.5端口输出超声波换能器所需的40kHz的方波信号,P3.6端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。

超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P3.7输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P3.7由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。

3.2.1 超声波测距单片机系统

超声波测距单片机系统主要由:AT89C2051单片机、晶振、复位电路、电源滤波部份构成。如图3-2。

8

图3-2:超声波测距单片机系统

3.2.2 超声波发射、接收电路

超声波发射、接收电路如图3-3。超声波发射部份由电阻R2及超声波发送头T40板成;接收电路由BG1、BG2X组成的两组三级管放大电路组成;检波电路、比较整形电路由C7、D1、D2及BG3组成。

40kHz的方波由AT89C2051单片机的P 3 .5驱动超声波发射头发射超声波,经反射后由超声波接收头接收到40kHz的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P3脚。

该测距电路的40kHz方波信号由单片机AT89C2051 的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-3:超声波测距发送接收单元

由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收电路如图3.3 所示。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为40-50倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。 3.2.3显示电路

本系统采用三位一体L E D 数码管显示所测距离值,如图(见下页) 。码管采用动态扫描显示,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。

10

图3-4:显示单元图

3.2.4报警声响电路单元

本单元采用,一只5伏的蜂鸣器作为报警声响输出,由三极管BG7进行驱动,当测量距离小于1.00m时,蜂鸣器发出:滴、滴、滴??的报警声响。

图3-4:报警声响单元图

11

四.系统软件设计

4.1 主程序设计

超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用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) {

TR1=0; TH0=0x00; TL0=0x00; i=20;

//超声波脉冲个数10个

12

while(i--) { csbout=!csbout; } TR0=1; i=15; while(i--) { } i=0; while(csbint) { i++; if(i>=1000) 出接收回波处理程序 csbint=0; } TR0=0; TH1=0x9E; TL1=0x57; t=TH0; t=t*256+TL0; s=t*csbc/2;

TR1=1; cl=0; } }

//判断接收回路是否收到超声波的回波

//如果达到一定时间没有收到回波,则将csbint置零,退

//计算测量结果

13

4.3 超声波测距程序流程图

初始化 开始

14 显示 显示值= - - - 距离>上限值 启动定时器 =1 测量标志 =0 超声波测距 Y =N 距离<盲区值 显示值= C C C =N测量段码转换 设定段码转换 N 距离<报警值 Y 报警输出

4.4 超声波测距程子序流程图

发送超声波 N 时间=1s? Y超声波测距

N 延时避开盲区 启动计时器T0

收到回波否? Y预设时间? N Y

停止计时

计算测量值

结束 五.调试及性能分析

5.1调试步骤

我们的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的AT89C2051

机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看数码管的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -”,

15

则需将下限值增大。本测距板1S钟测量两次,若要修改测量间隔,可将程序“if(csbds>=40) //1S测量一次。”中的“40”增大或减小即可。超声波发送功率较大时,测量距离远,则相应的下限值(盲区)应设置为高值。试验板中的声

速没有进行温度补偿,声速值为340m/s。 5.2 性能分析

从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达到5到7米左右,而我们所能实现的最大距离只有3.50米,测量结果受环境温度影响。分析原因如下:

1.超声波发送部份为了简化电路,没加设置专门的超声波驱动电路,而是用单片机的P3.5输出端加了一个上拉电阻后就直接驱动超声波发送头。理论上,驱电电压只有5伏。

2.本测距板没设计温度补偿电路,来对测量结果进行修正。

参考文献

[1]赵建领 薛园园 51单片机开发与应用技术详解 北京:电子工业出版社,2009 [2] 沈红卫. 基于单片机智能系统设计与实现. 北京:电子工业出版社,2005 [3] 杨国田 白 焰 董 玲 51单片机实用C语言程序设计 中国电力出版社 2009 [4] 李群芳,黄建. 单片机微型计算机与接口技术. 北京:电子工业出版社,2001 [5] 楼然苗、李光飞. 51系列单片机设计实例. 北京:北京航空航天大学出版社,2003 [6] 王守中 51单片机开发入门与典型实例. 北京:人民邮电出版社,2009

16

附录一:基于AT89C2051单片机超声波测距系统电原理图

17

附录二 基于AT89C2051单片机超声波测距系统PCB图

18

附录三 基于AT89C2051单片机超声波测距系统焊接组装图

19

附录四 基于AT89C2051单片机超声波测距系统C语言原程序

附录五附录:元件清单

编号 型号、规格 描述 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 BG1 10k 4.7k 4.7k 150k 4.7k 150k 4.7k 4.7k 4.7k 470 470 470 470 470 470 470 9013 数量 1 1 1 1 1 1 1 1 1 1 1 编号 型号、规格 BG2 BG3 LED C1 C2 C3 C4 C5 C6 C7 IC1 9013 9013 HS310561K 220uF 104 10uF 30pF 30pF 104 104 AT89C2051 描述 NPN NPN 数量 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 1/4W电阻器 NPN 三位数码管 电解电容器 瓷片电容器 电解电容器 瓷片电容器 瓷片电容器 瓷片电容器 瓷片电容器 单片机 1 Y1 1 T 1 R 1 D1 D2 1 12MHz 晶振 T40-16T 传声波传感器 T40-16R 传声波传感器 IN4148 开关二极管 IN4148 开关二极管

20

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

Top