1、东北石油大学本科生毕业设计(论文) 摘 要本系统以AT89S52单片机为核心,利用超声波测距原理,通过硬件电路和软件编程实现对液位高度的检测。其主要原理是由单片机控制超声波测距模块DYP-ME007发射超声波,遇到液面反射后模块接收回波,同时单片机记录所用时间。为了提高精度,计算时涉及到温度补偿。将测得的温度与时间带入相应公式,即可求得当前液位。最后通过LCD液晶不断更新显示当前温度与液位。若液位超出预设的最低值或最高值,液晶显示警告,同时蜂鸣器报警。硬件部分包括AT89S52单片机,DYP-ME007超声波测距模块,12864LCD液晶显示模块,DS18B20温度测量模块和蜂鸣器报警模块。软
2、件设计分为两部分,主程序和中断服务程序。主程序完成初始化、超声波发射和接收,温度测量,距离计算、结果显示等大部分主要工作。中断服务子程序主要完成时间值的读取。关键词:单片机;超声波测距;液位测量;温度补偿AbstractThe system use the AT89S52 microcontroller as the core, using ultrasonic ranging principle, through a combination of hardware and software, and debugging, and ultimately to the liquid level
3、detection. The main principle is controlled by the microcontroller module DYP-ME007 ultrasonic distance ultrasonic transmitter, and receives the echo reflected surface encountered while recording the time used microcontroller. For improved accuracy, temperature compensation calculations involved. Th
4、e measured temperature and time into the appropriate formula to obtain the current level. Last updated through the LCD liquid crystal display the current temperature and level. If the level exceeds the preset minimum or maximum value, liquid crystal display a warning buzzer alarm. AT89S52 microcontr
5、oller hardware including, DYP-ME007 ultrasonic distance measuring module, 12864LCD LCD module, DS18B20 temperature measurement module and the buzzer alarm module. Software design is divided into two parts, the main program and interrupt service routine. Main program to initialize, transmit and recei
6、ve ultrasound, temperature measurement, distance calculation, the results display most of the major work. Interrupt service routine reads the key values of completion time.Key words: SCM; Ultrasonic distance measurement; liquid level measurement; temperature compensation目 录第1章 概 述11.1 课题的背景和意义11.2 液
7、位测量系统的现状21.3 液位传感器的发展方向31.4 国内外液位监测技术的发展现状31.5 本章小结4第2章 超声波测液位系统52.1 超声波与超声波传感器52.2 超声波测液位原理52.3 超声波测距原理62.4 总体方案设计72.5 本章小结8第3章 硬件系统设计93.1 单片机系统93.2 发射电路方案比较123.3 接收电路方案比较143.4 DYP-ME007超声波测距模块163.5 LCD显示模块203.6 温度测量模块223.7 报警模块233.8 单片机主机系统电路243.9 本章小结25第4章 软件系统设计264.1 总体设计思想264.2 系统主程序274.3 温度补偿与
8、距离计算子程序294.4 基于DS18B20的测温子程序304.5 基于LCD12864的显示子程序324.6 本章小结34第5章 系统调试分析355.1 硬件调试355.2 实验数据365.3 误差分析36结 论37参考文献38致 谢39附录1 原理图40附录2实物图41附录3 源程序42II东北石油大学本科生毕业设计(论文)第1章 概 述本文将介绍以AT89S52单片机为核心的超声波测液位系统的研制,构建超声波测液位电路及模块,包括发射电路,接收电路,显示模块,报警模块,测温模块,测距及温度补偿模块。对各个模块编写程序,实现对外接在单片机上的超声波收发装置的控制,进而测量并显示液位,超出范
9、围后可报警,测量范围在2cm-400cm,测量精度1cm,符合实际需要。1.1 课题的背景和意义在日常生产和生活中常遇到液位的监测问题。尤其在许多工业生产系统中,需要对系统的液位或物料位进行监测,特别是对具有腐蚀性的液体液位的测量,传统的电极法是采用差位分布电极,通过给电脉冲来检测液面,电极长期浸泡在液体中,极易被腐蚀、电解、失去灵敏性,因而对测试设备的抗腐蚀性要求较高1。超声波液位检测系统,利用了超声波传感技术的原理,采取一种非接触式的测量方法,能够实现对工业系统中液位或物料位的检测;而且超声波具有很好的指向性和束射特性,人耳听不见,一般不会对人体造成伤害。监控工程实施方便、迅速、易做到实时
10、控制,而且测量精度又能达到工业实用的要求,所以有广泛的应用前景2。为了降低工人的劳动强度,改善工人的工作环境,节省财力、物力,避免资源的浪费,特别是对一些具有高温、高压、低温、低压、有辐射性、毒性、易挥发易爆等液体,利用超声波进行液位检测,实现非接触式的测量显得尤为重要。液体液位的准确测量是实现生产过程检测和实时控制的重要保障,也是实现安全生产的重要环节。液体罐内液位测量的方法有很多种,其中超声波传感器由于结构简单、体积小、费用低、信息处理简单可靠,易于小型化与集成化,并且可以进行实时控制,所以超声波测量法得到了广泛的应用3。1.2 液位测量系统的现状液位测量广泛应用于石油、化工、气象等部门。
11、实现无接触、智能化测量是液位计目前的发展方向。随着工业的发展,计算机、微电子、传感器等高新技术的应用和研究,近年来液位仪表的研制得到了长足的发展,以适应越来越高的应用要求4。从测量范围来说,有的液位计只能测量几十厘米,有的却可达几十米。从测量条件和环境来说,有的非常简单,有的却十分复杂5。例如:有的是高温高压,有的是低温或真空,有的需要防腐蚀、防辐射,有的从安装上提出苛刻的限制,有的从维护上提出严格的要求等。按测量液位的感应元件与被测液体是否接触,液位仪表可以分为接触型和非接触型两类。接触型液位测量主要有:人工检尺法、浮子测量装置、伺服式液位计、电容式液位计以及磁致伸缩液位计等。它们的共同点是
12、测量的感应元件与被测液体接触,即都存在着与被测液体相接触的测量部件且多数带有可动部件。因此存在一定的磨损且容易被液体沾污或粘住,尤其是杆式结构装置,还需有较大的安装空间,不方便安装和检修。非接触型液位测量主要有超声波液位计、微波雷达液位计、射线液位计以及激光液位计等6。顾名思义,这类测量仪表的共同特点是测量的感应元件与被测液体不接触。因此测量部件不受被测介质影响,也不影响被测介质,因而其适用范围较为广泛,可用于接触型测量仪表不能满足的特殊场合,如粘度高、腐蚀性强、污染性强、易结晶的介质。目前,市场上的液位仪表功能各异,价格差异也较大。从价格和功能上比较,国内和国外产品存在较大的差异:国外的液位
13、测量仪表,功能较全,精度较高,但价格比较昂贵;而国内产品其功能和精度相对较低,但价格自然相对便宜。国外液位计量仪表早期大多采用机械原理,但近年来随着电子技术的应用,逐步向机电一体化发展,并且发展了许多新的测量原理。在传统原理中也渗透了电子技术及微机技术,结构有了很大的改善、功能有了很大的提高。从国外液位仪表发展的技术动向看,当前主要有三个热点:接触测量方式的液位仪,非接触测量方式的液位仪和新原理的小型液位开关7。1.3 液位传感器的发展方向现在很多液体都装在封闭式容器内,研究无需对被测容器开孔的超声波液位仪,实现非接触测量,是检测封闭容器内易挥发、易燃、易爆等液体液位的发展方向。超声波液位仪是
14、非接触液位仪中发展最快的一种。该技术基于超声波在空气中的传播速度及遇到被测物体表面产生反射的原理8。智能化的超声波液位仪带有一个功能很强的智能回波分析软件包。它可以将各种干扰过滤出来,识别多重回波,分折信号强度和环境温度等有关信息,这样即便在有扰动条件下读数也是精确的。超声波液位计具有广泛的适用性,可以根据不同测量场合的需要,采用气体介质、液体介质或固体介质导声。既可用来测量航道、水库的液位高度,也可以测量液化气罐、化工塔等密闭容器内的液位高度。由于超声波液位计没有可动部件,不存在机械磨损、机械故障,因而其可靠性和使用寿命比多数接触型液位计要高。1.4 国内外液位监测技术的发展现状储罐液位测量
15、来源于石油和化工业,是工业测量中极为广阔的领域。准确的液位测量是生产过程控制的重要手段。早期,由于工业领域生产规模不大,储罐液位测量主要采用法兰式液位变送器和吹气式等机械式测量方法。但随着生产规模的进一步扩大,所需的储罐数量变多,体积变大,原先的测量方法的弊端愈发变得突出,一系列问题的解决有待于新的测量方法的出现。从上世纪八十年代开始,一些发达国家就借助微电子、计算机、光纤、超声波、传感器等高科技的研究成果,将各种新技术、新方法应用到储罐测量领域。电子式测量方法便是其中的重要成果之一。据2002年美国市场调查结果表明,电子式测量仪的使用率占市场的76%左右,机械式仅占15%。用于储罐液位测量的
16、众多电子式技术中,压电式、超声波式、应变式、浮球式、电容式五种测量技术应用最为广泛,约占总数的60%以上。其中,超声波式测量技术的应用份额预计在2007年占到最大。超声波液位测量有很多优点:它不仅能够定点和连续检测液位,而且能够方便地提供遥控或遥控所需的信号。与放射性技术相比,超声技术不需要防护。与目前的激光测量液位技术相比,超声方法比较简单而且价格较低。一般说来,超声波测位技术不需要有运动的部件,所以在安装和维护上有很大的优越性9。特别是超声测位技术可以选用气体、液体或固体来作为传声媒质,因而有较大的适应性。所以在测量要求比较特殊,一般测位技术无法采用时,超声测位技术往往仍能适用。1.5 本
17、章小结本章是全文的开篇概述,主要介绍了本题目的提出意义,液位测量系统的现状,液位传感器的发展方向,以及国内外液位监测技术和超声波测距方面的发展现状。为下文的深入研究做了充分的铺垫。第2章 超声波测液位系统在本设计中,是利用超声波的传播与反射进行液位测量,所以详细了解有关超声波与超声波测距理论是非常必要的。2.1 超声波与超声波传感器所谓超声波就是指频率高于 20kHz 的机械波,一般由压电效应或磁致伸缩效应产生;它沿直线传播,频率越高,绕射能力越弱,但反射能力越强;它还具有强度大、方向性好等特点,为此,利用超声波的这些性质就可制成超声波传感器。超声波传感器是利用超声波在超声场中的物理特性和各种
18、效应研制而成的传感器。超声波传感器按其工作原理可分为压电式、磁致伸缩式、电磁式等,其中以压电式最为常用11。压电式超声波传感器常用的材料是压电晶体和压电陶瓷,它是利用压电材料的压电效应来工作的:逆压电效应将高频电振动转换成高频机械震动,从而产生超声波,可作为发射探头;而正压电效应是将超声波振动转换成电信号,可作为接收探头。2.2 超声波测液位原理超声波液位测量其实就是要测量超声波测距仪到液面的距离,如果超声波测距仪安装在底部,测得的距离即为液位高度,如果超声波测距仪安装在液面上方,需要通过换算来算得液位高度(容器总高度减去测得的距离即为液位高度)。本文选择把测距仪安装在液面上面,测距仪安装相对
19、方便些。利用超声波在液体中传播时,有较好的方向性,且传播过程中能量损失较少,遇到分界面时能反射的特性,可用回波测距的原理,测定超声波发射后遇液面反射回来的时间,以确定液面的高度。超声波液位检测原理图如图2-1所示。待测液体超声波测距模块SHh图2-1 超声波液位测量原理图由图2-1可知,h=H-S,式中S为超声波测距模块到液面的距离,可经测量得到,H为超声波探头到容器底的距离,需要提前测定,h 即为所要测的液位高度。那么可以看出,测量液位的关键步骤是对模块到液面距离的测量,核心理论是超声波测距原理。2.3 超声波测距原理 超声波测距原理是本设计的理论核心,要测液位首先要测得液面到容器顶部的距离
20、。此距离由单片机控制,利用超声波测距理论求得。超声波测距的方法有多种,如相位检测法、声波幅值检测法和往返时间检测法卧劝。相位检测法虽然精度高,但检测范围有限,声波幅值法易受反射波的影响。在超声检测技术,特别是超声测量技术中使用最广泛的是超声波回波检测法,通过测量超声波经反射放大后到达接收端的时间与发射时间之差,实现距离测量,称为TOF(Time of Flight)方法,也叫渡越时间法12。渡越时间法实现简单,被广泛的应用于声学测距系统。它的原理是:超声波传感器发出单个或一组超声波脉冲,在发射时刻同时计时器开始计时,超声波在空气中传播,遇到障碍物时会被反射,经过反射到达超声波接收端,此时停止计
21、时器计时,得到的时间t就是超声波在发射器和被测目标之间来回传播的时间。根据当前环境下超声波的传播速度,即可通过公式2-1计算出超声波传播的距离,也就得到了障碍物离测试系统的距离。原理如图2-2所示,t=T1+T2。超声波传播距离公式:(2-1)式中 S 为被测距离,v 为超声波传播速度,t 为回波时间。T1T2图2-2 超声波测距原理图2.4 总体方案设计该系统由主要由AT89S52 单片机、超声波接收发射模块,液晶显示模块,温度测量模块,报警模块组成。系统框图如图2-3所示。图 2-3 总体思想框图AT89S52 单片机是整个系统的核心部件,协调各部件的工作。单片机控制发射模块产生40kHz
22、的频率信号来驱动超声波传感器,每次发射包含若干个脉冲(发射持续约0.15ms),当第一个超声波脉冲发射后,计数器开始计数,在检测到第一个回波脉冲的瞬间,计数器停止计数,这样就能够得到从发射到接收的时间t;温度测量模块也将现场环境温度数据采集送到单片机中,提供计算距离时对超声波传播速度的修正13。最终单片机利用上述公式2-1和公式2-2计算出被测距离,然后与系统预设距离比较,如果小于预设最低液位或者大于预设最高液位,单片机启动报警电路通知工作人员进行人为干预。完成这些步骤进行第二次超声波发射。在这过程中单片机LCD液晶显示电路不断的更新液位值与当前温度。温度补偿公式: (2-2)式中T为当前环境
23、的温度,v为补偿后的波度。整体电路的控制核心为单片机AT89S52。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波收发模块通过TRIG、ECHO、VCC、GND四条口线连接到单片机实现超声波的发射和接收。另外还有温度测模块测量当时的空气温度,把温度数据送到单片机后使用温度补偿程序对超声波的传播速度进行调整,使测量精度能够达到要求。该测距装置是由超声波模块、单片机、和LCD显示电路组成。传感器输入端与发射接收电路组成超声波测距模块,模块的输入输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。2.5 本章小结本章就本次设计的的理论基础进行了介绍,包括超
24、声波与超声波传感器,超声波测液位原理,以及其中最重要的超声波测距原理。这些理论将支持下文的硬件设计与软件设计部分。第3章 硬件系统设计硬件电路和软件程序是组成一个系统不可缺少的两部分,而硬件的正确与否将直接影响整个程序的可实现性。在这一章中将就系统的硬件部分的各个模块分别予以介绍和说明。包括硬件的核心控制部分AT89S52单片机,DYP-ME007超声波接收发射模块,12864LCD液晶显示模块,DS18B20温度测量模块,蜂鸣器报警模块。3.1 单片机系统3.1.1 单片机系统概述单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器(Microcontroller)。通常,单片机由
25、单块集成电路芯片构成,内部包含有计算机的基本功能部件:CPU(Central Processing Unit,中央处理器)、存储器和I/O接口电路等。因此,单片机只需要与适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机内部结构如图3-1所示。图3-1 单片机内部结构3.1.2 嵌入式系统简介单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。从此,计算机技术在两个重要领域通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。嵌入式系统无疑是当前最热门、最具有发展前景的IT
26、应用之一。嵌入式系统的应用可以使传统的电子系统升级成为智能化的电子产品,使其成为具有“生命”的现代化智能系统。嵌入式系统一般应用于对实时响应要求较高的设备中,单片机作为嵌入式系统的核心部件,其应用使电子系统的智能化出现了意想不到的效果,常常无需对硬件资源做任何改动,只需更新系统软件就能使系统功能升级。现代社会中嵌入式系统无处不在,早已被应用在国防、国民经济、以及人们日常生活的各个领域。3.1.3 AT89C系列单片机AT89C系列单片机是Atmel公司生产的一款标准型单片机。其中数字89是单片机AT89C51的特性,C表示CMOS工艺。其管脚图如图3-2所示。P0口:P0口为一个8位漏级开路双
27、向I/O口,每脚可吸收8TTL门电流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1
28、(记时器1外部输入)图3-2 AT89C系列单片机管脚图P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。ALE/PROG:当访问外部存储器时,锁存地址的地位字节。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平
29、时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 发射电路方案比较(1)由分立元件构成图3-3是由两只普通低频小功率三极管C9013构成的振荡、驱动电路,三极管T1、T2构成两级放大器,但是由于超声波发射头的正反馈作用,这个原本是放大器的电路变成了振荡器。超声波发射器的压电晶片可等效于一个串联LC谐振电路,具有选频作用,因此该振荡器只能振荡在超声波发射头的固有谐振频率。第二个图中用电感L替代这样可以增大激励电压,使其具有较大的功率输出。图3-3 分立元件构成
30、的超声波发射电路(2)由555定时器构成图3-4为由555集成芯片构成的振荡、调制、激励电路。该电路应使用双极型555(内部电路由普通三极管构成),不宜使用单极型7555(内部电路由CMOS电路构成,外部引脚与555相同),其原因是7555带负载能力小。图3-4 555构成的超声波发射电路(3)由非门构成图3-5是由非门构成的一个振荡器发送电路,用非门构成的电路简单,调试容易。很容易通过软件控制。图中把两个非门的输出接到一起的目的是为了提高其吸入电流,电路驱动能力提高。图3-5 由非门构成的超声波发射电路3.3 接收电路方案比较(1)由分立元件构成图3-6 为由三极管T1,T2和若干电阻电容组
31、成的两级阻容耦合交流放大电路。第一级中为集电极负载电阻;为偏流电阻,同时引入了交直流并联电压负反馈,可以较有效的稳定静态工作点,改善非线性失真以及增益的稳定性;是发射极负反馈电阻,引入直、交流串联电流负反馈,具有稳定工作点、增益、改善失真、提高输入阻抗等作用。图3-6 分立元件构成的超声波接收电路(2)由运算放大器构成图3-7是由运放构成的超声波放大电路,该电路的形式在其他应用中经常遇到,特点如下:一般式用运放组成的放大电路都要求对称的正负电源供电,这里以单电源供电,输出端的静态电位必须设置在1/2的电源电压,这由同相输入端的点位来确定,和分压取得1/2的电源电压加到运放的同相输入端,使其电位
32、1/2电源电压。采用同相端输入方式其输入阻抗高,超声波接收传感器的输出信号接到放大器的同相端,有利于超声波传感器充分发挥接收灵敏度和自生的选频作用。反相端对地不提供直流通路,因此通过隔直电容提供直流通路。图3-7 运放构成的超声波接收电路(3)由CX20106A构成图3-8 CX20106构成的接收电路以上为常用的发射和接收电路,分立元件构成的收发电路容易受到外界的干扰,体积、功耗也比较大。而集成电路构成的发射和接收电路具有调试简单,可靠性好,抗干扰能力强,体积小,功耗低的优点,所以首先考虑采用集成电路来组成收发电路。3.4 DYP-ME007超声波测距模块虽然接收发射电路经过各种方案的分析比
33、较后有了最佳选择,但为了本设计最后成果的测量准确性,和考虑到人工焊接的不确定因素所带来的误差风险,本设计最后选用DYP-ME007超声波测距模块代替焊接在面包板上的接收发射电路。3.4.1 模块特点与工作原理 DYP-ME007 超声波测距模块可提供2cm-400cm 的非接触式距离感测功能;测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。 该模块使用方法简单,一个控制口发一个10以上的高电平,模块即自动发送8个40kHz的方波,自动检测是否有信号返回。发射后即可在接收口ECHO等待高电平输出,一有输出就可以开定时器计时,当接收口ECHO变为低电平时就可以读定时器的值,高电平
34、持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*波速)/2。如此不断的周期测,就可以达到移动测量了。实物图如图3-9,如图接线,VCC 供 5V 电源,GND为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。图3-9 超声波测距模块实物图3.4.2 模块电气参数 超声波测距模块参数工作电压DC 5V工作电流15mA工作频率40Hz最远射程4m最近射程2cm测量角度15 度输入触发信号10uS 的 TTL 脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm 表3-1 模块电气参数3.4.3 模块内部结构(1)发射部分由模块中产生的40k
35、Hz的方波需要进行放大,才能驱动超声波传感器发射超声波,发射驱动电路其实就是一个信号放大电路,本模块所选用的是74HC04集成芯片,图3-10为模块发射电路图,与自己预想的发射电路十分相似。图3-10 模块发射电路74HC04内部集成了六个反向器,同时具有放大的功能。74HC04的管脚如图3-11所示。图3-11 74HC04管脚图(2)接收部分超声波接收头接收到超声波后,转换为电信号,此时的信号比较弱,必需经过放大。本模块采用了LM741对接收到的信号进行放大,接收电路如图3-12所示。图3-12 模块接收电路超声波探头接收到超声波后,通过声电转换,产生一正弦信号,其频率为传感器的中心频率,
36、即40kHz。该信号通过C1高通滤波后经LM741放大,最后经二极管整形后输出到单片机中断口。LM741是一单运放集成芯片,如图3-13为LM741管脚图。其板上接线方式为,VCC、TRIG(控制端)、ECHO(接收端)、OUT(空脚)、GND。 图3-13 LM741管脚图3.4.4 超声波时序图图3-14 超声波时序图图3-14表明你只需要提供一个 10 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。 回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:距离=高电平时间*声速
37、(340M/S)/2;测量周期尽量为 60ms 以上,以防止发射信号对回响信号的影响。3.5 LCD显示模块在很多单片机系统中,数码管是常用的显示器件。数码管的体积小、重量轻、功耗低,是一种理想的显示单片机数据输出的器件。但考虑到本系统的显示要求,为了使温度和液位高度同时准确清晰的显示,所以本系统的液位显示部分采用 12864 液晶显示模块,它同样具有体积小,功耗低,使用方便的特点。其与单片机的连接方式如图所示。图3-15 液晶接口示意图12864有两类,一类是不带字库的,一类是带字库的。带字库就是屏本身的存储器里面有数字、英文字符、汉字等对应的模。为了减少工作量和减少出错率,本设计选用带字库
38、的12864液晶。其基本特性如下:(1)显示分辨率:12864点;(2)内置汉字字库,提供8192个1616点阵汉字;(3)内置 128个168点阵ASCII字符;(4)通讯方式:串行、并行可选。本设计选用并行方式。 表3-2 12864液晶管脚说明引脚号 引脚名称 功能说明 1 VSS 模块的电源地 2 VDD 模块的电源正端 3 VLLCD驱动电压输入端(调对比度) 4 RS(CS) 并行的数据(H)/指令(L)选择信号(串行的片选信号) 5 R/W(SID) 并行的读(H)/写(L)选择信号(串行的数据口) 6 E(CLK) 并行的使能信号(串行的同步时钟) 7 DB0 并行数据0 8
39、DB1 并行数据1 9 DB2 并行数据2 10 DB3 并行数据3 11 DB4 并行数据4 12 DB5 并行数据5 13 DB6 并行数据6 14 DB7 并行数据7 15 PSB 并/串行接口选择:H-并行;L-串行 16 NC 空脚 17 /RST复位 低电平有效 18 NC 空脚 19 LED_A 背光源正极 20 LED_K 背光源负极 3.6 温度测量模块稳定准确的超声波传播速度是保证测量精度的必要条件,而超声波在空气中传播时,其速度受到了温度,湿度,粉尘,大气压,气流等因素的影响,其中温度影响最大,而超声波在空气中的速度与温度的关系的表达式为c=331.5+0.607T,式中
40、T是环境摄氏温度,所以温度每变化1摄氏度,声速的变化为0.6m/s,可见温度对声速的影响很大,测量时必须进行温度补偿。而想要实现温度补偿,就必须先要对当前温度进行测量。本设计使用DS18B20进行温度测量。DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器,测温范围为-55125摄氏度,最大分辨率可达0.0625摄氏度。与传统的热敏电阻相比, 他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数表方式。可以分别在93175ms和750ms内完成9位和12位的数字量, 并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线
41、(单线接口) 读写, 温度变换功率来源于数据总线, 总线本身也可以向所挂接的DS18 B20供电, 而无需额外电源。因而使用DS18B20可使系统结构更趋简单, 可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS18B20 有了很大的改进, 给用户带来了更方便的使用和更令人满意的效果。测温电路如图3-16所示。图3-16 DS18B20原理图3.7 报警模块本次设计通过一只蜂鸣器来提示用户液位值过大或过小。蜂鸣器是一种一体化结构的电子发声器件。它分为电磁式蜂鸣器和压电式蜂鸣器。本设计采用的是压电式蜂鸣器。其主要部分多谐振荡器由晶体管或集成电路构成,当接通电源后(1.515V直流工
42、作电压),多谐振荡器起振,输出1.52.5kHz的音频信号,阻抗匹配器推动压电蜂鸣片发声。驱动:蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它。单片机IO引脚输出的电流较小,单片机输出的电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。 改变单片机P2.1引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音调的声音。改变P2.1输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。 图3-17 蜂鸣器原理图3.8 单片机主机系统电路3.8.1 复位电路单片机在RESET端加一个大于20ms正脉冲即可实现复位,上电复位和按钮组
43、合的复位电路如图3-18:图3-18 单片机复位电路在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐上升,RST电位下降,于是在RST形成一个正脉冲。只要该脉冲足够宽就可以实现复位,即。一般取,。当人按下按钮S1时,使电容C1通过R1迅速放电,待S1弹起后,C再次充电,实现手动复位。R1一般取。3.8.2 时钟电路当使用单片机的内部时钟电路时,单片机的XATL1和XATL2用来接石英晶体和微调电容,如图所示,晶体一般可以选择3M24M,电容选择30pF左右。我们选择晶振为12MHz,电容33pF。图3-19 单片机时钟电路3.9 本章小结本章主要就本设计的硬件部分进行了分别的详细介
44、绍,包括超声波发射接收模块、显示模块、测温模块、报警模块以及单片机主机系统电路,通过文字叙述、原理图、电路图、结构图以及表格等结合起来,使读者对本设计的硬件部分有了充分的了解。第4章 软件系统设计4.1 总体设计思想因为本设计使用了超声波测距模块,此模块功能完善,所以使得软件设计趋于简单化。整个程序没有使用外部中断,而只使用一个计数器T0即可完成。T0用来测量从超声波发射到接收所用的时间,当T0溢出中断则判断超过模块测距范围,并将中断标志位置1。起初设计的本意是用定时器T1来启动模块,但应用后因为设置初值和启动位置等问题导致测量不准确,而后为了便于理解和调试,测距模块改用函数来启动。软件设计分
45、为两部分,主程序和中断服务程序。主程序完成初始化、超声波发射和接收,温度测量,距离计算、结果显示等大部分主要工作。中断服务子程序主要完成时间值的读取。本系统采用的是11.0592MHz的晶振,计数器每计一个数大概就是,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式计算,即可得被测物体与测距仪之间的距离。测出距离后结果送往LCD显示约0.5s,然后再发超声波脉冲重复测量过程。本次设计使用C语言编写程序,与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解。寄存器分配、不同存储器的寻址及数据类型等细节,可由编译器管理。程序有规
46、范的结构,可分为不同的函数。程序调试时间显著缩短,从而提高了效率。提供的库包含许多标准子程序,具有较强的数据处理和方便的模块化编程技术。所以本次软件设计选用C语言来编程。总体设计思想流程图如图4-1。图4-1 总体设计思想流程图4.2 系统主程序void main( void ) TMOD=0x11; /设T0为方式1,GATE=1;TH0=0;TL0=0; TR0=1; xianshi(); /液晶显示汉字等内容while(1) /循环 StartModule(); /启动超声波测距模块 while(!RX); /当RX为零时等待TR0=1; /开启计数 while(RX); /当RX为1计数并等待 TR0=0; /关闭计数 Conut(); /计算液位并显示delay(80);cewen(); /测量温度并显示图4-2 主程序流程图4.3 温度补偿与距离计算子程序图4-3 温