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

上传人:1888****888 文档编号:37895218 上传时间:2021-11-05 格式:DOC 页数:42 大小:2.90MB
收藏 版权申诉 举报 下载
基于AT89S51单片机的超声波测距系统_第1页
第1页 / 共42页
基于AT89S51单片机的超声波测距系统_第2页
第2页 / 共42页
基于AT89S51单片机的超声波测距系统_第3页
第3页 / 共42页
资源描述:

《基于AT89S51单片机的超声波测距系统》由会员分享,可在线阅读,更多相关《基于AT89S51单片机的超声波测距系统(42页珍藏版)》请在装配图网上搜索。

1、毕毕 业业 论论 文文 设设 计计基于基于 AT89S51 单片机的超声波测距系统单片机的超声波测距系统摘摘 要要超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本课题详细介绍了超声波传感器的原理和特性,以及 Atmel 公司的 AT89S51 单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以 AT89S51 单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路

2、和软件设计方法。该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。关键词关键词:超声波 单片机 测距 AT89S51AbstractAbstractUltrasonic 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 co

3、ntrol technology combine together ,ultrasonic wave finds range to use the most general one at 1present ,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 ch

4、aracteristic of the ultrasonic sensor in detail ,and 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

5、 and finds range ,provide low cost , the hardware 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 , calcu

6、lating simple , apt to accomplish real-time control ,and can reach industrys practical demand in measuring the precision 。Key Words: Ultrasonic wave; One-chip computer; Range finding; AT89S512目目 录录ABSTRACTABSTRACT.1第第 1 1 章章 绪论绪论.31.11.1 课题背景,目的和意义课题背景,目的和意义.31.21.2 基于单片机的超声波测距系统基于单片机的超声波测距系统.31.31.

7、3 课题主要内容课题主要内容.4第第 2 2 章章 超声波测距原理概述超声波测距原理概述.52.12.1 超声波传感器超声波传感器.62.1.1 超声波发生器.62.1.2 压电式超声波发生器原理.62.1.3 单片机超声波测距系统构成.7第第 3 3 章章 设计方案设计方案.83.13.1 AT89S51AT89S51 单片机单片机.83.23.2 超声波测距系统构成超声波测距系统构成.113.2.13.2.1 超声波测距单片机系统超声波测距单片机系统.123.2.23.2.2 超声波发射、接收电路超声波发射、接收电路.123.2.33.2.3 显示电路显示电路.143.2.43.2.4 供

8、电电路供电电路.143.2.53.2.5 报警输出电路报警输出电路.15第第 4 4 章章 系统软件设计系统软件设计.164.14.1 主程序设计主程序设计.164.34.3 超声波测距程序流程图超声波测距程序流程图.204.44.4 超声波测距程子序流程图超声波测距程子序流程图.21第第 5 5 章章 调试及性能分析调试及性能分析.215.15.1 调试步骤调试步骤.215.25.2 性能分析性能分析.22参考文献参考文献.22附录一:基于附录一:基于 AT89S51AT89S51 单片机超声波测距系统电原理图单片机超声波测距系统电原理图.24附录二附录二 基于基于 AT89S51AT89S

9、51 单片机超声波测距系统单片机超声波测距系统 PCBPCB 图图.25附录三附录三 基于基于 AT89S51AT89S51 单片机超声波测距系统焊接组装图单片机超声波测距系统焊接组装图.26附录四附录四 基于基于 AT89S51AT89S51 单片机超声波测距系统单片机超声波测距系统 C C 语言原程序语言原程序.27附录五附录五 元件清单元件清单.413第第 1 1 章章 绪论绪论 1.11.1 课题背景,目的和意义课题背景,目的和意义传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官

10、。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。1.21.2 基于单片机的超声波测距系统基于单片机的超声波测距系统基于单片机的超声波测距系统,是利用单片机编程产生频率为 4

11、0kHz 的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图 2-1 所示。图 1-1 基于单片机的超声波测距系统框图这种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部4中断服务子程序,读取时间差,计算距离,结果输出给 LED 显示。利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多超声波测距

12、系统都采用这种设计方法。1.31.3 课题主要内容课题主要内容通过上节介绍我们知道,以单片机为核心的超声波测距系统设计简单、方便,而且测精度能达到工业要求。本课题研究的测距系统就是用单片机控制的。通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为V,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离。本系统利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超

13、声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,单片机检测到这个负跳变信号后,停止内部计时器记时,读取时间,计算距离,测量结果输出给 LED 显示。利用本测距系统测量范围应在 40cm699cm,其误差 1cm。5第第 2 2 章章 超声波测距原理概述超声波测距原理概述超声波是由机械振动产生的,可在不同介质中以不同的速度传播。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光线、被测对象颜色等

