已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于AT89S51单片机的超声波测距仪设计33基于AT89S51单片机的超声波测距仪设计一、引 言(一)课题背景随着工业,建筑业,农业建设的不断发展,距离测量频率的不断提高,一些在早期社会,曾被人类广泛应用的米尺不在满足人类的要求,就出现了现在人类所应用的间接测量工具。测量能够为人们提供一个距离衡量的尺度,对待事物有准确的物理概念。然而随着社会发展和进步,人类的测量范围不断膨胀,由地表向两侧延伸,对地质的研究,宇宙的探索,可谓两极化的发展。大到无边宇宙,小到原子,或更加细微的测量区间,米尺加公式的测量时代早已不能满足探索的需要,而被人们作为探测行业的基石。 在测量方面,尤其工业,据了解,我国一些工业领域曾经使用过接触式测量仪,但普遍存在着这样一些问题,抗粉尘能力差,触点接触不良,经常失灵,误动作,不可调整,容易被杂物缠绕而误报等缺点,工作不可靠,影响设备的正常使用。针对以上这些缺点。我们考虑研究一种非接触测量仪器。 在信息化,现代化的时代,随着电子技术的发展,非接触测量出现了微波雷达测距,激光测距及超声波测距等。前几种方法由于技术难度大,成本高,一般仅用于军事工业,而超声波测距由于其科研技术难度相对较低,且成本低廉,适于民用推广。所以现在我们所见到一些测量仪基本上都是利用超声波来测距的。 超声波作为一种检测技术,采用的是非接触式测量,此特点可使测量仪器不受被测介质的影响。这就大大解决了在粉尘多情况下,给人类引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触点接触不良造成的误测情况。且对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量消耗,节省人力和劳动的强度。从长远利益看,是多向节能型研究。 超声波测距与其它非接触式的检测方式方法相比,如电磁的或光学的方法它不受光线,被测对象颜色,电磁干扰等影响。超声波对于被测物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力。因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点。 超声波是一种指向性强,能量消耗慢的波。它在介质中传播的距离较远。因而超声波经常用于距离的测量,可解决超长度的测量。 超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射,折射,干涉,衍射,散射。与物理紧密联系,应用灵活。并且更适合与高温,高粉尘,高湿度和高强电磁干扰等恶劣环境下工作。 无论从精度还是从可靠性方面,超声波测距做得都比较好。利用超声波检测即迅速,方便,计算简单,又易于做到实时控制,并且在测量精度方面能达到工业实用的要求。具有广泛的发展前景。 另外,在控制方面,单片机其卓越的性能,要本设计中得到了很好的体现,尤其在检测,控制领域中,具有以下特点: 1、小巧灵活,成本低,易于产品化,它能方便地组装成各种智能测试,控制设备及各种智能仪器表。 2、可靠性好,适应范围广,单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣的环境,这是其它原件无法比拟的。 3、易扩展,很容易构成各种规模的应用系统,控制功能强。单片机的逻辑控制功能很强,指令系统有各种控制功能所用的指令。 4、可以很方便地实现多机制分布式控制。 本文论述了采用单片机技术研制成功的用超声波测距仪的基本原理,测量计算方法简单,实现方案容易。采用软件控制,提高了测量精度和整机的可靠性。可在潮湿高温,多尘等恶劣环境下工作。并且灵敏度高,可靠性强。而且这个测距系统还可以经过简单的修改就能实现其它的检测要求。例如:超声波测距仪广泛应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于联合收割机、液位、井深、管道长度等的实时测量场合。根据调查,目前国内一般使用专用集成电路设计超声波测距系统,但是专用集成电路的成本很高,并且没有数据显示,操作使用很不方便。因此本设计采用了以AT89S51单片机为核心低成本,高精度,LED数字显示超声波测距系统的结果的硬件电路设计方法。整个设计对其它所用器件也进行了介绍和对比。综合了各器件的功能,耐用性,市场价位等多方面因素,选件谨慎、适用。硬件设计方面利用所学的知识和理论联系实际的方法,本着和大学课本密切联系的原则来完成设计任务。在文中还详细介绍了设计中应用到的主要芯片(AT89S51,CX20XX6A, TCT40-10)的性能和特点。软件设计方面采用MCS-51语言,通俗易懂。通过实际测试使用证明,该超声波测试系统工作稳定,测距精度高,性能良好,可广泛应用到实际中以方便观察测试结果。那什么是超声波呢?我们知道,当物体振动时会发出声音。科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为2020,000赫兹。当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”。声波是物体机械振动状态(或能量)的传播形式。所谓振动是指物质的质点在其平衡位置附近进行的往返运动。譬如,鼓面经敲击后,它就上下振动,这种振动状态通过空气媒质向四面八方传播,这便是声波。 超声波是指振动频率大于20KHz以上的,其每秒的振动次数(频率)甚高,超出了人耳听觉的上限(20000Hz),人们将这种听不见的声波叫做超声波。超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。知道人类第一次真正“认识到”超声波是怎么样的呢?这要归功于意大利科学家斯帕拉捷。斯帕拉捷习惯晚饭后到附近的街道上散步。他常常看到,很多蝙蝠灵活的在空中飞来飞去,却从不会撞到墙壁上。这个现象引起了他的好奇:蝙蝠凭什么特殊本领在夜空中自由自在的飞行呢? 1793年夏天,一个晴朗的夜晚,喧腾热闹的城市渐渐平静下来。帕斯拉捷匆匆吃完饭,便走出街头,把笼子里的蝙蝠放了出去。当他看到放出去的几只蝙蝠轻盈敏捷地来回飞翔时,不由得尖叫起来。因为那几只蝙蝠,眼睛全被他蒙上了,都是“瞎子”呀。 斯帕拉捷为什么要把蝙蝠的眼睛蒙起来呢?原来,每当他看到蝙蝠在夜晚自由自在的飞翔时,总认为这些小精灵一定长着一双特别敏锐的眼睛,就不可能在黑夜中灵巧的多过各种障碍物,并且敏捷的捕捉飞蛾了。然而事实完全出乎他的意料。斯帕拉捷很奇怪:不用眼睛,蝙蝠凭什么来辨别前方的物体,捕捉灵活的飞蛾呢? 于是,他把蝙蝠的鼻子堵住.结果,蝙蝠在空中还是飞的那么敏捷、轻松。“难道他薄膜似的翅膀,不仅能够飞翔,而且能在夜间洞察一切吗?”斯帕拉捷这样猜想。他又捉来几只蝙蝠,用油漆涂满它们的全身,然而还是没有影响到它们飞行。 最后,斯帕拉捷堵住蝙蝠的耳朵,把他们放到夜空中。这次,蝙蝠可没有了先前的神气。他们像无头苍蝇一样在空中东碰西撞,很快就跌落在地。 啊!蝙蝠在夜间飞行,捕捉食物,原来是靠听觉来辨别方向、确认目标的! 斯帕拉捷的实验,揭开了蝙蝠飞行的秘密,促使很多人进一步思考:蝙蝠的耳朵又怎么能“穿透”黑夜,“听”到没有声音的物体呢? 后来人们继续研究,终于弄清了其中的奥秘。原来,蝙蝠靠喉咙发出人耳听不见的“超声波”,这种声音沿着直线传播,一碰到物体就像光照到镜子上那样反射回来。蝙蝠用耳朵接受到这种“超声波”,就能迅速做出判断,灵巧的自由飞翔,捕捉食物。 现在,人们利用超声波来为飞机、轮船导航,寻找地下的宝藏。超声波就像一位无声的功臣,广泛地应用于工业、农业、医疗和军事等领域。斯帕拉捷怎么也不会想到,自己的实验,会给人类带来如此巨大的恩惠。(二)课题研究目的和意义超声波作为测距,已经在很多领域起着非常重要的作用,而且也在不知不觉之中影响我们的生活。随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的常生活当中,给我们的生活带来了诸多方便。这一设计就是本着这个宗旨出发,利用超声波的特性来为我们服务。由于超声波指向性强,因而常于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人,汽车安全,海洋测量等上得到了广泛的应用。因此利用超声波测距,能在人们日常和科学研究中,测量到不容易被测量的距离,比如液位,矿井深度,弯道长度等等,减少了测量成本和测量危险。(三)研究内容以及方法原理本课题的研究,是为了利用超声波,来测量比较有难度的距离,通过一系列原件(AT89S51, CX20XX6A ,TCT40-10,LED数码管)组成一个测量系统,来达到对困难距离的测量,得到一个精确度在0.01m以内的精确距离数据,从而实现对距离的测量。超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用渡越时间法TOF(timeofflight)。利用超声波在空气中的传播速度为已知,测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,在把得到的距离除以2就得到了发射仪与被测物体之间的距离。然而在实际环境中,空气温度是一个不可不考虑到的干扰因素,因为超声波在空气中的的传输速度在很大的程度上是要受温度的影响,不同的温度超声波拥有不同的传输速度,因此一般都还需要一个温度补偿,来计算出当前空气温度下,超声波的传播速度。表1 不同温度下超声波传输速度温度-30-20-100102030速度m/s313319325331338344349关于温度补偿,由于超声波传播速度与环境温度有以下公式关系:(T+237.16)1/2 公式式中T为摄氏温度,C为在该温度下的超声波传播速度(单位为 m/s)。当温度知道的情况下,通过该式就可以知道该温度下超声波的传播速度了。用温度去校正超声波的传播速度,这就是温度补偿。关于温度传感器的选择,在传统的中,低温测温领域中采用的方法有热敏电阻,半导体温度传感器等。这些方法都有一定的缺陷,如线性差,电路复杂,实现数字化需要A/D转换等。这导致了在工程应用中的一系列问题,如造价高,互换性差,调试不方便等。在本设计中,采用了一种高性能,低价格,数字化的温度传感器DS18B20来采集温度,该数字温度传感器为独特的1-Wire总线接口,仅占用MCU一只引脚,具有操作简单,温度测量快,精度高(提供912位温度读数),测量温度范围为55到125摄氏度,在10到85摄氏度范围内精度为0.5摄氏度等优点。可行性分析根据式子(T+237.16)1/2在MCU中建一温度速度表(温度速度表精确到小数点后1位),由温度传感器输出的温度去查表,便找到了在该温度下的超声波传播速度C,再由L=Ct便可以得出被测量距离。设环境温度为T0=25摄氏度,此时超声波传播速度为C0=346.285m/s测量5m的距离用时t0=14438.97us(取t0=14439us)1.设数字温度传感器给出的温度为T=24.5摄氏度,得出超声波传播速度为:C=345.9m/s速度误差为:V=0.3m/s测量5m产生的距离误差为:d=Vt0=4.3mm2设数字温度传感器给出的温度为T=25.5摄氏度,得出超声波传播速度为:C=346.5m/s速度误差为:V=0.3m/s测量5m产生的距离误差为:d=Vt0=4.3mm由此可以看出,采用温度补偿法测量出的距离精度高,使用方便。(四)完成的工作 本课题将使用AT89S51, CX20XX6A红外接收专用放大电路,TCT40-10超声波传感器和数字化的温度传感器DS18B20设计的超声波测距仪。建立一个超声波测距仪 主要工作有: 1.完成硬件设计。即AT89S51与CX20XX6A红外接收专用放大电路,TCT40-10超声波传感器和数字化的温度传感器DS18B20之间的硬件设计。 2.软件设计。即AT89S51,CX20XXA,TCT40-10,DS18B20的软件设计以及驱动设计。二、总体方案设计 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。所以,本设计主要采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器的系统框图如图1所示:单片机控制器超声波发送超声波接收LED显示扫描驱动图1超声波测距系统框图三、系统硬件设计(一)单片机AT89S51的基本设计AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。由于本设计的各项功能均可以由ATMEL公司的8951单片机实现,而且它的售价相当低廉,一个在电子市场的价格也就6元钱左右,因此选择它为本课题的主控制器。 图2 AT89S51的外形图AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89S51的主要特性有:18031 CPU与MCS-51 兼容24K字节可编程FLASH存储器(寿命:1000写/擦循环)3. 全静态工作:0Hz-24KHz4. 三级程序存储器保密锁定5. 128*8位内部RAM6. 32条可编程I/O线7. 两个16位定时器/计数器8. 6个中断源9. 可编程串行通道10.低功耗的闲置和掉电模式11.片内振荡器和时钟电路 图3 AT89S51的PDIP引脚图 AT89S51的引脚图与引脚说明(PDIP封装形式)引脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)。P3.1 TXD(串行输出口)。P3.2 /INT0(外部中断0)。P3.3 /INT1(外部中断1)。P3.4 T0(记时器0外部输入)。P3.5 T1(记时器1外部输入)。P3.6 /WR(外部数据存储器写选通)。P3.7 /RD(外部数据存储器读选通)。P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(二)CX20XX6A红外接收放大模块的设计CX20XX6A是日本索尼公司生产的红外遥控信号接收集成电路,广泛应用于视频、音频、空调、风扇等各种遥控系统中作遥控信号接收电路。内部电路由前置放大器、自动偏置电平控制电路(ABLC)、限幅放大器、带通滤波器、峰值检波器和波形整形电路组成。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。前置放大电路限幅放大器带通滤波器检波器和比较器积分器斯密特触发器ABLC12345678 图4 CX20XX6A逻辑框图CX20XX6A的主要技术特点有以下几点:1. 低电压供电,其典型值为5V。2. 功耗低,Vcc=5V时,其典型功耗为9mW。3. 带通滤波器的中心频率可通过改变引脚5和电源之间的电阻进行调节,其调节的范围为3060kHz。由于没有使用电感,能够不受磁场的感染,因此抗干扰能力强。4. 能与PIN光电二极管直接连接。5. 集电极开路输出,能直接驱动TTL或S电路。6. 8引脚单列直插式塑料封装。接下来再让我们来看看它的极限参数,见表2表2 CX20XX6A的极限参数参数名称符号参数值单位电源电压Vcc17V输入信号电压VIN5V允许功耗PD0.6W工作环境温度T1-20+75贮存温度T2-55+150CX20XX6A引脚功能说明及其参考数据,见表3表3 引脚功能说明及其参考数据引脚符号功能说明电压(V)1IN遥控信号输入端该脚和地之间联结着PIN光电二极管,该集成块1脚输入阻抗约为405k。2.12C1RC网络连接端该脚与地之间接有RC串联网络,用来确定前置放大器频率特性和增益。电阻值大,容量值小,则增益低;反之则高。但电容不宜过大,否则瞬态响应速度会降低。2.63C2检波电容连接端该脚与地之间接有检波电容,电容量大为平均值检波,瞬态响应灵敏度低;电容量小,则为峰值检波,瞬态响应灵敏度高,但检波输出的脉宽变动大,容易造成遥控误动作。1.54GND接地端接地。05fo带通滤波器中心频率设置端该脚与电源间所接电阻器,是用来设置带通滤波器的中心频率fo,电阻值为200k时,中心频率fo=40kHz;电阻值为220k时,则中心频率fo=38kHz。1.46C3积分电容连接端该脚所接的积分电容,标准值为330pF,当其容量值变大,则外部噪波干扰增强,遥控距离变短。17OUT遥控指令信号输出端该端口为集电极开路输出端。该脚和电源间连接一只约为22k电阻后,输出脉冲低电平的标准值约为0.2V4.68Vcc供电电源端5V0.3V工作电源电压输入端5最后再让我们再看看CX20XX6A集成块内电路方框图与它的典型应用电路,见图5。图5 CX20XX6A集成块内电路方框图与其典型应用电路(三)TCT40-10超声波传感器的设计TCT40-10是一款常用的超声波发射接收器件,由一块发射端T和一块接收端R共同组成。 图6 TCT40-10外观图 图7 超声波转换结构图压电超声波转换器的功能:利用压电晶体谐振工作。内部结构如图7所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。超声波发射电路原理图如图8所示: 图8 超声波发射电路原理图超声波接收电路采用集成电路CX20XX6A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。超声波接收电路原理图如图9所示: 图9 超声波接收原理图而整个超声波测距的原理,就是如图10所示: 图10 超声波测距原理图(四)DS18B20温度传感器的设计DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的主要特性有以下几点:1. 温度转换及输出。2. 单总线数据通信。3. 12位分辨率,精度可达0.5。4. 12位分辨率时的最大工作周期为750ms。5. 可选择寄生工作方式。6. 检测温度范围为-55+1257. EPROM,限温报警功能。8在DS18B20中的每个器件上都有独一无二的序列号。9实际应用中不需要外部任何元器件即可实现测温。 图11 DS18B20外观图 图12 DS18B20引脚图再来看看它的引脚图,如上图12:DS18B20有多种封装形式,本课题使用的是常见的3长针脚的封装形式。其引脚功能如表4所示:表4 DS18B20引脚说明引脚名称功能1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。图13 AT89S51与DS18B20连接图(五)LED数码管显示电路的设计AT89S51采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如图14所示:图14 单片机及其显示原理图四、系统软件设计超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离:(T+237.16)1/2 公式 d=CT0/2+d 公式这样就可以计算出测距仪与障碍物之间的距离。测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。主程序框图如图15所示:图15 超声波测距主程序图超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。它们的整个软件系统如图16,图17,图18所示: 图16主程序流程图 图17定时中断服务子程序 图18外部中断服务子程序五、总结与未来展望本课题到这里就基本结束了,对于本人制作的超声波测距仪,必定还有很多的不足之处,一定要从实验查出纰漏,进一步完善。本课题采用的AT89S51等器件都是电子市场上非常容易找到的,而且价格低廉,功能齐全,能满足设计需要,达到理想的效果。关于现代测量技术,超声波测距已经是一种非常成熟的技术,而且它的成本低,适合于大多数需要比较精确的数据的地方,例如井深,液位,汽车倒车雷达等地方。它已经为我们的工业生产,资源探索,日常生活的一门重要测量距离解决手段,为我们带来了方便。随着科学技术的进一步发展,超声波测距的精度一定能更进一步精确,从未能解决更多不易解决的问题。超声波测距一定是将来一种最重要的短距离测量方法,一定能在我们的更多领域起到不可或缺的作用。致 谢“千里之行,始于足下。”终于完成了的全部工作,有一种如释重负的感觉。前后经历了四个月时间,但对于踏踏实实搞知识创新的人来说,从搜集材料、投入研讨到起草排版、打印输出,这是一个漫长的过程。其间有过百思不解时的苦闷,也有过豁然开朗时的喜悦,不曾身处其境的人,一般不宜感同身受。我的导师汪光宅说过:“科研工作是一项艰苦、寂寞并且需要全心全意投入的工作,一旦选择了这个责任,我们就要承担得起他人所不能承受的压力。正因为这样,我们才要努力做出成果!”事先有了心理准备,做起事来才不至于手足无措。尽管如此,由于涉及内容较多,范围较宽,方方面面都要照顾到,还是不可避免地遇到许多问题。学校领导未雨绸缪,提前让我们熟悉了解了的基础知识,同时下发()指导手册予以辅导,这给了我们极大的鼓舞和帮助。导师每周三次的面授和上机指导,给的进展带来缕缕曙光和推动力。更难忘实验室老师刘强和寝室同学对我的这次的帮助与关心,使得我的工作和学习得以顺利进行。在此谨以一颗感激之心向这些给予我极大帮助的人致以衷心的谢意。附 录附录一:以下是用汇编语言编写的超声波测距控制源程序:采用AT89S51 12z晶振显示缓冲单元在40H43H,使用内存44H、45H、46H用于计算距离20H用于标志VOUT EQU P1.0 ;脉冲输出端口*中断入口程序*ORG 0000H LJMP STARTORG 0003H LJMP PINT0ORG 000BH LJMP INTT0ORG 0013H RETIORG 001BH LJMP INTT1ORG 0023HRETIORG 002BH RETI *主程序*START: MOV SP, #4FH MOV R0, #40H ;4043H为显示数据存放单元(40为最高位) MOV R7,#0BHCLEARDISP:MOV R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1为8位自动重装模式,T0为16位定时器 MOV TH0, #00H ;65ms初值 MOV TL0, #00H ;40KHz初值 MOV TH1, #0F2H MOV TL1, #0F2H MOV P0, #0FFHMOV P1, #0FFH MOV P2, #0FFH MOV P3, #0FFHMOV R4, #04H ;超声波脉冲个数控制(为赋值的一半)SETB PX0SETB ET0STEB EACLR 00HSETB TR0 ;开启测距定时器START1: LCALL DISPLAY JNB 00H, START1 ;收到反射信号时标志位为1 CLR EA LCALL WORK ;计算距离子程序 SETB EA CLR 00H SETB TR0 ;重新开启测距定时器 MOV R2, #64H ; 测量间隔控制(约4*100=400ms)LOOP: LCALL DISPLAY DJNZ R2, LOOP SJMP START 1*中断程序*;T0中断,65ms中断一次INTT0: CLR EA CLR TR0 MOV TH0, #00H MOV TL0, #00H SETB ET1 SETB EA SETB TR0 ;启动计时器T0,用以计算超声波来回时间 SETB TR1 ;开启发超声波用定时器T1OUT: RETI;T1中断,发超声波用INTT1: CPL VOUT DJNZ R4,RETIOUT CLR TR1 ;超声波发送完毕,关T1 CLR ET1 MOV R4,#04H SETB EX0 ;开启接收回波中断RETIOUT: RETI;外中断0,收到回波时进入PINT0: CLR TR0 ;关计数器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H, TL0 ;将计数值移入处理单元 MOV 45H, TH0 SETB 00H ;接收成功标志 RETI*延时程序*DL1MS: MOV R6, #14HDL1: MOV R7, #19HDL2: DJNZ R6, DL2 DJNZ R6, DL1 RET*显示程序*;40H为最高位,43H为最低位,先扫描高位DISPLAY:MOVR1, #40H;GMOVR5,#0F7H;GPLAY:MOVA, R5MOVP0, #0FFHMOVP2, AMOVA, R1MOVDPTR, #TABMOVCA, A+DPTRMOVP0, ALCALL DLIMSINCR1MOVA, R5JNBACC.0, ENDOUT;GRRAMOVR5, AAJMPPLAYENDOUT;MOVP2, #0FFHMOVP0, #0FFHRETTAB; DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH;共阳数码管 0 ,1, 2,3,4,5,6,7,8,9,不亮,A, *距离计算程序(=计算值17/1000cm) 近似WORK:PUSHACCPUSHPSW PUSHBMOVPSW, #18HMOVR3, 45HMOVR2, 44HMOVR1, #00D MOVR0, #17DLCALL MUL2BY2MOVR3, #03HMOVR2, #0E8H LCALLDIV4BY2LCALLDIV4BY2MOV40H, R4MOVA, 40HJNZJJ0MOV40H, #0AH ;最高位为0,不点亮JJ0:MOVAR0MOVR4, AMOVAR1MOVR5 AMOV R3, #00DMOVR2, #100DLCALLDIV4BY2MOV41H, R4MOVA, 41H JNZJJ1MOVA, 40H ;此高位为0,先看最高位是否为不亮 SUBBA, #0AHJNZJJ1MOV41H, #0AH ; 最高位不亮,次高位也不亮JJ1:MOVA, R0MOVR4, AMOVA, R1MOVR5, AMOVR3, #00DMOVR2, #10DLCALL DIV4BY2MOV42H, R4MOVA42HJNZJJ2MOVA, 41H ;次高位为0,先看次高位是否为不亮SUBBA, #0AHJNZJJ2MOV42H, #0AH ;次高位不亮,次高位也不亮JJ2:MOV43H, R0POPBPOPPSWPOPACCRET *两字节无符号数乘法程序* MUL2BY2:CLRAMOVR7, AMOVR6, AMOV R5, AMOVR4, AMOV46H, #10HMULLOOP1:CLRCMOVA, R4RLCAMOVR4, AMOVA,R5R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高二上学期数学人教A版(2019)期末模拟测试卷B卷(含解析)
- 八年级上学期期末复习《全等三角形》单元试卷(含部分解析) 2024-2025学年人教版数学
- 立白中餐厅整合营销案例
- 2024年提高活动效果的4大招研究方案
- 两个乡镇合作的协议书
- 合同书电子版合成一份
- 合同审批流程及收集资料的目录
- 跨境电商课件
- 《研发项目》课件
- 智慧消防大数据一体化服务平台-培训中心分享
- 疼痛科护士的自我成长与专业发展路径
- 大数据在生命科学中的应用与挑战
- 短缺药培训课件
- 江苏省南京市秦淮区2023-2024学年八年级上学期期末数学试卷
- 迈瑞行业竞争分析
- 护士层级竞聘报告
- 年会策划舞美搭建方案
- 东北大学冶金工程专业考研复试面试问题整理附面试技巧自我介绍
- 三角函数的概念说课高一上学期数学人教A版(2019)必修第一册
- 基于毫米波技术的高频射频芯片设计
- 标准化班组建设演示幻灯片
评论
0/150
提交评论