基于STC51单片机超声波测距系统-程序设计-proteus仿真设计 联系客服

发布时间 : 星期五 文章基于STC51单片机超声波测距系统-程序设计-proteus仿真设计更新完毕开始阅读888455c14b7302768e9951e79b89680202d86b11

基于单片机控制的超声波液位测量系统

摘要:随着社会的发展,超声波的应用越来越广泛,如:倒车测距、机器人判向、气象水位的测量、大型油罐液位的测量等。而随着智能仪器概念的提出,在电子和微控制芯片发展的基础上,超声波测液位也发生了日新月异的变化。

本文是在熟悉了单片机、超声波、12864液晶屏和DS18B20等性能后,以AT89S52单片机为核心,利用T/R40-16超声波对液位进行自动检测;温度传感器DS18B20对环境温度实时监测;LCD12864液晶屏实时显示测量数据;方便了操作人员对系统检测结果的监控。

系统硬件电路设计主要包含:超声波发射电路、接收电路、显示报警电路、温度补偿电路和相应的按键控制电路。超声波发射电路由单片机发出的脉冲信号,经过信号整形后,传到超声波换能器(中心频率为40kHz)。将电能转换为机械能,以满足超声波传感器的驱动要求。超声波接收电路采用红外接收电路常用的CX20106芯片,简化了电路,并具有较强的抗干扰性。接收电路将回波信号转换成单片机的中断信号。AT89S52单片机是其核心部分,主要任务是,发出脉冲串用来驱动超声波发射换能器发出超声波,通过定时器T0对超声波传输时间进行计时,利用DS18B20进行温度的测量,根据测出的时间、温度和有关参数计算出距离。

系统软件设计主要利用KeiluVision3进行编程,为了使整个程序的层次和结构比较清晰,采用了单片机C语言模块化的设计思想。这样的方法有利于程序的调试和修改。软件模块主要分为LCD12864显示模块、按键设置模块、温度传感器DS18B20的温度补偿模块、报警与数据处理模块等。

对系统进行测试和记录结果表明,该系统能较为准确测量液位。 关键词:超声波 液位测量 自动控制 AT89S52单片机 DS18B20

II

(三)超声波测距理论分析

超声波测距主要是利用超声波的方向性好,能够定向传播,遇到障碍物时能够反射的特性。并且超声波在同一介质中传播的速度是一样的(温度不变的情况下)。利用超声波的反射、折射和衰减等特性,超声波测量方法有很多,如:脉冲回波法、共振法、对射法、频差法以及声衰减法等,其中应用最广泛的是超声波脉冲回波法。它的基本工作原理是:发射头由脉冲信号激励发出超声波,通过传声媒介传到被测液面,形成反射波,反射波再通过传声介质返回到接收头,传感器把声信号转换成电信号,由单片机程序计算出超声波从发射到接收所传播的时间,再根据超声波在介质中传播的速度,就可以用公式(1-1)算出距离。图2.3.1和图2.3.2分别是测物距和测液位图。

TR 图2.3.1 超声波测物距图

由如图2.3.2可知道,实际过程中超声波直线发射出去,但并不是直线接收到的。发射与接收过程中存在一个角度。所以利用公式(1-1)算出来的值与实际值是存在一定的误差的。如果想让公式(1-1)更接近实际值,可以采用自发自收式超声波传感器,但是本文采用的是压电陶瓷传感器,而压电陶瓷传感器的余震较为严重,单发单收的探头检测死区较大。为避免这一点,本系统采用双探头的设计,即利用两个超声波传感器:一个用来接收,一个用来发射。传播介质为气体。

发射传感 器接收传感器液面 - 1 -

图2.3.2 超声波测液位图

本文虽然利用发射与接收传感器进行设计,但是从发射出超声波到接收到超声波的时间计算也是一个问题。如果利用外部计时器计时,那么计时时间不够准确,为了提高计时时间的准确度,所以本系统利用单片机内部定时器与外部中断的综合运用,在开始发送超声波的同时开启定时器计时,先连续发送一串超声波,然后等待接收到超声波的中断信号,接收到就停止计时,再根据公式(1-1)进行计算。

三、系统硬件设计

(一)系统硬件设计思路

按设计要求,根据超声波测距原理,以单片机AT89S52为核心的测液位系统。系统各部分电路功能设计如下:

1.按键设置超限报警值;

2.单片机发出40KHz方波驱动超声波发射头发射超声波; 3.定时器T0进行计时发射——接收的时间;

- 2 -

4.外部INT1作为接收到中断信号输入端; 5.DS18B20测出环境温度进行温度补偿; 6.LCD12864液晶屏显示数据; 7.蜂鸣器进行超限报警;

8.红、黄和绿灯作为工作情况的指示灯。

(二)AT89S52单片机最小系统

图3.2.1是单片机的最小系统图,它分别由复位电路、时钟电路和按键电路组成。每部分电路功能如下:

1.复位电路

本系统复位电路利用手动复位和上电复位组合构成,上电时加电瞬间,电容C6通过电阻R6充电,RST端得到正脉冲,用以复位。同时当单片机进入运行状态,如果出现错误,此时就可以通过按键进行复位。

2.时钟电路

本系统采用12M晶振加于单片机AT89S52的XTAL1(19脚)和XTAL2(18脚)并通过30pF的电容接地为单片机提供工作时钟。

3.按键电路

本系统利用了P1口低4位作为按键接口,以低电平有效。通过这四个按键进行对报警上限值设置。P1.0(s2)功能设置键,P1.1(s3)数值加键,P1.2(s4)数值减键,P1.3(s5)确定键。

- 3 -