14、影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影

15、响。本测距系统采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。再由单机计算出距离,送 LED 数 码管显示测量结果。超声波在空气中的传播速度随温度变化,其对应值如表 2-1 ,根据计时器记录的时间 t (见图 2-1),就可以计算出发射点距障碍物的距离( s ) ,即: s = v t / 2 。表 2-1 声速与温度的关系温度()

16、3020100102030100声速(m/s)3133193253233383443493866图 2-1 超声波测距时序图2.12.1 超声波传感器超声波传感器2.1.12.1.1 超声波发生器超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等; 机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。2.1.22.1.2 压电式超声波发生器原理压电

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

18、机超声波测距系统构成单片机 AT89S51 发出短暂的 40kHz 信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间 t,再由系统软件对其进行计算、判别后,相应的计算结果被送至 LED 数码管进行显示。限制超声波系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小可测距离。开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路图 2-3 超声波测距系统框图8第第 3 3 章章

19、 设计方案设计方案按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机主控芯片使用 51 系列 AT89S51 单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。图 3-1:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。单片机采用 AT89S51,系统晶振采用 12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用

20、 P2.7 端口输出超声波换能器所需的 40kHz 的方波信号,P3.5 端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的 3 位共阳 LED 数码管,段码输出端口为单片机的 P2 口,位码输出端口分别为单片机的 P3.4、P3.2、P3.3 口,数码管位驱运用 PNP 三极管 S9012 三极管驱动。3.13.1 AT89S51AT89S51 单片机单片机AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技超声波接收模块超声波发射模块单片机控制系统(A

21、T89S51)显示模块键盘模块供电单元9术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:主要性能参数:与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期4.05.5V的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288字节内部RAM32个可编程IO口线2个16位定时计数器6个中断源全双工串行UART通道低功耗空闲和

22、掉电模式中断可从空闲模唤醒系统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在系统编程(ISP字节或页写模式)功能特性概述:功能特性概述:AT89S51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32个IO 口线,看门狗(WDT) ,两个数据指针,两个16 位定时计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止

23、其它所有部件工作直到下一个硬件复位。引脚功能说明Vcc:电源电压10GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l” ,通过内部的上拉电阻把端口拉到高

24、电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL) 。Flash编程和程序校验期间,Pl接收低8位地址。端口引脚端口引脚 第二功能:第二功能:P1.5 MOSI(用于ISP编程)P1.6 MISO(用于ISP编程)P1.7 SCK (用于ISP编程)P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL) 。在访问

25、外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容) ,在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL) 。P3口除了作为一般的I0

26、口线外,更重要的用途是它的第二功能,如下表所示:11P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。AT89S51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,推荐电容使用30pF10pF,

27、而如使用陶瓷谐振器选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路如图5右图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。图3-2为晶体接线图和外接时钟线路图。石英晶体时:C1,C230pF10pF 外部时钟驱动电路外部时钟驱动电路陶瓷滤波器:C1,C240pF10pF图3-2 内部振荡电路 3.23.2 超声波超声波测距系统构成测距系统构成本系统由单片机 AT89S5

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

29、波接收头接收到反射的回波后,经过接收电路处理后,向单片机 P3.5 输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器 T0 计时,当检测到 P3.5 由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以 2 即可得到测量值,最后经 3 位数码管将测得的结果显示出来。3.2.13.2.1 超声波测距单片机系统超声波测距单片机系统超声波测距单片机系统主要由:AT89S51 单片机、晶振、复位电路、电源滤波部份构成。由 K1,K2 组成测距系统的按键电路。用于设定超声波测距报警值。如图3-3。图 3-3:超声波测距单片机系统133.2.2

30、3.2.2 超声波发射、接收电路超声波发射、接收电路超声波发射如图 3-4,接收电路如图 3-5。超声波发射电路由电阻 R1、三极管BG1、超声波脉冲变压器 B 及超声波发送头 T40 构成,超声波脉冲变压器,在这里的作用是提高加载到超声波发送头两产端的电压,以提高超声波的发射功率,从而提高测量距离。接收电路由 BG1、BG2 组成的两组三级管放大电路构成;超声波的检波电路、比较整形电路由 C7、D1、D2 及 BG3 组成。40kHz 的方波由 AT89S51 单片机的 P2.7 输出,经 BG1 推动超声波脉冲变压器,在脉冲变压器次级形成 60VPP 的电压,加载到超声波发送头上,驱动超声

