欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的超声波测距仪.doc

    • 资源ID:839944       资源大小:744.48KB        全文页数:24页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的超声波测距仪.doc

    1、黄山学院本科毕业论文目录中文摘要2英文摘要3引言41. 超声波测距原理5 1.1超声波基本理论5 1.2 超声波测距的原理52. 系统构成63. 硬件电路设计6 3.1 单片机介绍6 3.2 传感器介绍6 3.2.1超声波传感器原理6 3.2.2 DS18B20温度传感器7 3.3系统模块7 3.3.1 超声波发射模块7 3.3.2超声波接收模块8 3.3.3 LCD显示模块104. 系统软件设计10 4.1 超声波测距的算法10 4.2 程序流程图11 4.2.1 主程序流程图11 4.2.2 超声波温度补偿子程序流程图12 4.2.3 超声波测距子程序流程图125. 实验结果及误差分析13

    2、 5.1 实验过程13 5.2 实验数据15 5.3系统误差分析156. 结论15参考文献16致谢16附录17超声波测距系统设计摘要:本文在超声波测距原理的基础上,设计基于AT89S52单片机与超声波传感器为核心的超声测距系统。该系统由单片机控制时间计数、控制超声波的发射和接收,同时为了提高系统的精度,采取了温度补偿等一系列措施。整个电路采用模块化设计,由主程序、发射子程序、接收子程序、温度补偿子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。相关部分附有硬件电路图、程序流程图。针对系统的发射、接收、检测、显示进行了论证,对试验结果进行了误差分析。试验证明这套软硬

    3、件设计合理,实时性良好。关键词:超声波;单片机;温度补偿;测距Design of Ultrasonic Distance System Abstract:This paper discussed ultrasonic distance ranging and designed a kind of the ultrasonic distance system based on AT89S52 MCU and ultrasonic sensors. The MCU is employed to achieve the function of controlling time counting an

    4、d transmit or receive of ultrasonic. At the same time, in order to raise the devices precision, it makes measures such as temperature compensation and so on. Modular design of the whole circuit from the main program, display subroutine modules form. SCM comprehensive analysis of the probe signal pro

    5、cessing, and the ultrasonic range finder function. According to the transmissions receiver, detection, display scheme of this distance meter system is brought out and analyzes the experimental result. The research has led to the discovery that the software and hardware designing is justified, the an

    6、ti-disturbance competence is powerful.Key Words:Ultrasonic; Micro Control Unit; Temperature compensation; Measuring distance引言 社会的进步依赖很多方面,测量技术的提升不断开拓人们的视野,不管从微观还是从宏观来观察这个世界,让我们都有了全新的认识,精确测量的意义就十分重大。超声波传播速度小于光速易于检测,其起方向性好,并且可以在各种恶劣的环境下工作。比如要检测城市排水系统的具体情况。超声波精确的测量可以帮助我们更好的去探索新知识,同时也可以更加方便我们的生活和工作。但就目

    7、前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。但超声波测距技术在社会生活中已有很多的应用如汽车倒车雷达等,它们测距精度一般较低。目前对超声波高精度测距系统的需求越来越大。展望未来,超声波作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得以解决。随着电子技术的发展出现了微波雷达测距1、激光测距2。这两种方法由于技术难度大成本高一般仅用于军事工业。超声波测距则由于其技术难度相对较

    8、低且成本低廉适于民用推广。这项技术也可用于工业测量领域。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波常常用于距离的测量,如测距仪和测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人3的研制上也得到了广泛的应用。随着自动测量和微机技术的发展,超声波测距的理论已经成熟,超声波测距的应用也非常广泛。超声测距是一种非接触式的检测方式4。与电磁的或光学的方法相比,它不受光芒、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液

    9、位测量5、车辆自动导航6、物体识别等方面有广泛应用。特殊是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很轻易检测出来,具有很高的分辨力,因而其正确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。因此本设计也是利用超声波来测量距离。1 超声波测距原理1.1超声波基本理论 超声波是一门以物理、电子、机械、以及材料科学为基础的、各行各业都要使用的通用技术之一。该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。超声技术是通过超声波的产生、传播以及接收

    10、的物理过程完成的。超声波具有聚束、定向及反射、投射等特性。按超声波振动辐射大小不同大致可以分为:用超声波使物体或物性变化的功率应用,称之为功率超声;用超声波获取信息,称为检测超声。1.2 超声波测距的原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,如图1-1所示。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即: (公式 1-1) 图1-1 超声波测距原理图这就是所谓的时间差测距法7,由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一

    11、定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。经分析和大量实验表明,频率为40KHz左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。2 系统构成本设计是在超声波原理的基础上,完成了基于时差测距原理的一种超声波测距系统设计。测距仪以AT89S52芯片为核心,74LS04组成的超声波发射电路、并由超声波处理模块CX20106A、液晶显示等器件组成,包括单片机系统、超声波发射电路、超声波接收电路、LCD显示电路。依据实际的测量精度要求

    12、添加温度补偿电路,避免了环境误差,能够清晰稳定的显示结果。由单片机发出40kHz的方波信号进入超声波发射电路,经功率放大芯片放大后进入超声波发射头。超声波发射头发射的超声波在空气中传播一段时间后经前方被检测物体反射回来,由超声波接收头接收,超声波电路中的接收芯片对信号放大整形,超声波接收电路接收回波后发出一个下拉电平使单片机进入中断程序,在中断程序中,单片机从温度检测电路读取数值并换算成当前温度下的声速,应用时差法计算所检测的距离,最后所有的数据都在LED显示电路上显示。结构图如图2-1所示。单片机控制器超声波接收电路LED显电路温度检测超声波发生电路 图2-1 系统结构图3 硬件电路设计3.

    13、1 单片机介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,大大缩短了系统内信号传送距离,从而提高了系统的可靠性及运行速度。因而在工业测控领域中,单片机系统是最理想的控制系统。所以,单片机是典型的嵌入式系统,是嵌入式系统低端应用的最佳选择。3.2 传感器介绍 3.2.1超声波传感器原理超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金8(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。小

    14、型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25kHz及40-45kHz。这类传感器适用于测距、遥控、防盗等用途。若对发送传感器内谐振频率为40kHz的压电陶瓷片(双晶振子)施加40kHz高频电压,则压电陶瓷片就根据所加高频电压极性伸长与缩短,于是发送40kHz频率的超声波,其超声波以疏密形式传播( 疏密程度可由控制电路调制),并传给波接收器。接收器是利用压力传感器所采用的压电效应的原理,即在压电元件上施加压力,使压电元件发生应变,则产生一面为“+”极,另一面为“-”极的40kHz正弦电压。因该高频电压幅值较小,还必须进行放大。 3.2.2 DS18B20温度

    15、传感器本系统选用DS18B20温度传感器9作为误差补偿装置。DS18B20是美国DALLAS半导体公司生产的1WIRE数字温度传感器,它可实现数字化输出和测试,并且有控制功能强、传输距离远、抗干扰能力强、微功耗等特点。DS18B20的主要特性:(1)适应电压范围更宽,电压范围3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及

    16、转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(8)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 3.3 系统模块 3.3.1 超声波发射模块超声波发生器包括超声波产生电路和超声波发射控制电路两个部分,超声波探头的型号选用CSB40T(其中心频率为40KHz)。可以采用软件产生40KHz的超声波信号,

    17、通过输出引脚输入至驱动器,经过动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好,但是需要设计一个驱动电流为100mA以上的驱动电路。第二种方法是利用超声波专用发生电路或通用发生电路产生超声波信号,并直接驱动超声波换能器产生超声波。这种方法的特点是无需驱动电路,但缺乏灵活性。本次我们采用第一种方法产生超声波,非门可以选用74LS04,具体电路如图3-1所示。图3-1 发射电路图从图中可知,当输入的信号为高电平时,上面经过两级反向CSB40T的1引脚为高电平,下面经过一级反向后为低电平;当输入信号为低电平时,正好相反,实现了振荡的信号驱动CSB40T,只要控制信号接近40KHz

    18、,就能产生超声波。 3.3.2超声波接收模块超声波接收包括接收探头,信号放大以及波形变换电路三部分,超声波接收探头必须与发送探头相同的型号,否则可能导致接收效果甚至不能接收。由于超声波接收探头的信号非常弱,所以必须用放大器放大,放大后的正弦波不能被微处理器处理,所以必须经过波形变换。本次设计为了降低调试难度,减少成本,提供系统可靠性,所以我们采用了一种用在彩色电视机上面的一种红外接收检波芯片10CX20106,由于红外遥控的中心频率在38KHz,和超声波的40KHz很接近,所以可以用来做接收电路。接受电路如图3-2所示。图3-2 接收电路图使用CX20106A集成电路对接收探头受到的信号进行放

    19、大、滤波。其总放大增益80db。以下是CX20106A的引脚注释。(1)1脚:超声信号输入端,该脚的输入阻抗约为40k。(2)2脚:该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R4或减小C4,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C4的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R4=10,C4=1f(3)3脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3f。(4

    20、)4脚:接地端。(5)5脚:该引脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。(6)6脚: 该引脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。(7)7脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22k,没有接受信号是该端输出为高电平,有信号时则产生下降。(8)8脚:电源正极,4.55V。3.3.3 LCD显示模块 LED数码管结构简单,价格便宜。图3-3示出了八段LED数码显示管的结构和原理图。图3-3(a)为八段共阴极数码显示管结构图,图3-3(b)是它的原理图,图3-

    21、3(c)为八段共阳LED显示管原理图。八段LED显示管由八只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别与同名管脚相连。图3-3 LED结构图4 系统软件设计 4.1 超声波测距的算法超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为: (公式4-1)其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时

    22、器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。本系统用DS18B20温度传感器作为误差补偿装置。采用到声速不是标准室温下到344m/s,而是通过温度传感器测得外界到温度,再根据公式4-2换算出此温度下的声速,这样可以有效到控制系统误差。不同温度下超声波在空气中传播速度随温度变化的关系如下。 (公式4-2)式中,为实际温度(),为当前环境下声速,单位为m/s。 4.2 程序流程图4.2.1 主程序流程图主程序首先对系统环境初始

    23、化,设置T0工作模式为16位的定时器模式,及计数初值,然后使超声波发射出一串40kHZ的方波。由于采用12MHZ的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0的数(即超声波来回所用的时间)按下面的计算可测得被测物体与测距仪之间的距离,通过温度补偿,由P3.6口读取当前的温度值来补偿声速C=331.4+0.607T(m/s),则有:S=(C*T0)/20000(cm)(T0为计数器TO的计数值)。测出距离后结果将以十进制BCD码方式送往LED显示,然后再循环进行下一次距离的测量。当数码管超出设置的最大距离后报警器会报警。如图4-1所示。图4-1 主程序流程图4.2.2

    24、超声波温度补偿子程序流程图温度补偿流程图如图4-2所示。图4-2 温度补偿流程图4.2.3 超声波测距子程序流程图超声波发射子程序在P3.7口产生40kHZ方波脉冲宽度约12us,作为超声波发射器的输出信号。一旦接收到超声波返回信号后,就立即进入中断程序。进入中断程序后就立即关闭定时器,T0停止计时,并将接收到的标志位为1,,然后在主函数里调用计算距离公式,在显示出来,流程图如图4-3所示。图4-3 超声波测距流程图5 实验结果及误差分析5.1 实验过程在软硬件理论的基础上,焊接好电路板。准备相应的器材,开始测量的过程。首先检查焊接电路板的基本情况,是否有焊错、漏焊、虚焊,走线是否正确。检查无

    25、误后就可以开始试验了。电路板实物图如下图5-1、图5-2所示。图5-1 系统电路板正面图图5-2 系统电路板反面图本次试验在室内进行,为确保数据的准确,对不同的距离进行了大量的试验,图5-3、5-4分别为20cm、30cm距离下测量的效果图。图5-3 20cm距离测量效果图图5-4 30cm距离测量效果图5.2 实验数据经过多次的试验得到了相应的数据,测试的数据如下表5-1所示。 表格 5-1 测试距离数据 单位:cm实际距离次数测量距离误差实际距离次数测量距离误差10109160106222010211701023330103008010800401041190109225010491100

    26、1010225.3 系统误差分析超声波是以声波的形式所进行的能量传播。一般来说,超声波传播的距离大或是速度慢,能量消耗就大,倘若超声波的能量全部消耗在传播途中或是声波改变方向,就接收不到回波信号。而超声波传播的速度与弹性介质的种类和状况关系极大,通常说的声速每秒340米,其传播介质是15的标准空气。在相同的间隔测量距离,由于波的传播时间是相同的,但不同温度下到声速不同,所以最终造成测量出来的距离不相等,即如果不是在标准温度下进行测量,将存在系统误差。在超声波测距系统中,影响测量精度的因素很多,包括现场环境干扰、时基脉冲频率等;但环境温度对声速的影响最大,从超声波声速经验公式 可以看出,在0-4

    27、0时,声速变化范围为331.4m/s-354.85m/s。以超声波在20的室温条件下的声速343.32m/s为基准,其变化还是不小的。所以温度的影响不能忽略不计。所以在本设计中对温度进行测量和补偿,以避免温度对测量精度的影响。经过多次试验本系统的最大误差为3cm,盲区约为10cm。6 结论 用超声波作非接触式测量,在很多领域得到了应用。本设计是基于单片机的超声波测距系统。它包含了:单片机,数字电路、模拟电路、C语言等方面的知识,也提高了自己的动手能力。同时该设计是源于生活,有很强的应用价值。本文设计的超声波测距系统。首先通过文献了解了国内外超声波传感器的研究现状,明白了各种测距原理。其次根据设

    28、计方案, 加入了相关了电路提高了测距系统的测量精度。最后做出了对应的实物并加以试验,得出了相关的数据。分析后可以证明设计的测距系统可以达到要求。基本完成的本次设计。但是在试验过程中还是发现了一些问题,比如在本设计是由手工焊接和元器件限制,在一些环境下误差会比较的大。只能在室内小范围测量。另外,由于条件限制只能采用三位数码管,其最小误差为1厘米,那么就可以采用四位数码管来提高精度。超声波测距具有良好的发展前景,其精度高,成本低,性能稳定等优点。相信超声波技术将广泛运用于机器人、医疗、交通工具安全等众多方面。参考文献1 孟立凡.传感器原理及技术M.北京: 国防工艺出版社.2005. 45105.2

    29、 张国勋, 孙海.单片机原理及应用(第二版)M.北京:中国电力出版社.2007.1988.3 张红莲.基于单片机的超声波测距系统的设计J. 信息技术与信息化.2008(09).8991.4 宋敬国,李元宗,徐玉华.PIC单片机在超声波测距系统中的应用J.机械工程与自动化,机械工程与自动化.2007.4.118123.5 赵广涛.基于超声波传感器的测距系统设计J.微计算机信息.2006,22(1).129130.6 卜英勇,何永强.一种高精度超声波测距仪测量精度的研究J,郑州大学学报(工学版).2006.5089.7 沈俊霞,杨德.单片机在超声测距系统中的一种应用J.电子科技;2005年05期.

    30、4345 .8 朱爱红.基于AT89C2051的超声波测距系统J,信息技术与信息化.2006.2248.9 Ondrej Sajdl,Jaromir Zak,Radimir Vrba.Zigbee-Based Wireless Distance Measuring Sensor SystemJ,Personal Wireless Communications;2006.55(03).2230.10 H.Elmer, H.Schweinzer,G.Magerl. High resolution Supersonic distances measurement for long distances

    31、J.Technisches Messen .2003.70(04).1822.致谢 首先,我要感谢我的指导老师孙剑老师在毕业设计中对我给予的悉心指导和严格要求,孙剑老师渊博的专业知识、严谨的治学态度、精益求精的工作作风,在写论文期间给了我很大的帮助,没有老师的指导,论文是不会这么快完成的,在此表示由衷的感谢。同时我也要感谢我的同学,在几个月的时间里,给我提出了很多宝贵的意见。另外我在写论文期间收获很多。在我们一起探讨的同时,大家都学习到了很多有用的东西。总的来说在论文写作期间,同学和老师给予了我很多的鼓励和帮助,在表示由衷的感谢。附录 /*初始化程序*/ #include /器件配置文件#in

    32、clude #define TX P3_7#define DQ P3_6#define SPEAK P3_5#define uchar unsigned char#define uint unsigned intuint i,c ;uchar temp;unsigned int time=0;unsigned char posit=0;unsigned long S=0;bit flag =0;bit recflag =0;unsigned char const discode = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0

    33、xff/*-*/;unsigned char const positon3= 0xfe,0xfd,0xfb;unsigned char disbuff4 = 0,0,0,0,;void init_ds18b20(void); void delay(uint t);uchar read_byte(void);void write_byte(uchar dat);uchar readtemptaure(void); void delay_50us(uint t);void delay1(uchar x); /*延时函数*/ void delay (uint t) while(t-); void d

    34、elay1(uchar x)uchar j,k;for(j=x;j0;j-)for(k=80;k0;k-);/*显示函数*/ void Display(void) /扫描数码管 if(posit=0) P1=(discodedisbuffposit)&0x7f; else P1=discodedisbuffposit; P2=positonposit; if(+posit=3) posit=0; delay1(5);/*距离计算函数*/void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; temp=readtemptaure(); delay1(10

    35、); c=331.4+0.607*temp; c=c/150; S=(time*c)/100; if(S=200)|flag=1) SPEAK=0; delay1(200); flag=0; disbuff0=10; /显示“-” disbuff1=10; /显示“-” disbuff2=10; /显示“-” else disbuff0=S%1000/100; disbuff1=S%1000%100/10; disbuff2=S%1000%10 %10; Display(); /*ds18b20初始化函数*/ void init_ds18b20() uchar n; DQ=1; delay(8

    36、); DQ=0; delay(80);DQ=1;delay(8);n=DQ;delay(4);/*ds18b20读取一个字节函*/void write_byte(uchar dat) uchar i; for(i=0;i=1; delay(4); /*ds18b20写入一个字节函数*/uchar read_byte( void) uchar i,value; for(i=0;i=1;DQ=1;if(DQ)value|=0x80;delay(4); return(value); /*ds18b20读取温度函数*/uchar readtemptaure(void) uchar a,b; init_

    37、ds18b20(); write_byte(0xcc); write_byte(0x44); delay(300); init_ds18b20(); write_byte(0xcc); write_byte(0xbe); a=read_byte(); b=read_byte(); b4; return (b);/*单片机外部中断*/void int0() interrupt 0EA=0;TR0=0; EX0=0;recflag=1; /*单片机定时器0*/void zd0() interrupt 1 TH0=0; /T0中断用来计数器溢出,超过测距范围 TL0=0; flag=1; /中断溢出

    38、标志 /*主函数*/void main(void) TMOD=0x01; TH0=0;TL0=0; while(1) SPEAK=1; /蜂鸣器初始化 TMOD=0x01; /定时器初始化 TH0=0; TL0=0; EA=0;/关闭总中断 TR1=0; EX0=0; for(i=0;i8;i+)/发射超声波 _nop_(); TX=TX; EA=1; / 开总中断ET0=1; / 开外部中断0进行接收 TR0=1; / 开定时器0中断进行计数 EX0=1; / IT0=0;while(!recflag);/无外部中断是等待中断 if(recflag=1) /判断是否有接收波到来 _nop_();_nop_();_nop_(); if(recflag=1) / 再一次判断是否有接收波到来 TR0=0; /关闭定时器0 recflag=0; /使外部中断为0等下一次中断 delay1(5);/ 延时 Conut();/计算距离 24


    注意事项

    本文(基于单片机的超声波测距仪.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922