基于超声波的液位测距系统设计毕业设计论文_第1页
基于超声波的液位测距系统设计毕业设计论文_第2页
基于超声波的液位测距系统设计毕业设计论文_第3页
基于超声波的液位测距系统设计毕业设计论文_第4页
基于超声波的液位测距系统设计毕业设计论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGEIII摘要本文是利用超声波测距的原理而设计的一种液位测距系统。该系统采用STC12C5A08S2单片机为核心控制器,并为超生测距模块提供触发控制信号,在发射超声波的同时,启动单片机的内部定时器开始计时,超声波在空气中传播遇到障碍物后反射回波,超声波接收电路检测到回波信号时停止计时,则根据公式:S=Vt/2即可计算出液位距离。文中设计的系统着重解决了超声波测距的时间计算和温度补偿问题。其中通过温度传感器将温度值采集到单片机中,经过一定的数值修正即可得到当时温度值下的超声波传播速度V。本文采用了硬件和软件相结合的设计方法,在软件方面,采用了汇编语言进行程序编写。在数据处理上充分利用汇编语言的查表优势,建立了速度修正值表和数码管显示值表,可以便捷、明了地进行数据处理和显示。关键词:超声波测距STC12C5A08S2温度补偿液位测距系统TitleDesignofliquidlevelbasedonultrasonicdistancemeasurementsystemAbstractThisarticledesignsaliquidlevelmeasurementsystemwhichisbasedontheprincipleofultrasonicdistancemeasurement.ThesystemtakesSTC12C5A08S2asthecoreofthesystemcontroller.TheSCMprovidescontrolsignalsforultrasonicdistancemeasurementmodules,andstartsthemonolithicintegratedcircuitinternaltimertoworkwhileemittingultrasonic.Ultrasonicreflectionechoafterthecommunicationobstaclesintheair,andtheSCMstopstimingwhentheechosignalisdetectedbytheultrasonicreceiver.Accordingtotheformula:S=Vt/2,theliquidleveldistanceiscalculated.Thesystemisdesignedtofocusonthetimeandtemperaturecompensationofultrasonicdistancemeasurement.ThetemperaturevalueiscollectedintheSCMthroughthetemperaturesensor,undergoingacertainnumericalcorrectiontogettheultrasonicwavepropagationvelocityunderthetemperature.Thisarticleusesacombinationofhardwareandsoftwaredesign.Insoftware,weuseassemblylanguagetoprogram.FulluseofAssemblylanguagereferencetableadvantagesindataprocessing,weestablishedthespeedcorrectiontableandthedigitaldisplayvaluestablewhichcanbeconvenientandclearfordataprocessinganddisplay.Keywords:Ultrasonicdistance-measuring;STC12C5A08S2;Temperaturecompensation;Liquidlevelmeasurementsystem目录1引言 11.1测距在工业方面的应用 11.2现有的测距方法及其优缺点 11.3超声波测距的原理及优点 21.4课题研究的意义 22总体方案论证 22.1系统方案简化 32.2系统软件设计说明 43系统硬件电路设计 43.1HC—SR04超声波测距模块简介 43.2单片机的选型(STC12C5A08S2) 63.3显示电路的设计 93.4温度传感器的选型 104系统软件设计 114.1主程序设计 124.2子程序设计 134.3数码管显示程序 185系统调试与分析 19结论 21致谢 22参考文献 23附录A汇编程序清单 24图一系统完整电气原理图 26PAGEPAGE291引言1.1测距在工业方面的应用在现代工业现场,测距技术的应用可以说是无处不在。在水利水电、污水处理领域,利用测距技术可对水面高度实现实时监测。在冶金、物料液位、管道等不宜直接接触的场合,非接触式测量技术发挥了重要作用。激光测距技术作为非接触式测量技术的一种,可以实现对工业生产线上的物料传送定位、电梯的运行监测、移动机器人的测距定位等。在车载导航、石油、化工等领域,超声波测距技术都得到了广泛的应用。1.2现有的测距方法及其优缺点最早的测距技术大多是基于机械传动工作原理的测距,随着工业控制的需求,慢慢过渡到机电一体化式测距,而随着系统集成性的需要正朝着智能式测距发展。其中作为机械式测距技术的代表,机械钢带式液位计优点是结构简单、价格低廉,但是机械传动部件较多,安装、维护比较困难,且只限于测液位。非接触式测距技术因其独特的优势已经广泛应用于工业现场控制。现在典型的非接触测距方法有雷达探测、激光探测、CCD探测和超声波测距等方法。其中激光具有穿透力强、强度高等特点适合在恶劣天气如大雾天或远距离测距系统中使用,成本较高。而CCD测距不需要信号发射器,主要利用光电耦合器将光信号转化为电信号,所得模拟信号经A/D转换电路后转化为便于处理的数字信号。全过程需要采集大量的信息,计算量大。相比之下,超声波测距因其独特的优势适合短距离的测距系统,特别是在工业现场不易人们直接接触的场合发挥了很大的作用。超声波主要应用于车辆导航、物料定位、建筑工地以及空气中和水下目标的探测、定位等场合。从上世纪八十年代开始,国外就开始利用微电子技术和计算机等高科技成果,带动液位测量技术的发展。就目前为止,工业中运用的液位测量方式就有几十种,比如常见的有压电式、应变式、电容式等。这些方法同早期的机械测量相比,运用比较简单,但大都采用了如压力值、电气量等中间量来反映液位值,增加了测量误差。而超声波测距却可实现精确测距,改善了系统的精度。因此,无论是工业现场控制,还是人们的日常生活中,超声波的应用已经很成熟。1.3超声波测距的原理及优点超声波测距模块主要有超声波发射和接受两部分,给定的触发信号经过放大电路放大后产生超声波,并开启定时/计数器计时;当超声波在传播途中遇到障碍物后反射回波,测距模块接收电路检测到反射回波时就停止计时。通过查表获取声速在当时温度的修正值V,从定时/计数器中获取传播时间t,即可根据公式S=Vt/2计算出测试点到障碍物之间的距离S。由于超声波在空气中的方向感很强,探测距离很远,基于超生波的测距被广泛应用,而且其数据处理比较简单,利用软件编程即可实现计算机实时控制,通过温度补偿更是可以大大提高测量精度,基本上可以满足工业现场控制要求。超声波液位测量采用高速高性能的单片机为微控制器不仅能够实现定点连续测量液位,还可以提供需要的信号进行远距离控制。与价格昂贵、系统复杂的激光测量系统相比,超声波测距成本较低、系统可靠性高。应用于工业现场的超声波测距系统大多没有复杂的传动、运动部件,安装、维护时比较方便,尤其是在气体或液体中测量时超声波测距系统性能表现出较大的优越性。比如在工业或生活污水处理现场中,超声波测距技术就得到了很好的应用。1.4课题研究的意义在石油、化工、渠道、污水处理等领域的过程控制当中,经常要对管道、仓储进行液位的实时监测。尤其是在石油、化工和污水处理等领域,工业现场的环境很恶劣,若采用接触式测量,则各种腐蚀性液体、气体等会损坏传感器探头而影响测量精度和可靠性。在这种环境下,非接触式测量成为人们的首选,而超声波测距因为系统可靠性高、不易受环境因素(如磁场、腐蚀性气体或液体等)影响,能够满足一般工业精度要求,得到了很广泛的应用和发展。随着技术的发展和需要,新型的、智能化超声波测距逐渐得到应用,因此,通过超声波液位测距系统设计,掌握超声波测距原理的应用及液位测距系统硬件电路的设计,通过编程实现液位测距功能,可以让我们更加熟悉一个系统设计的流程及应具备的基本知识,提高我们的实战能力和经验。2总体方案论证文中利用超声波测距的原理设计了一套液位测距系统。利用超声波在空气中传播遇到障碍物后反射回波,并通过回波接收电路检测回波信号,用t表示超声波从发出到检测到回波信号的时间,V为超声波在空气中的传播速度,则可计算出液位的距离S=Vt/2。采用硬件设计和软件设计相结合的方式,选用单片机为微控制器,超声波发射和接收器分别通过相应电路与单片机相连,这样就可以通过单片机来控制超声波的发射和接收,并利用单片机的内部定时器/计数器计算超声波的传输时间t。对于超声波的传播速度V的温度补偿问题,可以通过温度传感器与单片机连接,实时测得温度值并通过公式V=331.5+0.607T来修正速度V[13]。文中设计系统的控制框图(如图2.1)。图2.1系统控制结构框图2.1系统方案简化为了系统设计的简单化,在超声波发射和接受这块进行了简化,经过比较和文献资料的查阅,选用HC—SR04超声波测距集成模块代替复杂的超声波发射、接收和检波电路,这样系统控制就简单的多。只需要单片机提供一定的电平触发信号,HC—SR04模块就会自动发射、接收和检测回波信号。简化后的系统控制框图(如图2.2)。图2.2系统控制结构简化框图2.2系统软件设计说明系统的软件部分是使用keil软件编程,程序采用汇编语言编写。充分利用汇编语言查表的优势,在程序中建立了超声波传播速度修正值表和4位共阴数码管显示值表,从而大大简化了数据处理和显示。单片机通过P1.3、和P1.4口控制超声波测距模块的触发和接收回波信号。对于超声波传播时间t的计算,利用单片机的内部定时器/计数器通过软件编程来实现。在发射超声波的同时启动定时器T0,当接收到回波信号时关闭T0停止计数。事先设置单片机工作频率为11.0592MHz,则计数一次代表1US。最终的速度计算结果通过P0口输给数码管显示部分。数码管的选通与控制是通过P2口经74HC138译码器来实现。3系统硬件电路设计该超声波液位测距系统硬件电路主要有四大部分组成,主要是HC—SR04超声波测距集成模块、温度传感器、单片机和数码管显示部分。本章将分别从这四大部分进行设计和说明,包括器件的选型和模块的电气连接等。3.1HC—SR04超声波测距模块简介HC—SR04超声波测距模块主要包括超声波发射器、超生波接收器和相关的控制电路。该模块主要是利用超声波的测距原理,适用于2cm~450cm的非接触测量。该模块有4个引脚,分别是VCC、Trig、Echo、GND,实物图(如图3.1)。其中VCC是电源端,接DC5V电源,GND是接地端,Trig为触发控制信号的输入端,在试验中接单片机的P1.3口,Echo是回波信号输出端,接单片机的P1.4端口。图3.1HC—SR04实物图3.1.1HC—SR04主要电气参数介绍电气参数HC—SR04超声波测距模块工作电压DC5V工作电流15mA最远射程450cm最近射程2cm输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例3.1.2超声波测距模块工作时序图HC—SR04模块工作时只需要单片机的P1.3口送一个不低于10us的高电平触发信号,模块内部会自动循环发出8个40KHz的脉冲,且模块的回响信号输出端会自动检测回波信号,当检测到回响信号时该端口会输出一个高电平信号,该高电平信号的持续时间与检测距离成比例。其工作时序图(如图3.2所示)。图3.2工作时序图3.2单片机的选型(STC12C5A08S2)作为液位测距系统的核心控制部分,单片机担负着给HC—SR04超声波测距模块发送触发信号和超声波的传输时间计时、温度值采集、距离计算及结果输出等功能。经过资料的查阅和对比,最终选择价格便宜、性能稳定、低功耗的STC12C5A08S2单片机。选择该型号单片机的另一个重要因素是在导师的实验室有许多现成的该型号单片机,这样就节省了系统设计的额外成本。3.2.1STC12C5A08S2简介STC12C5A08S2是STC公司生产的一种单片机,是增强型8051单片机的一种,兼容传统51单片机的指令系统。STC12C5A08S2采用双列直插式封装共40管脚,有8K的Flash存储空间,两个16位的定时器T0、T1。以下是STC12C5A08S2单片机的引脚功能图3.3及相关介绍。图3.3STC12C5A08S2单片机管脚图电源端:40管脚是VCC端,连接供电电源+5V。20管脚是GND端,工作时接地。时钟电路端XTAL2和XTAL1引脚:XTAL1是内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部是时钟电源时,XTAL1作为外部时钟源的输入端(STC12C5A08S2应用技术手册)。XTAL2则是内部时钟电路反相放大器的输出端,和外部晶振的另一端相连,当直接使用外部时钟电源时,此引脚可悬空,此时XTAL2实际将XTAL1输入的时钟进行输出(STC12C5A08S2应用技术手册)。串口部分:在此着重介绍在系统设计中用到的P0、P1、P2口相关串口。P0.0—P0.7P0口可以作为标准的8位输入/输出口,此时内部有弱上拉电阻而无需外接上拉电阻。P0口也可以分时作为数据/地址复用总线。在本系统中P0口用作数据输出口,对应数据的AD0-AD7。P1.0—P1.7P1口是8位标准的I/O口,部分管脚有扩展功能。在本系统中利用P1.7口连接温度传感器的信号输入端。P2.0—P2.7P2口内部也有弱上拉电阻,可以作为输入/输出口,也可以作为8位地址总线使用。在本系统设计中,就是利用P2.0、P2.1、P2.2分别连接74HC138地址译码器的A、B、C端进行地址的扩展和选通。3.2.2单片机最小应用系统一个单片机的最小应用系统包涵如下几个部分:工作电源、接地、复位电路、晶振电路等。该系统中单片机的所用晶振为11.0592MHz,因此只需利用STC12C5A08S2单片机的第一复位功能键即可。当系统工作频率大于12MHz时需采用STC12C5A08S2的第二复位功能键,在此不做详细介绍。至于晶振电路部分,采用的是可以更换晶振的电路设计,在本系统中所采用晶振频率为12MHz。STC12C5A08S2单片机的最小应用系统的电路图(如图3.4)。图3.4STC12C5A08S2单片机最小应用系统电路图3.3显示电路的设计系统的显示采用的数码管显示电路,测量的距离结果用4位共阴极的数码管显示。数码管的a、b、c、d、e、f、g、dp分别对应一个发光二级管,其中dp代表小数点。每个数码管都有一个公共的外部选通端COM,当选择共阴极连接时,8个发光二级管的阴极都连接到COM端。在系统中,单片机的P0.0—P0.7口分别对应连接每个数码管的a、b、c、d、e、f、g、dp的阳极,当相应P0口输出高电平时相应的发光二级管就会亮,从而显示出对应的数值。在利用单片机的数码管显示时有两种显示方式可选,即数码管的动态显示和静态显示。而本系统主要采用的是动态显示的方式。相比较与数码管的静态显示,采用动态显示可以省掉繁琐的电路连接,可以直接通过74HC138译码器分别与相应数码管的公共端COM相连,再利用人的视觉差逐个选通每个数码管显示相应数字,这样动态的扫描显示,在人眼看来就会是连续的稳定显示了。显示模块的电路图(如图3.5)。图3.5数码管显示电路原理图3.4温度传感器的选型温度值的多少直接影响超声波的传播速度V的值,能够实时准确地采集温度值就可以解决超声波测距中的温度补偿问题。所以选择合适的温度传感器可以使系统的硬件电路更简单化,从而提高测距系统的性能稳定性。3.4.1温度传感器的类型及特点人们对温度传感器的研究和应用起步较早,现在技术已经相当成熟。在不同的工业应用场合会有不同工作原理的传感器的应用。温度传感器大致有如下几个类型:热电阻式传感器、热电偶式传感器、半导体集成模拟温度传感器、半导体集成数字温度传感器等几种。热电阻式温度传感器:其工作原理是利用导体或半导体的的电阻值随温度变化而变化的特性来测量温度的[9]。主要特点是测量精度高,响应速度快,性能稳定。但是线路电阻的变化会导致温度测量的偏差,需要额外的补偿电路来消除偏差。热电偶式温度传感器:其主要是基于热电效应原理来工作的,具有测量范围广、精度高、结构简单、使用方便等优点[9]。半导体集成模拟温度传感器:利用晶体二极管或三极管PN结的结电压随温度变化的原理来工作的,主要优点是具有较好的线性度,而且反应很灵敏,测温范围也很广,可以测到-50--150°C[9]。无论是上述哪种原理的温度传感器,其主要都是将温度信号转化为可以测量的电信号,再经过相应的信号放大电路放大到合适值范围,再经A/D转换将测量信号转化为数字量显示出来。与这些温度传感器相比,半导体集成数字传感器因自带A/D转换部分而是应用电路设计更趋简单。目前DS18B20数字式温度传感器是应用最广泛的数字式传感器之一。3.4.2数字式DS18B20温度传感器简介DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器。DS18B20温度传感器使用比较方便,可以直接从读出数字温度值,并且可根据实际应用的需要通过简单的编程实现9—12位的数字值读数方式[6]。DS18B20只有3个管脚:1电源线,2信号线,3接地线。它的通信只需单根信号线联结。在本设计系统中它的信号通信端跟单片机的P1.7口相连,其接线图如下图3.6所示。图3.6温度传感器连线图4系统软件设计本系统软件部分设计包括主程序、子程序(时间计算、速度计算)和显示子程序组成。编程语言选择的是汇编语言,能够做到直接控制硬件电路,且能精确计算程序运行时间。在数据处理上虽不能做到高精度,但充分利用了汇编语言编程的易于查表的优势,建立了时间值和速度修正值表,并且在编程时做了一定的简化处理,旨在重点掌握系统的工作原理及控制流程。4.1主程序设计主程序先是对单片机环境的初始化,设置定时器T0的工作方式为16位的计数器模式,并对其做清零处理。接着就是对显示单元清零,即对输出P0口清零;然后调用声速V修正值子程序得到超声波传播速度后调用距离计算子程序计算距离S;最后是显示子程序的调用。输出显示结果后延时一段时间再次重启超声波测距模块进行下次测量。主程序流程图如图4.1所示。图4.1主程序流程图4.2子程序设计4.2.1温度采集程序设计单片机上电复位后,需对传感器DS18B20执行复位命令并开始采集温度数值。其工作流程大致如下:上电启动后通过单片机初始化DS18B20,然后检测设备是否存在,若存在则发送ROM命令,然后发送温度转换命令获取温度值。温度采集程序流程图如下图4.2所示。图4.2温度采集程序流程图主要程序如下:DQBITP1.7;DS18B20的数据口位P1.7TPHDATA20H;存放温度值的高字节TPLDATA21H;存放温度值的低字节ORG0JMPResetORG100HReset:LCALLDS18B20_Reset;设备复位MOVA,#0CCH;跳过ROM命令LCALLDS18B20_WriteByte;送出命令MOVA,#044H;开始转换LCALLDS18B20_WriteByte;送出命令JNBDQ,$;等待转换完成LCALLDS18B20_Reset;设备复位MOVA,#0CCH;跳过ROM命令LCALLDS18B20_WriteByte;送出命令MOVA,#0BEH;读暂存存储器LCALLDS18B20_WriteByte;送出命令LCALLDS18B20_ReadByte;读温度低字节MOVTPL,A;存储数据LCALLDS18B20_ReadByte;读温度高字节MOVTPH,A;存储数据JMP$;**************************************DelayXus:NOPNOPNOPNOPNOPNOPNOPNOPDJNZR7,DelayXusRET;**************************************;复位DS18B20,并检测设备是否存在;**************************************DS18B20_Reset:CLRDQ;送出低电平复位信号MOVR7,#240;延时至少480usLCALLDelayXusMOVR7,#240LCALLDelayXusSETBD;释放数据线MOVR7,#60;等待60usLCALLDelayXusMOVC,DQ;检测存在脉冲MOVR7,#240;等待设备释放数据线LCALLDelayXusMOVR7,#180LCALLDelayXusJCDS18B20_Reset;若没有检测到设备,则继续等待RET;**************************************;从DS18B20读1字节数据;**************************************DS18B20_ReadByte:CLRAPUSH0MOV0,#8;8位计数器ReadNext:CLRDQ;开始时间片MOVR7,#1;延时等待LCALLDelayXusSETBDQ;准备接收MOVR7,#1LCALLDelayXusMOVC,DQ;读取数据RRCAMOVR7,#60;等待时间片结束LCALLDelayXusDJNZ0,ReadNextPOP0RET;**************************************;向DS18B20写1字节数据;**************************************DS18B20_WriteByte:PUSH0MOV0,#8;8位计数器WriteNext:CLRDQ;开始时间片MOVR7,#1;延时等待LCALLDelayXusRRCA;输出数据MOVDQ,CMOVR7,#60;等待时间片结束LCALLDelayXusSETBDQ;准备送出下一位数据MOVR7,#1LCALLDelayXusDJNZ0,WriteNextPOP0RETEND4.2.1速度查表程序由超声波测距的温度补偿公式V=331.5+0.607T,建立了一张温度——V的修正值表格TAB1。结合实际情况,TAB1包含了0度到40度对应的速度修正值。编程时将DS18B20采集的温度值送到R1中,并将其作为查表偏移量进行查表,查表所得结果仍放R1中。部分程序如下:ORG1000HSTART:MOVA,@R1MOVDPTR,#TAB1MOVCA,@A+DPTRMOVR1,ATAB1:DB014CH,014CH,014DH,014DH,014EH,014FH,014FH,0150H,0150H,0151HDB0152H,0152H,0153H,0153H,0154H,0155H,0155H,0156H,0156H,0157HDB0158H,0158H,0159H,0159H,015AH,015BH,015BH,015CH,015CH,015DHDB015EH,015EH,015FH,015FH,0160H,0161H,0161H,0162H,0162H,0163HDB0164HRET4.2.2距离计算程序由于单片机选择12MHz的晶振,则计数器T0没计数一次就代表1uS,设计时取14℃时的声速为340m/s,则既可计算出距离:S=(Vt)/2=(17T0/1000)cm。式子中T0是一个16位的数由TH0和TL0两个8位组成,在程序中一个8位数和一个16位数相乘的原理如下示意图所示,其中a、b、c都是8位无符号数。除以1000用结果右移10次来实现。具体程序如下:ab×c(bc)H(bc)L(ac)H(ac)L(ac)H[(bc)H+(ac)L](bc)LWORK:MOVA,TH0MOVR7,AMOVA,TL0MOVR6,AMOVR5,#11HMOVA,R6MOVB,R5MULAB;b×cMOV@R2,A;(bc)L(R2)MOVR3,B;(bc)HR3MOVA,R7MOVB,R5MULAB;a×cADDA,R3;(bc)H+(ac)LAINCR2MOV@R2,AMOVA,B;(ac)HAADDCA,#00HCLRCINCR2MOV@R2,ALCALLRIGHTRET1;*********循环右移10位子程序*********RIGHT:MOVR4,#10LOP3:MOVA,@R2RRADECR2MOVA,@R2RRCADECR2MOVA,@R2RRCAINCR2INCR2DECR4DJNZR4,LOP3RET4.3数码管显示程序距离计算结果需要先转换成相应的BCD码再送往数码管显示,这个可以通过查表来实现转换。结果的显示采用动态扫描的方式显示,每次通过74HC138译码器选通一个数码管显示相应的数字,再经过一定的延时扫描显示下一位数码管。其程序流程图(如图4.2)。图4.2数码管显示流程图5系统调试与分析系统的硬件部分包含两大部分:HC—SR04超声波测距模块和单片机开发板。弄清开发板上的元件电气连接后,将STC12C5A08S2单片机芯片正确插入锁紧插座,用四根连接线分别将HC—SR04模块的VCC和GND端接单片机的VCC和GND端,将Trig端接至单片机的P1.3口,Echo接单片机的P1.4口。HC—SR04超声波测距模块在通电之前一定要确保接地端可靠接地,否则模块很容易被烧坏而导致测量失败。在可靠正确连接之后,在测量时还要尽力确保模块水平放置,从而减小测量误差。系统的软件部分通过Keil软件编写并进行编译,修改无误后下载到单片机内部进行测量。图5.1是通过相关软件下载程序到单片机的截图。下载成功后即可进行测距。图5.1下载程序到单片机中测试中选取了室温14度时声速为340m/s时80cm—200cm之间的距离进行了验证。将事先编译好的程序下载到单片机,并没有显示预期的测量数据,这也是一般调试经常出现的状况,经过反复几次下载、执行,还是没有数据显示。针对调试出现的问题,首先想到的是编译程序的计算和显示部分出现了差错。并将整个程序进行了剪切,只保留计算和显示模块,并根据预期距离给定时计数器赋值,程序编译无误后下载到单片执行,测试结果(如图5.2所示),显示结果和预期计算相符,由此推断程序计算、显示部分没有错误。图5.2计算、显示部分调试结果图5.3串口信号变化逻辑分析结果第二步:检测调试超声波测距模块的触发和响应信号。由于实验中给超声波测距模块的触发电平是高于10uS的高电平,而回响信号的持续时间经计算也只是微秒级的,因此,使用一般的万用表是无法检测到管脚信号变化的。经过查阅资料,选择逻辑分析仪来检测触发信号即P1.3口的电平变化和回响信号即P1.4口的电平变化情况。由于逻辑分析仪每次可以抓取6S的串口电平变化情况,因此可以达到预期的检测功能。调试结果(如图5.3所示)。经过多次检测,我们可以检测到P1.3口出现了30多微秒的高电平信号,即程序给超声波测距模块送了触发信号。然而P1.4口却一直是低电平信号,即超声波测距模块并没有返回回波信号,因此可以推断导致测试失败的原因可能是超声波测距模块内部触发无法响应的问题。结论文中设计的液位测距系统是基于STC12C5A08S2单片机为核心控制器,采用了HC—SR04超声波测距集成模块。由单片机的P1.3口控制超声波的发射,P1.4口控制回波信号的检测。通过软件给P1.3口送至少20uS的高电平即可启动发射超声波,检测P1.4口的电平信号变化,P1.4口由低电平变高电平时启动单片机T0计数器进行计数,P1.4口由高电平变低电平时停止计数。由于单片机工作频率为11.0592MHz,则记一次数就是1uS,从而解决了超声波传播时间的计算问题。采用DS18B20数字温度传感器实时采集温度值对声速V进行修正,从而解决了温度补偿问题。从调试过程和调试结来果看,虽然没有出现预期的结果显示,但是经过了一番的排查,找到了问题的根源,鉴于调试时间的紧迫性,未能及时更换模块解决问题,确实有些遗憾,但是通过一些列的设计,从硬件电路到软件部分设计,再小到编程的细节问题,自己确实学到了很多。任何系统设计都或多或少存在着一定的误差,而文中设计的液位测距系统也不例外。对于误差的分析,相信随着超声波测距集成模块的技术改进误差会随之减少。就本系统设计而言,由于软件部分采用的是汇编语言编程,在时间的准确度上做到很好,但在数据处理上采用了很多的近似处理,从而给测量结果带来了一定的误差。针对这种情况,可以考虑采用汇编与C语言相结合来编程,充分利用两者的优势来减少测量误差。致谢本液位测距系统设计是在我的导师吴才章教授的悉心指导下完成的。我真的很庆幸有这样一位知识渊博、认真负责的导师。在大学最后的这几个月的相处和沟通中,我受益匪浅。吴老师不仅给我辅导了系统设计原理和单片机的相关知识,还为我提供了很多硬件设备帮助我更好的了解系统的工作原理,对我的毕业设计有很大的帮助。此外,在吴老师的实验室里,我还有幸掌握了一些其他设备的使用和操作方法,学到了一些吴老师所做科研项目的知识,相信这些都是我在别处无法学到的。在此我由衷的感谢吴老师的耐心指导和帮助,相信在以后的工作和学习中我会努力做到更好。此外,我要感谢我的专业课老师们,他们引导我入门并掌握基础知识,要知道这是所有扩展的开始!我还要感谢身边可爱的同学们和实验室里尽职尽责的学长研究生们,尤其是我的学长王继伟同学。他在单片机的汇编语言方面很有建树,给了我很大的帮助和建议。从Keil软件的入门到汇编语言的细节问题,他都给了我耐心解释和指导。当我做完系统设计回过头看时,我觉得我的导师吴教授、我的学长王继伟,还有身边其他可爱的同学们,他们给我最大的帮助不是去解决什么具体的问题,而是在于遇到问题时该如何去解决。慢慢的我开始享受着去查各种文献资料,遇到硬件的使用时我会首先去找到相应芯片的技术手册,去了解芯片的管脚功能及相关的扩展功能,然后我会去查阅相关的应用资料啦,去学学高手们的应用经验喽!我觉得不论系统设计的怎么样,测量的精度高不高,关键是我们能全身心的投入到设计中去,真正弄懂系统的工作原理,自己动手去做,掌握去解决问题的方法和途径。最后,我还要感谢各位评委老师能在百忙之中查看我的系统设计说明书。由于阅历和经验的不足,这次系统设计中还存在着很多的缺陷和不足。我相信您的严格是对我的负责,您的批评是对我的认可,您的意见是我学习改进的方向参考文献[1]马莹,郑文斌.基于单片机的超声波液位检测系统设计[J].海峡科学,2007(10)[2]张敏,寇为刚.基于超声波的自动测距系统设计[J].自动化技术与应用,2011(04)[3]赵广涛,程荫杭.基于超声波传感器的测距系统设计[J].微计算机信息,2006(01)[4]莫德举,刘艳艳.超声波液位测量方法的研究[J].仪器仪表与分析监测,2007(01)[5]卜英勇.一种高精度超声波测距方法的研究[J].郑州大学学报,2006(27)[6]楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007.7[7]田志宏,曹建光,刘秀红.超声波传感器在电动轮椅车上的应用研究[J].传感技术学报,2007(20)[8]彭翠云,赵广耀,戎海龙.汽车倒车系统中超声波测距模块的设计[J].压电与声光,2008(30)[9]孙宝元,杨玉清.传感器及其应用手册[M].北京:机械工业出版社,2004.5[10]应崇福主编.超声学[M].北京:科学出版社,1990[11]MurugavelRaju.UltrasonicDistanceMeasurementWiththeMSP430.AplicationReportSLAA136A.2001[12]彭广亮.新型超声波液位计的开发研究[D].河北工业大学,2011[13]赵小强,赵连玉.超声波测距系统中的温度补偿[J].组合机床与自动化加工技术,2008(11)[14]赵亮,王余.基于AT89S51单片机超声波测距仪器设计[J].内江科技,2009(02)[15]姚来凤,冯益华,王丽.超声波及超声检测[J].山东轻工业学院学报(自然科学版),2007(02)[16]李冬梅.国内外液位计量仪表技术发展动向[J].仪器仪表用户,2002(05)[17]焦冰,唐慧强,叶松,温雅婷.液位测量中超声回波信号的采集与处理[J].测控技术,2010(08)[18]李戈,孟祥杰,王晓华,王重修.国内超声波测距研究应用现状[J].测绘科学,2011(07)[19]武锋,赵明.超声波液位计的选型及其在原型水位自动检测系统中的实际应用[J].治淮,2011(08)附录A汇编程序清单ORG0100HSTART:MOVR1,#40H;40H-43H为显示数据存放单元(40H为最高位)MOVR0,#44H;44H-46H为距离计算结果缓存单元(44H为最低位)MOVR2,#0BHCLEARDISP:MOV@R1,#00HINCR1DJNZR2,CLEARDISP;清显示单元MOVP0,#00HMOVTMOD,#05H;T0用作计数器工作在方式1MOVTH0,#00HMOVTL0,#00HREST:CLRP1.3 CLRP1.4 ;超声波模块复位START1:SETBP1.3MOVR0,#20HDJNZR0,$CLRP1.3;给P1.3口送至少20uS的高电平信号启动测距模块LOP1:JNBP1.4,LOP1 SETBTR0;P1.4口由低电平变为高电平时开启计数器T0LOP2;JBP1.4,LOP2 CLRTR0;P1.4口由高电平变为低电平时停止计数START2:MOVA,TH0MOVR7,AMOVA,TL0 MOVR6,AMOVR5,#11HLCALLWORK ;调用距离计算子程序MOVA,(44H) MOVB,#64HDIVAB MOVR1,#41H MOV@R1,A;百位放在41H单元内 MOVA,B MOVB,#0AH DIVABINCR1 MOV@R1,A;十位放在42H单元内INCR1 MOVA,B MOV@R1,A;个位放在43H单元内 MOVR2,#0C8H;测量间隔控制(约4mS×200=800mS)LOP3:LCALLDISPLAY DJNZR2,LOP3SJMPREST;*********距离计算子程序(S=计算值*17/1000cm)*********WORK:MOVA,R6MOVB,R5MULAB;(bc)H存在B中,(bc)L存在A中MOVR0,#44H MOV@R0,A ;(bc)L存入44H单元内 MOVR3,B;(bc)H存入R3 MOVA,R7 MOVB,R5 MULAB;a×c ADDA,R3;(bcH+acL)存入A中INCR0 MOV@R0,A;(bcH+acL)存入45H单元内 MOVA,B ;acH送入A ADDCA,#00H CLRCINCR0 MOV@R0,A;acH+进位和送入46H单元内 LCALLRIGHT RET;*********右移10次程序*********RIGHT:MOVR4,#10LOOP:MOVR0,#46H MOVA,@R0 RRA DECR0 MOVA,@R0 RRCA DECR0 MOVA,@R0 RRCA INCR0INCR0 DJNZR4,LOOP RET;*********显示子程序*********DISPLAY:MOVP0,#00HMOVP2,#0FFH MOVR1,#40HPLAY1:MOVA,@R1 ;取要显示的数作查表偏移量 MOVDPTR,#TAB ;指向字形表首 MOVCA,@A+DPTR;查表得字形码 MOVP0,A;发送显示相应字形MOVP2,#00H;选通第一个数码管 LCALLDL1MS INCR1PLAY2:MOVA,@R1 ;取要显示的数作查表偏移量 MOVDPTR,#TAB ;指向字形表首 MOVCA,@A+DPTR;查表得字形码MOVP2,#01H;选通第二个数码管 MOVP0,A;发送显示相应字形 LCALLDL1MS INCR1PLAY3:MOVA,@R1 ;取要显示的数作查表偏移量MOVDPTR,#TAB ;指向字形表首 MOVCA,@A+DPTR;查表得字形码MOVP2,#02H;选通第三个数码管 MOVP0,A;发送显示相应字形 LCALLDL1MS INCR1PLAY4:MOVA,@R1 ;取要显示的数作查表偏移量 MOVDPTR,#TAB ;指向字形表首 MOVCA,@A+DPTR;查表得字形码MOVP2,#03H;选通第四个数码管 MOVP0,A;发送显示相应字形 LCALLDL1MS INCR1ENDOUT:MOVP2,#0FFHMOVP0,#00H RETTAB:DB3FH,06H,5BH,4FH,66H;0、1、2、3、4DB6DH,0FDH,07H,7FH,6FH;5、6、7、8、9;*********延时程序*********DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1 RET END图一系统完整电气原理图基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究HYPERLINK"/detail.

温馨提示

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

评论

0/150

提交评论