31、波发射头发射超声波。发送出的超声波,遇到障碍物后,产生回波,反射回来的回波由超声波接收头接收到。由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的 P3 脚。图 3-4:超声波测距发送单元该测距电路的 40kHz 方波信号由单片机 AT89S51 的 P2.7 发出。方波的周期为1/40ms,即 25s,半周期为 12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生 40kHz 方波。由于单片机系统的晶振为 12M 晶振,因而单片机的时间分辨率是1s,所以只能产生半周期为 12s 或 13s 的方波信号,频率分别为 41.67kH

32、z 和38.46kHz。本系统在编程时选用了后者,让单片机产生约 38.46kHz 的方波。14图图 3-53-5:超声波测距接收单元:超声波测距接收单元由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收电路如图 3-5 所示。接收到的信号加到 BG1、BG2 组成的两级放大器上进行放大。每级放大器的放大倍数为 70 倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是 I N 4148 检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。3.2.33.2.3 显示电路显示电路本系统采用三位一体 L

33、 E D 数码管显示所测距离值,如图 3-6。数码管采用动态扫描显示,段码输出端口为单片机的 P2 口,位码输出端口分别为单片机的P3.4、P3.2、P3.3 口,数码管位驱运用 PNP 三极管 S9012 三极管驱动。15图图3-63-6:显示单元图:显示单元图3.2.43.2.4 供电电路供电电路本测距系统由于采用的是 LED 数码管用为显示方式,正常工作时,系统工作电流约为 30-45mA,为保证系统统计的可靠正常工作,系统的供电方式主要交流 AC6-9 伏,同时为调试系统方便,供电方式考虑了第二种方式,即由 USB 口供电,调试时直接由电脑 USB 口供电。6 伏交流是经过整流二极管

34、D1-D4 整流成脉动直流后,经虑波电容C1 虑波后形成直流电,为保证单片机系统的可电,供电路中由 5 伏的三端称压集成电路进行稳压后输出 5 伏的真流电供整个系统用电,为进一步提高电源质量,5 伏的直流电再次经过 C3、C4 滤波。16图图3-73-7:供电单元电路图:供电单元电路图3.2.53.2.5 报警输出电路报警输出电路为提高测测距系统的实用性,本测距系统的报警输出提供开关量信号及声响信号两种方式。方式一:报警信号由单片机 P3.1 端口输出,继电器输出,可驱动较大的负载,电路由电阻 R6、三极管 BG9、继电器 JDQ 组成,当测量值低于事先设定的报警值时,继电器吸合,测量值高于设

35、定的报警值时,继电器断开。方式二:报警信号由单片机 P0.2 口输出,提供声响报警信号,电路由电阻 R7、三极管 BG8、蜂鸣器 BY 组成,当测量值低于事先设定的报警值时,蜂鸣器发出“滴、滴、滴.”报警声响信号,测量值高于设定的报警值时,停止发出报警声响。报警输出电路如图 3-8。17图3-8 报警输出电路第第 4 4 章章 系统软件设计系统软件设计4.14.1 主程序设计主程序设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时) ,又要求精细计算程序运行时间(超声波测距时) ,所以控制程序可采用 C 语言编程

36、。 主程序首先是对系统环境初始化,设定时器 0 为计数,设定时器 1 定时。置位总中断允许位 EA。进行程序主程序后,进行定时测距判断,当测距标志位 ec=1 时,测量一次,程序设计中,超声波测距频度是 4-5 次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生 4 个频率为38.46kHz 超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器 T0 进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约 1.5 -2ms 时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值

37、)后,才启动对单片机 P3.5 脚的电平判断程序。当检测到 P3.5 脚的电平由高转为低电平时,立即停止 T0 计时。由于采用单片机采用的是1812 MHz 的晶振,计时器每计一个数就是 1s,当超声波测距子程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。设计时取 15时的声速为 340 m/s 则有: d=(ct)/2=172T0/10000cm 其中,T0 为计数器 T0 的计算值。 测出距离后结果将以十进制 BCD 码方式送往 LED 显示约0.5s,然后再发超声波脉冲重复测量过程。 4.2 超声波测距子程序

38、 void wdzh()TR0=0;TH1=0 x00;TL1=0 x00;csbint=1;sx=0;delay(1700);csbfs();csbout=1;TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波i+;if(i=3300)csbint=0;19TR1=0;s=TH1;s=s*256+TL1;TR0=1;csbint=1;jsz=s*csbc;/计算测量结果jsz=jsz/2; 产生超声波的子程序:为了方便程序移置及准确产生超声波信号,本测距的超声波产生程序是用汇编语言编写的进退声波产生程序。产生的超声波个数为UCSB

