《基于51单片机的超声波测距系统.doc》由会员分享,可在线阅读,更多相关《基于51单片机的超声波测距系统.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上封面专心-专注-专业目录摘 要基于传统的测距方法在很多特殊场合:如带腐蚀的液体,强电磁干扰,有毒等恶劣条件下,测量距离存在不可克服的缺陷,超声波测距能很好的解决此类的问题。本系统主要以STC89C52单片机为核心,结合超声波测距模块HC-SR04、液晶屏LCD1602、温度传感器DS18B20,蜂鸣器等硬件平台,对超声波测距系统的原理、液晶显示显示、温度补偿、单片机的应用等进行了分析和验证。关键词:超声波测距模块,STC89C52,LCD1602,温度补偿。AbstractIn many special occasions, traditional methods b
2、ased on the existence of insurmountable distance measuring defects, such as the measurement of corrosion in the liquid with strong electromagnetic interference, toxic and other adverse conditions. The ultrasonic range can be a very good solution to the problem. This system mainly uses STC89C52 micro
3、controller as the core, hardware platform combined with the HC-SR04 ultrasonic ranging module, LCD1602, DS18B20, buzzer etc. Analyzed and validated the principle of ultrasonic ran, LCD display, Temperature compensation, the application of single-chip microcomputer etc.Keywords: ultrasonic ranging mo
4、dule,STC89C52,LCD1602, Temperature compensation.一. 绪论随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研
5、制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。在基于传统的测力距离存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题
6、,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,另外加入温度补偿,使其测量电路小巧,精度高,反映速度快,可靠性好。二超声波测距的原理2.1 超声波的基本理论 超声波是一门以物理、电子、机械、以及材料科学为基础的、各行各业都要使用的通用技术之一。该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作
7、,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。超声技术是通过超声波的产生、传播以及接收的物理过程完成的。超声波具有聚束、定向及反射、投射等特性。按超声波振动辐射大小不同大致可以分为:用超声波使物体或物性变化的功率应用,称之为功率超声;用超声波获取信息,称为检测超声。超声波是听觉阈值之外的振动,其频率范围在1010Hz,其中通常的频率大约在103之间。超声波在超声场(被超声波充满的范围)传播时,如果超声波的波长与超声场相比,超声场很大,超声波就像处在一种无限的介质中,超声波自由地向外扩散;反之,如果超声波的波长与相邻介质的尺寸相近,则超声波受到界面限制不能自由的
8、向外扩散。于是超声波在传播过程中有如下的特性和作用:2.1.1 超声波的传播速度超声波在介质中可以产生三中形式的振荡波:横波质点振动方向垂直于传播方向的波;纵波质点振动方向与传播方向一致的波;表面波质点振动介于纵波和横波之间,沿表面传播的波。横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。为了测量各种状态下的物理量多采用纵波形式的超声波。超声波的频率越高,越与光波某些特性相似。 超声波与气其他声波一样,其传播速度与介质密度和弹性特性有关。 超声波在气体和液体中,其传播速度C=()式中 介质的密度; 绝对压缩系数。 可以推导出超声波在空气种传播速度。(T为环境
9、温度)。 超声波在固体中的传播速度分两种情况: (1)纵波在固体介质中的传播速度 其传播与介质的形状有关。 (细棒) (薄板) (无限介质)式中 E杨氏模具; 泊松系数; K体积弹性模具; G剪片弹性模。(2)横波声速公式为 (无限介质) 在固体中,介于05之间,因此一般可视为横波声速为纵波的一半。 2.1.2 超声波的物理性质当超声波传播到两种特性不同的介质的平面上时,一部分被反射;另一部分透射过界面,在相邻的介质内部继续传播;这样的两种情况称之为超声波的反射和折射,如图2.1.2所示:图2.1.2 超声波的反射和折射 (1) 超声波的反射和折射 当超声波传播到两种特性阻抗不同介质的平面分界
10、面上时,一部分超声波被反射;另一部分透射过界面,在相邻介质内部继续传播;这样的两种情况称之为超声波的反射和折射,如图2.1.2所示。声波的反射系数和透射系数可以分别由如下两式求得: 式中:分别为声波的入射角和反射角;分别为两介质的特征阻抗,其中为反射波和折射波的速度。反射角、折射角与声速满足折射定律关系式:。当超声波垂直入射界面时,即,则: 如果sin,入射波完全被反射,在相邻两个介质中没有折射波。如果超声波斜入射到两个固体介质面或两粘滞弹性介质面时,一列斜入射的纵波不仅产生反射纵波和折射纵波,而且还产生反射横波和折射横波。(2)超声波的衰减超声波在一种介质中传播,其声压和声强按指数函数规律衰
11、减。在平面波的情况下,距离声源x处的声压p和声强I的衰减规律如下: 式中:距离声源x=0处的声压和声强; 超声波与声波间的距离; A衰减系数,单位为(奈培/厘米)。(3)超声波的干涉如果在一种介质中传播几个声波,于是产生波的干涉现象。若以两个频率相同,振幅和不等,波程差为d的两个波干涉为例,该两个波合成振幅为,其中为波长。从上式看出,当d=0或d=(为整数)时,合成振幅达到最大值;当d=时,合成振幅为最小值。当时,;当d的奇数倍时,两波相互抵消合成幅度为0。由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场。2.1.3 超声波对声场产生的作用(1) 机械作用超声波传播过程中,会引起介
12、质质点交替的压缩与伸张,构成了压力的变化,这种压力的变化将引起机械效应。超声波引起质点的运动,虽然位移和速度不大,但是与超声波振动的频率的平方成正比的质点的加速度却很大。有时足以达到破坏介质的程度。(2) 空化作用在流体动力学指出,存在于液体中的微气泡在声场的作用下振动,当声压达到一定的值时,气泡将迅速膨胀,然后突然闭合,在气泡闭合时产生冲击波,这种膨胀、闭合、振动等一系列动力学过程称为空化。(3) 热学作用如果超声波作用于介质时被介质所吸收,实际上也就是有能量吸收,同时,由于超声波的振动,使介质产生强烈的高频振荡介质相互摩擦产生热热量,这种能量使介质温度升高。 2.1.4 超声波传感器超声波
13、传感器主要有电致伸缩和磁致伸缩两类,电致伸缩采用双压电陶瓷晶片制成,具有可逆特性。压电陶瓷片具有如下特性:当在其两端加上大小和方向不断变化的交流电压时,就会产生“压电效应”,使压电陶瓷也产生机械变形,这种机械变形的大小以及方向与外加电压的大小和方向成正。也就是说,若在压电晶片两边加以频率为的交流电电压时,它就会产生同频率的机械振动,这种机械振动推动空气的张弛,当落在音频范围内时便会发出声音。反之,如果由超声波机械振动作用于陶瓷片使其发生微小的形变时,那么压电晶片也会产生与振动频率相同的微弱的交流信号。超声波传感器结构如下: 图 2.1.4.1 元件内部结构 图 2.1.4.2 超声波外部结构
14、2.2 超声波测距系统原理在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。超声测距大致有以下方法: 取输出脉冲的平均值电压,该电压 (其幅值基本固定 )与距离成正比,测量电压即可测得距离; 测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔 t,故被测距离为 S=12vt。本测量电路采用第二种方案。由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变 。如果测距精度要求很高,则应通过温度补偿的方法加以校正。超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.4
15、5米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m0.03S=10.2m。由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离如下: 图 2.2测距原理三. 系统硬件的具体设计与实现3.1 系统原理和框图超声波测距系统硬件组成如图3-1所示。本系统主要由STC89C52单片机及其外围电路、超声波发送接收模块、液晶显示电路、温度采集电路、蜂鸣器报警电
16、路、按键控制电路和电源等七部分组成。 C P U按键控制电 路温度采集电 路蜂鸣器报警电路液晶显示电 路超声波发送接收模块电源图3-1 系统设计框图测量实时温度,启动超声波模块发送,计时等待接收,并根据温度经过计算,将测到的结果通过液晶屏显示出来,当超时没有接收到超声波回复时,液晶屏显示三个负号,表示距离太远,当测量距离低于设置距离时,启动蜂鸣器和LED报警。3.2 功能模块的设计3.2.1 单片机介绍单片机是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机,即将运算器,控制器,输入输出接口,部分存储器以及其他一些逻辑部件集成在一个芯片上,故可以把单片机看成是一个不带外部设备的微型计算
17、机,相当于一个没有显示器,没有键盘,不带监控程序的单板机。 由于单片计算机具有体积小,重量轻,耗电少,功能强和价格低等特点,又由于数据大多是在芯片内传送处理,所以运行速度快,抗干扰能力强。单片机从七十年代问世以来,在二十多年的时间里,发展异常迅速,并已广泛应用于各种领域。单片机具有通讯接口,用单片机进行接口的控制与管理,单片机与主机可并行工作,大大地提高了系统的运行速度,所以在网络通讯领域也得到了越来越多的应用。STC89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性
18、能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器,AT89C2051是它的一种精简版本。STC89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。STC89C52外形及引脚排列如图2-1所示。 图3.2.1 STC89C52外形及引脚图3.2.1.1 STC89C52管脚说明VCC
19、:供电电压。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口为一个内部上拉电
20、阻的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”后,它们被内部上拉为高电平,并用作输入
21、。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在实际应用中,大多数情况下都使用P3口的第二功能。P3.0 RXD:串行输入口P3.1 TXD:串行输出口P3.2 /INT0:外部中断0P3.3 /INT1:外部中断1P3.4 T0:记时器0外部输入P3.5 T1:记时器1外部输入P3.6 /WR:外部数据存储器P3.7 /RD:外部数据存储器P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程
22、期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此
23、期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2.1.2 STC89C52主要特性* 与MCS-51 兼容* 4K字节可编程闪烁存储器* 寿命:1000写/擦循环* 数据保留时间:10年* 全静态工作:0Hz-24Hz* 三级程序存储器锁定* 128*8位内
24、部RAM* 32可编程I/O线* 两个16位定时器/计数器* 5个中断源* 可编程串行通道* 低功耗的闲置和掉电模式* 片内振荡器和时钟电路3.2.1.3芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯
25、片功能,直到下一个硬件复位为止。3.2.2 超声波测距模块HC-SR043.2.2.1 产品特点HC-SR04超声波测距模块可提供2cm400cm的非接触式距离感测功能,测距精度可高达3mm,模块包括超声波发射器、接收器与控制电路。原理图如图2.2.1所示:图3.2.2.1 HC-SR04模块电路图3.2.2.2 基本原理(1) 采用IO口TRIG触发测距,提供至少10us的高电平信号;(2) 启动后,模块会自动发送8个40KHz的方波,自动检测是否有信号返回;(3) 如果有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。(4) 测试距离=(高电平时间
26、*声速(340m/s)/2;3.2.2.3 电气参数表3.2.2.3 HC-SR04电气参数电气参数HC-SR04超声波模块工作电压DC 5V工作电流15mA工作频率40KHz最远射程4m最近射程2cm输入出发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm3.2.2.4 超声波时序图图3.2.2.4 超声波模块时序图如图2.2.4为超声波模块发送接收的时序图,表明只要提供一个10us以上脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到
27、的回响信号时间间隔可以计算得到距离。3.2.3 LCD1602液晶显示3.2.3.1. 引脚说明本设计中用到的液晶屏,其管脚图如图3.2.3.1所示。图3.2.3.1 LCD1602管脚图3.2.3.2字符显示地址说明图3.2.3.2 LCD1602字符显示地址如上图所示,LCD1602总共有两行16个字符的位置可供显示,首行首字符地址为0x80,第二行首字符地址是0x80+0x40,比如要在第二行第二个位置显示,则可将写指令地址设为0x80+0x40+1即可。3.2.3.3. 读写时序操作 单片机需要编写驱动程序,必须严格按照LCD1602的读写时序来操作,才能实现数据的更新和显示,还要进行
28、初始化设置等。单片机分别控制LCD1602的RS、RW、E端,再进行DB0DB7的数据操作,具体读写时序图如图3.2.3.3.1和图3.2.3.3.2所示。 读操作时序图3.2.3.3.1 LCD1602读操作时序图 写操作时序图3.2.3.3.2 LCD1602写操作时序图3.2.4 DS18B20温度传感器3.2.4.1. 芯片简介(1) 适应电压范围更宽,电压范围:3.0 V5.5V,在寄生电源方式下可由数据线供电。(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3) DS18B20在使用中不需要任何外围元件,全部传
29、感元件及转换电路集成在形如一只三极管的集成电路内。(4) 测温范围55125,在-10+85时精度为0.5。(5) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(6) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(7) 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(8) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。3.2.4.2 DS18B20外形和内部结构DS18B20
30、内部结构如图3.2.4所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如图3.2.4.1和表3.2.4. 1所示。 64位ROM和单线接 口 高速缓存 存储器 存储器和控制器8位CRC生成器温度传感器 低温触发器TL高温触发器TH配置寄存器电源检测图3.2.4 DS18B20的内部结构图3.2.4.1 DS18B20的管脚排列表3.2.4.1 DS18B20引脚定义:序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。
31、当工作于寄生电源时,此引脚必须接地。(1) 64位ROM ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。DS18B20温度值格式表3.2.4.2如下所示。表3.2.4.2 DS18B20温度值格式表 bit7 bit6 bit
32、5 bit4 bit3 bit2 bit1 bit0LS Byte22222222 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8MS ByteSSSSS222这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如25.0625的数字输出为0191H,25.0625的数字输出为FF6FH。 (2)高低温报警触发器TH和TLDS1
33、8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 (3)配置寄存器 该字节各位的意义如下表3.2.4.3所示。表3.2.4.3 配置寄存器结构TMR1R011111低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表3.2.4.4所示(DS18B20出厂时被设置为12位)。表3.2.4.4 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms 0110位187.5
34、ms 1011位375ms 1112位750ms (4)高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。高速暂存器RAM结构图如下表3.2.4.5所示。表3.2.4.5 DS18B20暂存寄存器分布寄存器内容 字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值83.2.4.3 DS18B20与单
35、片机的典型接口设计图3.2.4.6(a)中DS18B20采用寄生电源方式,图3.2.4.6(b)中DS18B20采用外接电源方式,其VDD端用3V5.5V电源供电。(a) 寄生电源工作方式 (b) 外接电源工作方式图3.2.4.6 电源工作方式图四. 系统软件设计4.1. 程序设计思路通过单总线协议,读出实时温度,在超声波处理上,本设计采用软件查询的方法,检测超声波模块接收管脚的回波信号情况。当信号为0时,表示没有回波信号,此时等待信号变为高电平,当接收到回波信号时,程序继续运行,此时开启定时器T0,直到回波信号消失才关闭,此时测到的时间就是回波信号的高电平脉宽时间长度,再根据时间和温度计算出
36、距离。4.2. 程序流程图4.2.1主程序流程图开始定时器初始化回波?启动模块发送超声波开启定时器T0关闭定时器T0NY回波?NY根据温度计算距离液晶屏显示距离500ms到?Y距离700cm?NYN 图4.2.1 超声波测距系统主软件流程图4.2.2 温度采集程序流程图开始DS18B20复位并跳过ROM匹配启动温度检测写读寄存器温度值存入对应数组读取低位读取高位温度计算图4.2.2温度流程图3. 程序具体程序见附录。五. 总结 在此次有关超声波测距系统的设计,让我感觉到了单片机的复杂深度性,它很贴切我们的日常生活,无所不在,应用无处不有,它并不是想象中的那么简单,也并非是无法克服的堡垒。以上基
37、于单片机的超声波的测距系统的设计包含了:电路分析、数字、模拟电路和单片机、EDA、传感器、C语言等方面的知识,另外还有选材购买、动手制作等方面。所以具有很高的参考价值,同时,该设计的方案也是来源于生活中广泛的应用领域,有很强的应用价值。设计硬件之前,要首先收集好有关的基础性资料,应备有良好的应用类参考书和专业类参考书。对于有关的科技期刊和专利文献,也要经常阅读以便了解最新的发展情况,借鉴现成的经验,避免重复劳动。在设计中,要充分了解所用芯片的使用条件及输入输出的特性,这样才能避免因使用错误而多走弯路。电路设计部分应该有的精神就是广集资料。只凭借自己头脑中的知识是远远不够的。哪里出现了问题,就要
38、翻书本,或上网查资料。当然也要开动自己的脑筋怎样使系统电路更完美。在电路设计时,应充分发挥单片机的记忆运算、判断控制能力,避免采用复杂的、稳定性较差的模拟电路。单片机的应用改变了传统的设计思路,以前构建一个系统需用用很多的数字模拟器件或者电路单元来构建,系统可靠性差、缺乏灵活性、维护不便、成本高、无法实现智能化等诸多缺点。单片机的应用解决了很多问题,现在只要写一个软件,通过单片机和一些简单的外接电路就可以实现具有很多功能的、而且具有智能化的系统,同时可方便升级维护。所以单片机的应用广泛,在日常生活和生产中占用重要位置。所以我们设计选择了单片机的系统其说明我们深深的意识到它的重要作用。最后我非常
39、感谢学校和老师给我们这么好的学习机会,让我亲身去体会一个项目开发的艰难性,第一次站在一个设计者的角度去看,体会到了他们的艰辛,同时我也感受到了老师对我们的付出,对我们的精心指导,让我顺利完成这次学习任务。六. 致谢 时间真的过的好快,转眼便是大学毕业之际。距离离校的日子已日趋临近,毕业设计的完成也随之进入了尾声。在此我真的要感谢我的指导老师*老师。在本次论文设计过程中,*老师对该设计从选题的审核、构思、修改到最后定稿的过程中,自始至终都倾注时间、经历和心血。由于我自身经验缺乏,所以一开始真的无法下手,设计进程也很缓慢,而此时老师不仅仅在设计方面给予引导,在选材方面也给予参考,特别是她多次询问写
40、作进程,并为我指导,帮助我开拓思路,这些付出和关心让我坚定了能够完成这次设计的信心。而我在老师的指导下,也不敢松懈,尽可能早的完成毕业设计。*老师以严谨的治学之道、宽厚仁慈的胸怀、积极乐观的生活态度,兢兢业业、孜孜以求的工作作风和大胆创新的进取精神为我树立了一辈子学习的典范,她的教诲与鞭策将激励我在学习和生活的道路上开拓创新。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。真的发自内心的说一句:*老师,谢谢您。最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师真心地表示感谢,谢谢你们。七. 参考文献【1】 胡萍.超声波测距仪的研制.计算机与现代化,2003.10【
41、2】 时德刚,刘哗.超声波测距的研究.计算机测量与控制,2002.10 【3】 华兵.MCS-51单片机原理应用.武汉:武汉华中科技大学出版社,2002 .5【4】李华.MCU-51系列单片机实用接口技术.北京:北京航空航天大学出版社, 1993. 6【5】 陈光东.单片机微型计算机原理与接口技术(第二版).武汉:华中理工大学出版社,1999.4【6】 徐淑华,程退安,姚万生.单片机微型机原理及应用.哈尔滨:哈尔滨工业大学出版社,1999. 6.【7】 苏长赞.红外线与超声波遥控.北京:人民邮电出版社,1993.7【8】 张谦琳.超声波检测原理和方法.北京:中国科技大学出版社,1993.10【
42、9】 九州.放大电路实用设计手册.沈阳:辽宁科学技术出版社,2002.5【10】 樊昌元,丁义元. 高精度测距雷达研究.电子测量与仪器学报,2000.10【11】 苏伟,巩壁建.超声波测距误差分析.传感器技术,2004.【12】 永学等.1-Wire总线数字温度传感器DS18B20及应用.电子产品世界,2003.12【13】 胜全.D18B20数字温度计在微机温度采集系统中的序编制. 南京:南京大学出版社1998. 3【14】 恒清,张靖.加强单片机系统抗干扰能力的方法.通化师范学院学报,2004 .10八附录8.1原理图8.1 系统原理图8.2主程序/*/ #include /器件配置文件#
43、include #define uint unsigned int/宏定义#define uchar unsigned char#define RX P2_6/接收端口#define TX P2_5/发送端口#define BEEP P2_2/蜂鸣器端口#define LED P2_3/LED端口#define UP P2_1/按键接口#define DOWN P2_0/按键接口int temperature;/全局变量 温度float Speed;/全局变量 超声波速度unsigned int time=0;/定义发送到接收的时间unsigned int timer=0;/定义超声波扫描周期unsigned int Led_time=0;/定义LED灯闪烁定时int S=0;/定义距离为0int S_SET=30;bit flag =0;/超出距离标志位#define DQ P2_7/温度数据口#define rs P1_0 /LCD1602#define rw P1_1 /LCD1602#define e P1_2 /LCD1602uchar code table2=Distance: 000cm