超声波测距用LCD12864显示

时间:2022-09-07 12:48:03

超声波测距用LCD12864显示

【摘要】本设计采用AT89S52单片机本加超声波测距模块+LCD12864液晶模块设计而成,采用模块化的设计方案,利用超声波进行实时测距并用LCD12864实时显示。

【关键词】超声波测距;LCD12864;发射器;接收器;单片机

1.引言

随着科学技术的发展,超声波测距也越来越起到很大的作用。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如车辆上安装了超声波,给停车、避障提高了准确性,减少了交通事故的发生;如测距仪和物位测量仪等都可以通过超声波来实现。也可用于液位、井深、管道长度的测量等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制并且在测量精度方面也能达到工业实用的要求

2.模块介绍

2.1 超声波测距模块介绍

超声波测距模块可以直接购买如图1所示的模块,其模块有4个引脚输出,Vcc供5V电源,TRIG为触发控制输入端,ECHO为回响信号输出端,GND为地线。

该超声波测距模块可提供2cm-400cm的非接触式距离感测功能,模块内部包含了超声波发射器,接收器与控制电路。使用时,只要根据时序图,用程序来实现数据采集及显示。

2.2 LCD12864显示模块介绍

液晶显示模块是128*64点阵的汉字图形型液晶显示模块,课显示汉字及图形,内置国标GB2312码简体中文字库(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示(GDRAM)。可与CPU直接接口,提供并行与串行两种连接方式,但我们一般采用并行传输方式,和单片机的连接图如图3所示,具体使用可参考LCD12864的使用说明书,按照指令的要求去编写程序来实现实时显示。特别强调的是:

(1)当模块在接受指令前,先检查内部是否处于非忙碌状态,即读取BF标志,标志为0时,方可接受新的指令,可以专门用一个判断是否忙的函数来检测。程序模块如下:

(2)欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

(3)显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

(4)当字符编码为2字节时,应先写入高位字节,再写入低位字节。

汉字的显示坐标如表1所示,定义显示值时,在程序编写时要设置好。

具体实施时,只要给出两个参数,即可在相应位置显示,程序代码如下:其中y表示第几行,x表示起始行位置。

有了以上这些基本的简介后,我们就可以很容易根据LCD12864的说明书,分别写出写指令写函数等,然后把超声波测出的距离值实时代入给液晶显示函数,从而实时显示出超声波测出的前方障碍物的距离值。

3.超声波测距并显示的硬件设计

3.1 系统框架图(如图2所示)

3.2 单片机与超声波模块连接并显示的原理图

其原理图很简单,就是单片机的最小系统模块加常用的LCD12864显示模块,还有就是超声波测距模块的4个引脚,具体原理图如图3所示。

3.3 超声波测距的工作时序图

有了系统框图及原理图和超声波的工作时序图(如图4),我们就很容易利用单片机来实时测距并实时显示。以上时序图表明单片机在控制时只需要提供一个10uS以上的脉冲触发信号,该模块内部讲发出8个40Kz周期电平并检测回波。一旦检测到有回波信号则输出回波信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号的时间间隔可以计算得到距离。对于12864的显示原理及显示时序在此不再详述。

4.超声波测距原理及软件设计

超声波测距的基本原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。首先给TRIG端触发测距,给至少10uS的高电平信号,以此来触发内部的发射器产生40KHz的超声波,同时单片机不断检测是否有回波,当一检测到回波信号是高电平,马上启动定时,开始计时,同时开中断,通过ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。所以测量距离为:

测量距离=(时间*声速(340M/S))/2具体流程图如图5。

建议测量周期在60ms以上。计算是取出的值如何转换,首先把定时器的值取出合并,然后根据晶振值换算出距离公式,具体程序模块如下:

注意事项:

(1)在使用时,如果温度变化不大,则可认为声速是基本不变的。

(2)此模块不宜带电连接,若要带电连接,则先让模块的接地端接地。

(3)测距时,被测物体的面积不少于0.5平方米且平面尽量要求平整,否则影响测量结果。

(4)由于超声波有测量盲区的固有特性,因此,如果近距离测量时,当测量位置发生变化而接收到的数据不变时,说明进入了测量盲区。

(5)模块在测量远处物体时,如果没有测量数据返回,可能是超出测量范围,或是测量角度不对。可以适当调整测量角度。

5.结语

本设计软件采用模块化设计,硬件设计简单实用利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,所以超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现,在移动机器人小车上经常加个舵机,利用超声波测距就可以很容易实现超声波避障小车。超声波测距将会应用在越来越多的领域,也会带来更多的便利。

参考文献

[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京电子工业出版社,2009.

[2]孙贤安,等.基于51单片机的小车蔽障电路实现[J].电气技术与自动化,2006.

[3]赵海兰.基于单片机的红外遥控智能小车的设计[J].电子世界,2011.

[4]超声波测距模块使用手册.

上一篇:基于集成电路虚拟制造系统下的晶体管热现象研... 下一篇:在生活着的千年古镇过生活