超声波测距仪设计开发毕业论文.doc_第1页
超声波测距仪设计开发毕业论文.doc_第2页
超声波测距仪设计开发毕业论文.doc_第3页
超声波测距仪设计开发毕业论文.doc_第4页
超声波测距仪设计开发毕业论文.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

重庆邮电大学本科毕业设计(论文)超声波测距仪设计开发毕业论文目 录前 言1第一章 超声波测距系统工作原理2第一节 超声波概述2第二节 超声波传感器简介3一、压电式超声波传感器3第三节 超声波传感器原理5一、测距原理5二、超声波测量中盲区及近限和远限5三、提高测距仪的措施6第四节 超声波测距仪系统设计7一、论文设计内容7二、硬件设计内容7第五节 本章小结8第二章 系统硬件设计9第一节 电路原理设计9一、设计总体思路9第二节 主要元器件介绍9一、单片机STC89C529二、超声波传感器HC-SR0411三、显示电路LCD160214四、按键电路22五、下载电路22第三节 本章小结24第三章 系统软件设计25第一节 软件设计总体方案25一、主程序设计总体思路25二、测距子程序软件设计26三、显示程序设计27四、按键程序设计29第二节 本章小结31第四章 超声波测距的误差分析32第一节 超声波测距测量结果32一、测量结果32二、误差分析32第二节 本章小结34结 论35致 谢36参考文献37附 录38一、英文原文38二、英文翻译44三、电路图49四、源程序50前 言超声波是指频率在20kHz以上的声波,它属于机械波的范畴。近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。由于超声波测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差 值设定,直接显示各种液位罐的液位、料位高度。因此,超声波在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此可以广泛运用在工厂对模具经行校验的过程中,因此超声波测距在精确实时测量的研究上得到了广泛应用。超声波测距原理是发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=v*t/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。考虑到该系统应用场合不具特殊性,因此速度v选择常温下的速度344m/s。表1.1 超声波波速与温度的关系表温度()-30-20-100102030100声速(ms)313319325323338344349386第一章 超声波测距系统工作原理第一节 超声波概述声音是与人类生活紧密相联的一种自然现象,人们对声音早有认识,在人们的日常生活中存在着各式各样的声音。在科学史上,声学是发展最早的学科之一。然而,由于超声是人耳听不到的信号,直到18世纪,人们才开始研究海豚、蝙蝠等动物时,才推测自然界存在超声波。声波是一种能在气体、液体和固体中传播的机械波。根据声波振动频率的范围,可以分为次声波、声波、超声波和特超声波。当声的频率高到超过人耳的频率极限时,人们就觉察不出声的存在,我们称这种高频率的声为超声。频率高于人类听觉上限频率(约20000Hz)的声波,称为超声波,或称超声。超声波在介质中传输的速度即介质的声速。它是一秒钟超声波等相位面通过的距离,与介质的密度和弹性性质有关。对于液体介质,只能传播纵波。声速参数与声介质、声阻抗及生衰减等有很大关系。声速是随着介质及其状态(如温度)的不同而不同。如在常温下,空气中的声速约为344m/s,在水中的声速约为1440m/s,而在钢铁中约为5000m/s。除水以外,大部分液体的声速随温度的升高而增加。流体中的声速随压力的增加而增加。声速与介质的许多特性有关,有的关系非常直接,可有精确的理论公式,有的关系比较间接而复杂,但在特定条件下,也可建立一些经验公式,例如介质的成分、混合物的比例、溶液的浓度、某些液体的比重等,都可以与声速建立一定关系,这样就可以通过声速来测定这些特性参数。由于介质的温度、压强和流速等状态参量的变化都会引起响应的声速变化,因此出现了超声温度计和超声流量计等。在声速已知的介质中,可以利用身波传播距离L和传播时间t的关系L=vt,进行超声测距,超声液位计和超声测厚计就是这方面的典型应用。声阻抗是当声波从一种介质传播到另一种介质,在两个介质的分界面上一部分超声波被反射,另一部分透射过界面,在另一种介质内部继续传播。这样的两种情况称之为声波的反射和折射。由物理学可知,当波在界面上产生反射时,入射角的正弦之比等于波速之比,当入射波和反射波的波型相同时,波速相同,入射角度等于反射角。当波在界面处生折射时,入射角的正弦与折射角的正弦之比,等于入射波在第一介质中的波速与折射波在第二介质中的波速之比。超声波在两种介质的界面上的反射能量和透射能量的变化,取决于这两种介质的声阻抗之比。声阻抗定义为传声介质的密度与声速c的乘积,用Z表示。它是介质固有的一个常数,它的数值对超声波在介质中的传播非常重要,单位为瑞利(rayl)。超声波在弹性介质中传播时,会发生能量的衰减,其产生原因可分为三个方面: 由于波前的扩展而产生的能量损失; 超声波在介质中的散射而产生的能量损失,即散射衰减; 由于介质内耗所产生的吸收衰减。第二节 超声波传感器简介一、压电式超声波传感器压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。目前压电式换能器的理论研究和实际应用最为广泛,本文超声波测距选用的也是压电式超声波换能器。常见的压电材料有石英晶体、压电陶瓷、压电半导体、高分子压电材料等,压电效应包括正压电效应和逆压电效应3。逆压电效应是指将具有逆压电效应的介质置于电场中,由于电场作用介质内部正负电荷中心发生位置变化,这种位置变化在宏观上表现为产生了形变,形变与电场强度成正比。如电场反向,则形变亦相反。这一现象称为逆压电效应。利用逆压电效应能产生超声波。将适当的交变电信号施加到晶体上,晶体将发生交替的压缩和拉伸,因而产生振动,振动频率与交变电压的频率相同,若把晶体耦合到弹性介质中,晶体将充当一个超声源的作用,超声波将被辐射到那种介质中。正压电效应是指当对某电介质施加应力时,产生的变形将引起内部正负电荷中心发生相对位移而产生极化,在介质两端面上出现符号相反的束缚电荷,其电荷密度与应力成正比,这种效应称为正压电效应。利用正压电效应将机械能(即声能转换成电能,并用来接受超声波的装置,称为接收换能器。1、超声波传感器频率特性图1.1是超声波的频率特性曲线。图中,f0为超声波发射器的中心频率 ,在f0处,超声波发射器产生的超声机械波最强,也就是说,在f0处所产生的超声波声压能级最高。而在f0两测,声压能级迅速减小。因此,超声波发射器一定要使用非常接近中心频率的f0的交流电压来激励。由图1.1知,f0为中心频率,曲线在f0处最尖锐,输出电信号的幅度最大,信号f0处接收灵敏度最高。因此超声波接收器具有很好的频率选择特性,在构成遥测系统时一般不再设置选频电路。另外,超声波接收器的频率特性和输出端外接电阻有很大关系,如果R很大,(如大于100K)频率特性是尖锐共振的,并且在这个共振频率上灵敏度很高。如果R较小,(如小于10K)频率特性曲线变的平滑而且具有放宽的带宽,同时灵敏度也随着降低。并且最大灵敏度向着稍低的频率移动。因此,超声波接收器应于输入阻抗高的前置放大器配合使用,才能有较高的接收灵敏度。12011010080700灵敏度KHZf=40KHZ图1.1 超声波发射传感器的发射频率特性2、超声波传感器指向特性实际的超声波传感器中压电晶片是个小圆片,可以把表面上每个点看成1个振荡源,辐射出一个半球面波(子波),这些子波没有指向性。但离开超声波传感器的空间某一点的声压是这些子波叠加的结果(衍射),却有指向性。指向特性用指向图表示。下图1.2就是超声波传感器的指向图。超声波传感器的指向图是由一个主瓣和几个副瓣构成,其物理意义是=0声压最大,角度逐渐增大时,声压减小。超声波传感器的指向角一般为40度80度5。超声波传感器指向特性图如图1.2所示。图1.2 超声波传感器指向特性图第三节 超声波传感器原理一、测距原理超声波测距的方法有多种,如相位检测法、声波幅值检测法和往返时间检测法等。相位检测法虽然精度高,但检测范围有限;声波幅值检测法易受反射波的影响。本论文硬件设计采用超声波往返时间检测法,其原理为:检测从超声波发射器发出的超声波(假设传播介质为气体),经气体介质的传播到接收器的时间即往返时间。往返时间与气体介质中的声速相乘,就是声波传输的距离。而所测距离是声波传输距离的一半,即公式(1.3.1), L= vt/2 (1.3.1)在上式中,L为待测距离,v为超声波的声速,t为往返时间。若要求测距误差小于0.lm,已知声速v=344m/s(20时)。显然,直接用秒表测时间是不现实的。因此,实现超声波测距必须避开直接测量时间的方法,才能获得实用的测长精度。二、超声波测量中盲区及近限和远限用往返时间检测法测量距离时,障碍物与超声波传感器间的距离既不能太远也不能太近,存在着距离测量的近限和远限1。距离过远时,接收到的信号太弱,以致无法从噪声信号中分辨出来,这是远限存在的原因。在距离过近时,接收信号将落进盲区中而无法分辨出来,这是近限所以存在的原因。在使用一个探头同时充当发射和接收的情况下,由于在探头上施加的发射电压强达几十伏甚至上百伏以上,虽然发射信号只维持一个极短的时间,但停止施加发射信号后,探头上还存在一定的余振,因此在一段较长的时间内,加在接收放大器输入端的发射信号幅值仍是相当强的,可以达到限幅电路,引起探头振动,不能进行正确的测量,同时,探头上接收到的各种反射信号却远比发射信号小,即使是离探头较近处的液面反射信号也达不到限幅电路的限幅电平。当液面离探头越来越远时,接收信号与发射信号相隔时间越来越长,其幅值相应的越来越小。同时,接收信号的衰减程度总是要比发射信号余振的衰减慢得多。为了保证一定的信噪比,接收信号需要规定一个值,接收信号必须大于这个值,才能有输出信号。这就构成了远限的问题。在使用一个探头的情况下,发射信号的幅值要维持到低于引起探头振动时,接收信号才基本上摆脱了发射信号的影响而能够明显地分辨出来。所以把这段时间规定为盲区时间。当开始计时,测量超声波在空气中的传播时间才有效。但是,当探测距离很远时,为了增大发射功率,须采用特殊形式的大功率超声发射传感器,但这些传感器的接收灵敏度一般很低,甚至无法用于接收,在这种情况下,选用两个换能器分别用于发送和接收。而使用双探头方式,不仅可以增加探测距离,还可以减小盲区。由于发射探头上并不直接施加发射电压,所以,从理论上说,可以没有盲区。但是,由于接收电路多少会受到发射电路的感应,并且发射探头所发出的超声波可能有部分直接绕道接收探头,因此实际上仍存在一定的盲区,不过它要比单探头方式的盲区小很多。所以,在本实验中,我们选取了双探头的工作方式,减小盲区,同时提高检测的距离精度。三、提高测距仪的措施1、声速校正要想通过测量超声波传播时间确定距离,声速c必须恒定,实际上声速随介质、温度、压力等变化而变化。一般情况下,由于大气压力变化很小,因此传播速度主要考虑温度的影响。对一定介质,通常采用对温度进行修正的方法,可以测得比较准确的距离。通过对温度修正来校正声速的方法,即用测温元件测量实际环境。2、减小盲区减小盲区可以压缩发射脉冲宽度,发射端采用减幅振荡脉冲或单个脉冲,可使余震(拖尾)减少,此法常用于短距离测量距离。另外采用自动距离增益控制功能的接收放大器,使近距离的增益很小,远距离时的增益较大,这样一方面发射信号的余震幅度变小,相应的延续时间缩短,可以分辨出近处的接受回波信号,故可使盲区减少2。另一方面,可使远处的回波信号的幅度增大,以提高测量的精度。再次,超声波测距仪都有确定的量程。量程主要决定于接收信号的幅值应大于规定的阐值。这个阂值决定信噪比。噪声有两类,一类电噪声,在处理上同其它电子仪器一样,另一类为机械噪声,其中工业噪声频率较低,对液介式超声测距仪,工作频率较高,可以避开工业噪声频谱段。而气介式超声回波测距仪,一般频率都较低,易引入工业噪声。这时要求对环境噪声进行频谱分析,尽量避免与噪声频率重叠。第四节 超声波测距仪系统设计一、论文设计内容超声波测距仪开发设计论文将包括超声波测距系统工作原理,系统硬件设计,系统软件设计以及超声波测距仪误差统计与分析。前言。介绍了超声波测距仪所应用领域之广,以及本次设计所应用的工厂模具校正测量。指出了论文研究的基础、现实意义。并大致介绍论文研究内容及其结构。第一章,超声波测距系统工作原理。首先介绍了超声波的基本概念,然后介绍了超声波传感器,重点是压电式传感器。最后介绍了超声波传感器测距仪的测距原理,以及影响测距误差的因素。第二章,系统硬件设计。论文首先介绍了硬件设计的总体思路。然后分别着重介绍了单片机、显示电路、测距模块、按键电路、下载电路这几个主要硬件的功能与应用。第三章。系统软件设计。论文首先介绍了软件设计的总体思路。然后分别从主程序、测距子程序、按键程序、显示程序对硬件功能的实现进行介绍。第四章。超声波测距的误差分析。论文首先客观的记录了本次超声波测距仪的测量结果,然后对测量结果经行了细致的分析,最后提出了减小误差的方法和措施。二、硬件设计内容硬件设计上考虑到制作成本以及锻炼自己的动手能力,选用万用板自己焊接电路,但是由于自己考虑不够周全,硬件电路期间布局设计上造成跳线过多,设计外观不够美观。而且在最初设计上考虑到为了实现掉电保存数据功能,电路板上焊接了AT24C02芯片,但是在最后软件设计时,并没使用到这个芯片。电路板上还设计了复位电路,但是在调试过程中,由于功能都能满足而且效果较好,使得复位电路变得多余了。总之硬件设计上,功能完美实现,但是在最初整体布局规划上做的不够完善。第五节 本章小结超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。由于此次设计为短距离测量,为了提高分辨率,减小误差,故使用频率高的传感器。为了减少盲区,超声波发生器与超声波接收器尽量缩小间距。第二章 系统硬件设计第一节 电路原理设计一、设计总体思路主要由单片机系统,显示电路,超声波发射电路和超声波接收电路,按键电路四部分组成。利用单片机来实现对超声波传感器模块的控制,并且由定时器计算超声波传感器模块所返回的高电平持续时间,通过转换得出传感器与障碍物之间的距离。单片机及时将所测距离通过显示电路显示出来。按键电路提供了必要的附加功能8。结构框图如图2.1所示。图2.1 超声波测距系统结构框图第二节 主要元器件介绍一、单片机STC89C52STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选4。如图2.2.1所示。图2.2.1 STC89C52单片机1、工作参数 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意 选择,指令代码完全兼容传统8051; 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机);工作频率范围:040MHz,相当于普通8051的080MHz,实际工作 频率可 达48MHz; 用户应用程序空间为8K字节; 片上集成512字节RAM; 通用I/O 口(32个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻; ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片; 具有EEPROM功能; 共3个16位定时器/计数器。即定时器T0、T1、T2; 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可 由外部中断低电平触发中断方式唤醒7。2、引脚说明如图2.2.2所示。 P0:显示电路数据接口; P2.5-P2.7:LCD1602寄存器选择信号线、读写信号线、使能信号线; P1.2-P1.6:按键电路; P2.0:超声波传感器HC-SR04信号返回线; P2.1:超声波传感器HC-SR04启动信号线; P3.0-P3.1:MAX232串口信号线; P1.4:存入当前距离值; P1.5:查询已存历史距离值; XTAL1、XTAL2:外部时钟信号线5。图2.2.2 89C52引脚图二、超声波传感器HC-SR04HC-SR04超声波传感器模块可提供2cm-300cm的非接触式距离感测功能,测距精度可高达3mm;模块包括超声波发射器、接收器与控制电路6。实物图如图2.2.3所示。图2.2.3 HC-SR04超声波模块实物图1、HC-SR04主要参数表2.2.1 HC-SR04参数2、HC-SR04内部结构与工作原理该超声波传感器的内部结构及电路工作原理如图2.2.4和图2.2.5所示,该传感器主要包括两大部分:发射电路和接收电路。采用I/O触发测距,给至少10us的高电平信号,模块自动发送8个40kHz的方波,并自动检测是否有信号返回,当接收到回波时,通过I/O输出一高电平,高电平持续的时间t就是超声波从发射到返回的时间,测试距离s=(t*v)/212。v是超声波在空气中传播的速度。(1)、发射电路的设计超声波传感器的发射电路主要由方波发生芯片,40kHz的晶振和MAX232芯片构成,单片机给方波发生芯片触发信号后,方波发生芯片开始工作,产生40kHz的方波信号,电平转换芯片MAX232将TTL电平转换成可以驱动振荡器的高电压,进而产生所需的40kHz的超声波10。(2)、接收电路的设计本设计中采用了前置放大电路+带通滤波电路+后级放大电路。将接收到的波形经过整形、积分、检波、滤波和限幅放大等实现接收超声波的功能11。当距离较远时,回波信号会非常微弱,转换后的信号电平幅值很小,故要经过若干级放大,使输出功率达到一定要求,并且为了防止信号出现较大的失真,接收电路可以保证有4MHz的带宽。放大后的交流信号送入比较器后输出一个方波信号,并使触发器触发,向CPU发出中断请求。在中断服务程序中,读取计数器的计数值,结合温度补偿后的声速计算出测距仪距离障碍物的距离。图2.2.4 HC-SR04发射电路图2.2.5 HC-SR04接收电路三、显示电路LCD1602在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。液晶显示器显示质量高,由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。其次,液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。而且,液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。同时,相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。1、液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。(1)、线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)、字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3)、汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。2、1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。1602字符型液晶显示器实物如图2.3.1和图2.3.2所示。图2.3.1 LCD1602正面图2.3.2 LCD1602背面3、LCD1602的基本参数及引脚功能LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2.3.3所示:图2.3.3 LCD1602尺寸图LCD1602主要参数: 显示容量:162个字符; 芯片工作电压:4.55.5V; 工作电流:2.0mA(5.0V); 模块最佳工作电压:5.0V; 字符尺寸:2.954.35(WH)mm。引脚功能说明:LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.3.1和图2.3.4所示:图2.3.4 LCD1602显示电路表2.3.1 LCD1602引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。4、LCD1602的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表2.3.2所示:表2.3.2 控制指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。读写操作时序如图2.3.5和图2.3.6所示:图2.3.5 读操作时序图2.3.6 写操作时序5、LCD1602的RAM地址映射液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图2.3.6是1602的内部显示地址。图2.3.6 LCD1602内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。四、按键电路考虑到实现超声波测距仪的附加功能,本次设计一共设有5个4脚按键,分别对应的功能是锁定当前值便于记录、解锁并继续测距、在测距状态下存储当前距离值、查询已存的历史值、返回测距。5个按键分别于单片机的5个I/O口连接,当按下按键时单片机检测到对应的I/O口为低电平,即执行相应的程序。如图2.4.1所示。图2.4.1 按键电路五、下载电路1、MAX232MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平。每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。这些接收器具有1.3V的典型门限值及0.5V的典型迟滞,而且可以接收30V的输入。每个驱动器将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。所有的驱动器、接收器及电压发生器都可以在德州仪器公司的LinASICTM元件库中得到标准单元。MAX232的工作温度范围为0至70,MAX232I的工作温度范围为-40至85。内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。主要特点: 单5V电源工作; LinBiCMOSTM工艺技术; 两个驱动器及两个接收器; 30V输入电平; 低电源电流:典型值是8mA; 符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.28; ESD保护大于MIL-STD-883(方 法3015)标准的2000V。如下图2.5.1所示。图2.5.1 MAX232下载电路第三节 本章小结在硬件设计上由于直接使用的超声波传感器测距模块,使得硬件电路设计方面简化很多,也为软件编写提供了方便,使所测距离更准确,显示更及时。另外,在硬件设计上也有很多不足,比如电路整体布局上欠考虑,一开始没有很好的规划,造成了跳线过多,硬件不够美观。而且在最初设计中考虑到实现掉电保存距离值的功能,在电路板上添加了AT24C02芯片,但在软件调试过程中,芯片工作不稳定,于是放弃使用AT24C02的掉电寄存功能,直接使用片内寄存器存储距离值。再者,总体设计时设计了复位电路,但在后续软件调试中复位功能被其他功能所代替。总的来说,本次硬件设计不够完美,有待改进。第三章 系统软件设计第一节 软件设计总体方案一、主程序设计总体思路系统的主要功能是距离测量,整个系统软件程序包括主程序、测距子程序、显示子程序、按键子程序、以及各种中断子程序。主程序流程图如图3.1.1所示。系统软件程序大体上包括下面几个过程: 初始化LCD; 单片机对中断经行初始化,并开启总中断。; 单片机对超声波传感器Trig接口发出10us脉冲触发信号作为启动信号; Echo引脚检测到回波信号,关定时器,计算高电平持续时间,得出距离; 显示测量结果; 若有按键按下,执行相应的按键程序。开始系统初始化启动超声波传感器模块等待传感器返回信号计算所测距离是是否有按键按下执行按键程序否大于或小于预设值显示警告是否显示距离图3.1.1 主程序流程图二、测距子程序软件设计1、超声波传感器模块HC-SR04软件设计启动HC-SR04需要单片机I/O给Trig引脚一个10us的TTL脉冲触发信号,HC-SR04内部将发出8个40KHz周期电平并检测回波,一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:s=v*t/2,s为所测距离,v为声速,t为回响信号高电平持续时间。HC-SR04时序图如图3.2.1所示。图3.2.1 超声波测距模块HC-SR04时序图2、测距程序设计由定时器T0计算回响信号高电平持续时间,T0为方式1,启动模块后,等待,若检测到Echo变为1,开启计数,当Echo变为0,关闭计数,计算所测距离s。具体测距程序如下所示:void StartModule() /启动模块 Trig=1; /启动一次模块 delay_ms(5); Trig=0;void Conut_m(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.72)/100; /算出来是CM LCD_m(); 三、显示程序设计1、LCD1602的初始化程序void LCD_Init() Write_Cmd(0x38); /*显示模式设置*/ delay_ms(5); Write_Cmd(0x38); delay_ms(5); Write_Cmd(0x38); delay_ms(5); Write_Cmd(0x38); Write_Cmd(0x08); /*显示关闭*/ Write_Cmd(0x01); /*显示清屏*/ Write_Cmd(0x06); /*显示光标移动设置*/ delay_ms(5); Write_Cmd(0x0C); /*显示开及光标设置*/2、距离显示程序实现实时显示定时器T0测得的距离值s,并设定测量范围为2cm-3m,测量精度为cm,若超出或小于测量范围则显示警告“Warning”。具体显示程序如下: void LCD_m() uchar i;if(S=300)|(S=300)|(mid3)|flag=1) flag=0; Write_Cmd(0x00|0x80); i=0; while(line_datai!=0)Write_Data(line_datai);i+; Write_Cmd(0x40|0x80); i=0; while(warningi!=0)Write_Data(warn

温馨提示

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

评论

0/150

提交评论