39、FS SEGMENT CODERSEG UCSBFSPUBLIC CSBFSCSBFS:mov R6,#8h ;超声波发射的完整波形个数:共计四个 here:cpl p2.7 ;输出 40kHz 方波 nop nop nop nop nop nop nop nop nop djnz R6,here RETEND204.34.3 超声波测距程序流程图超声波测距程序流程图 YYN=N0=0=1开始初始化测量标志启动定时器超声波测距距离上限值距离盲区值=显示值= C C C显示值= - - -测量段码转换显示设定段码转换距离报警值=报警输出=N214.44.4 超声波测距程子序流程图超声波测距程子序

40、流程图第第 5 5 章章 调试及性能分析调试及性能分析5.15.1 调试步骤调试步骤我们的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的AT89S51Y标志=1?发送超声波延时避开盲区收到回波否?预设时间?启动计时器 T0停止计时计算测量值超声波测距结束NNYYN22机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看数码管的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -” ,则需将下限值增大。本测距板 1s 测量 4-5 次,超声波发送功率较大时,测量距离远,则相应的下限值(盲区

41、)应设置为高值。试验板中的声速没有进行温度补偿,声速值为 340m/s,该值为 15时的超声波值。5.25.2 性能分析性能分析从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达到 500到 700 厘左右,而我们所能实现的最大距离只有 699 厘,测量结果受环境温度影响。分析原因如下:1. 超声波发射部份由电阻 R1、三极管 BG1、超声波脉冲变压器 B 及超声波发送头T40 构成,以提高超声波的发射功率,从面提高测量距离。这种方式,加大的超声波了送头的余振时间,造成超声波测距盲区值较大(本系统盲区值为 40 厘米) 。2.本测距板没有设计温度补偿对测量结果进行修正。但在硬件

42、的 PCB 上预留的位置。参考文献参考文献1赵建领 薛园园 51单片机开发与应用技术详解 北京:电子工业出版社,20092 沈红卫. 基于单片机智能系统设计与实现. 北京:电子工业出版社,20053 杨国田 白 焰 董 玲 51单片机实用C语言程序设计 中国电力出版社 20094 李群芳,黄建. 单片机微型计算机与接口技术. 北京:电子工业出版社,20015 楼然苗、李光飞. 51系列单片机设计实例. 北京:北京航空航天大学出版社,20036 王守中 51单片机开发入门与典型实例. 北京:人民邮电出版社,200923首先感谢我的导师老师,老师渊博的专业知识、严谨的治学态度、精益求精的工作作风、

43、平易近人的人格魅力对我影响深远;在老师的耐心指导、帮助下,我才能顺利完成毕业设计。老师指导了我的设计的结构、思路、同时提供了一些专业知识的帮助,从电路的设计到调试整个过程中,我都从老师那里学会了很多专业方面的知识。还要感谢老师,在我的毕业设计中给单片机烧录程序,为我提供单片机编程器以及对我的细心指导,衷心感谢他们。感谢在毕设中帮助过我的所有同学和师兄师姐们。最后感谢我的家人、朋友对我的支持。24附录一:基于附录一:基于 AT89S51AT89S51 单片机超声波测距系统电原理图单片机超声波测距系统电原理图 25附录二附录二 基于基于 AT89S51AT89S51 单片机超声波测距系统单片机超声

44、波测距系统 PCBPCB 图图26附录三附录三 基于基于 AT89S51AT89S51 单片机超声波测距系统焊接组装图单片机超声波测距系统焊接组装图27附录四附录四 基于基于 AT89S51AT89S51 单片机超声波测距系统单片机超声波测距系统 C C 语言原程序语言原程序/ AT89S51超声波测距系统 / 贾 源 / 2011年4月 / QQ:1211716 / http:/ / / 晶振:12M / 系统盲区值:40厘米 / 测量上限:699厘米 /#include #include #define uchar unsigned char#define uint unsigned in

45、t#define k1 P3_7 /k1功能键#define k2 P3_6 /k2数值调整键#define bjh P3_1 /定值输出#define sx P0_2 /报警值输出(声音)#define csbout P2_7 /超声波发送#define csbint P3_5 /超声波接收28uchar 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=0 x81,0 xED,0 xA2,0 xA8,0 xCC,0

46、 x98,0 x90,0 xAD,0 x80,0 x88;/09段码uint zzz,dz,zzbl,i,jsz,yzsj,kk,s,ss;static uchar bdata 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;sb

47、it zj1=kw1;sbit zj2=kw2;void delay(i);/延时函数void scanLED();/显示函数void timeToBuffer();/显示转换函数29void 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=0 x11; /设定时器0为计数,设定时器1定时ET0=1; /定时器0中断允许 TH0=0

48、 xD8;TL0=0 xF0;/设定时值为20000us(20ms)TR0=1;csbout=1;d=0;TR1=0; temp1=15;zzz=699;mq=40; dz=100;cls=5;30 xl=temp1; csbsc();mqjs(); /盲区设定k12=1;k1=1;k2=1;k22=1;bjh=1;d=1;sx=0;clcs(); /测量次数while(1)if (ec=1) ec=0;wdzh(); /调用超声波测量bgcl(); /调用报警处理程序timeToBuffer();/调用转换段码功能模块offmsd(); /调用显示转换程序 scanLED(); /调用显示函

49、数if(jszzzz)buffer0=0 x93;buffer1=0 x93;buffer2=0 x93;else if (jsz=cs) / 50 * 10 ms = 0.5 s sec20=0;ec+;e=e; if (ec3) ec=0; sec1+;if (sec1100) sec1=0; sec+; /秒计时 if (sec=3) sec=0;34 void jpcl() /按键处理程序k11=k1;if (!k12&k11) b=1;k12=k11;k11=k1;k21=k2;if (b=1) sx=0;while(b)buffer0=0 x84;buffer1=0 x84;buf

50、fer2=0 x84;sec=0;c=0;while(!c)if (sec=2)c=1;scanLED();35c=0;zzbl=jsz;jsz=dz;timeToBuffer();jpzcx();dz=kk; if (dz699) dz=200;if (dz6) xm0=0; if (e=1)buffer2=0 xFF;else buffer2=convertxm0;scanLED();if (!k12&k11) c=1;k22=k21;k12=k11;buffer2=convertxm0;c=0;while(!c)k11=k1; k21=k2;if (!k22&k21) xm1+;if (

51、xm19)xm1=0;if (e=1)37buffer1=0 xFF;else buffer1=convertxm1;scanLED();if (!k12&k11) c=1;k22=k21;k12=k11;buffer1=convertxm1;c=0;while(!c)k11=k1; k21=k2;if (!k22&k21) xm2+;if (xm29)xm2=0;if (e=1)buffer0=0 xFF;else buffer0=convertxm2;scanLED();if (!k12&k11) c=1;b=0;kk=xm0*100+xm1*10+xm2;38k22=k21;k12=k1

52、1;void wdzh()TR0=0;TH1=0 x00;TL1=0 x00;csbint=1;sx=0;delay(1700);csbfs();csbout=1;TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波i+;if(i=3300)csbint=0;TR1=0;39s=TH1;s=s*256+TL1;TR0=1;csbint=1;jsz=s*csbc;/计算测量结果jsz=jsz/2; void bgcl()if (jszdz)bjh=0;elsebjh=1;void mqjs()yzsj=260;void csbsc()c

53、sbc=0.034;40void clcs() cs=100/4; /测量2次/秒void offmsd() /百位为数0判断模块 if (buffer2=0 x81) /如果值为零时百位不显示 buffer2 = 0 xff;41附录五附录五 元件清单元件清单编号型号、规格描述数量编号型号、规格描述数量R14.7k1/4W 电阻器1C1220uF电解电容器1R24.7k1/4W 电阻器1C2104瓷片电容器1R3150k1/4W 电阻器1C3220uF电解电容器1R44.7k1/4W 电阻器1C4104瓷片电容器1R5150k1/4W 电阻器1C530pF瓷片电容器1R64.7k1/4W 电

54、阻器1C630pF瓷片电容器1R74.7k1/4W 电阻器1C7104瓷片电容器1R810k1/4W 电阻器1C8104瓷片电容器1R94.7k1/4W 电阻器1C910uF电解电容器1R104.7k1/4W 电阻器1IC1AT89S52单片机1R114.7k1/4W 电阻器1IC37805三端稳压器1R124.7k1/4W 电阻器1Y112MHz晶振1BYBEEP5V 有源蜂鸣器1USBUSBUSB 接口1K1SW-0606轻触铵钮1TT40-16T传声波传感器1K2SW-0606轻触铵钮1RT40-16R传声波传感器1BG19012PNP1D11N4007整流二极管1BG29013NPN1D21N4007整流二极管1BG39013NPN1D31N4007整流二极管1BG49013NPN1D41N4007整流二极管1BG59012PNP1D5IN4148开关二极管1BG69012PNP1D6IN4148开关二极管1BG79012PNP1D71N4007整流二极管1BG89013NPN1JP116176-b接插件1BG99012PNP1JP2DG7.62-2P接插件2JDQHRS1H-S5VDC继电器1B7M-7.6高频变压器1LEDHS310561K三位数码管1

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!