当前位置: 首页 > news >正文

基于51单片机超声波测液位测距仪水位监测报警设计

基于51单片机超声波测液位测距仪水位监测报警设计


1. 系统功能介绍

本设计是一款基于 STC89C52 单片机的智能水位监测与报警系统。系统主要利用 超声波测距原理 对水箱或储水池中的液位进行实时监测,通过 LCD1602 液晶显示屏 显示测得的水位高度。当水位超过设定阈值(50cm)时,系统自动点亮红色指示灯并启动蜂鸣器报警;当水位低于阈值时,系统点亮绿色指示灯并停止报警。

该系统结构简单、测量精确、响应迅速,具有较强的实用性与稳定性,可广泛应用于家庭水箱、农业灌溉、工业液位监测等场景。

系统的主要功能如下:

  1. 实时液位检测:通过 HC-SR04 超声波模块测量水位高度。
  2. 数值显示:LCD1602 实时显示水位值(以厘米为单位)。
  3. 状态指示:当水位低于50cm时,绿色LED点亮;当水位高于50cm时,红色LED点亮并蜂鸣器报警。
  4. 报警功能:超过阈值时自动报警,低于阈值时自动解除报警。
  5. 系统自复位:单片机具有上电复位与按键复位功能,确保系统运行可靠。

整个设计以低成本的硬件为基础,通过软硬件结合实现自动水位监测、显示与报警的智能控制系统。


2. 系统电路设计

系统整体电路以 STC89C52 单片机 为核心,外围电路包括超声波测距模块、LCD1602 显示模块、LED 指示灯电路、蜂鸣器报警电路以及电源稳压电路。各模块之间相互配合,实现液位检测、数据处理、显示与报警等功能。


2.1 单片机主控电路

本系统采用 STC89C52RC 单片机作为核心控制器,它是 8051 系列的增强型芯片,内部集成 8K Flash 程序存储器和 512B RAM,具备较强的运算与控制能力。

其主要功能如下:

  • 负责超声波模块的触发与回波时间测量;
  • 计算距离并换算为水位高度;
  • 控制 LCD1602 显示数值;
  • 控制 LED 指示灯和蜂鸣器工作状态。

复位与时钟电路设计说明

  1. 上电复位电路:通过电容与电阻组成 RC 延时复位电路,在系统上电时自动产生复位信号,使单片机进入初始状态。
  2. 按键复位电路:外接复位按键,当按下时可人工复位系统。
  3. 晶振电路:使用 12MHz 晶体振荡器及两个 30pF 电容提供稳定时钟信号,保证单片机的工作频率。

2.2 超声波测距模块电路

系统采用常见的 HC-SR04 超声波模块 进行水位检测。模块内部包括超声波发射器、接收器及信号处理电路。工作原理是:

  • 当单片机给模块的 Trig 引脚 发送一个 10μs 的高电平脉冲时,模块发出 8 个 40kHz 的超声波脉冲;
  • 声波遇到液面反射回来后,由 Echo 引脚 输出一个与距离成正比的高电平脉冲;
  • 单片机通过测量此高电平的持续时间计算出距离值。

测距公式为:

距离(cm) = (高电平时间 × 声速) / 2

由于声速约为340m/s,若使用定时器测得时间为 t 微秒,则:

距离(cm) = t / 58

系统通过测得超声波到液面的距离,再结合容器总高度即可换算出液位值。


2.3 LCD1602 液晶显示模块

LCD1602 是一款常用的字符型液晶显示器,可显示两行共32个字符。
其接口简单,显示稳定,非常适合单片机数据输出。

在本系统中,LCD1602 的主要作用为:

  1. 实时显示测得的液位高度(单位:cm);
  2. 显示状态提示信息(如“水位正常”“水位过高”等)。

LCD 的 RS、RW、E 三个控制引脚与单片机相连,数据端口接 P0 口。显示信息通过程序控制实现动态刷新。


2.4 LED 指示灯电路

LED 指示灯电路用于直观显示当前水位状态。系统设计两个LED灯:

  • 绿色LED:水位低于50cm时点亮;
  • 红色LED:水位高于50cm时点亮。

LED 通过限流电阻与单片机 I/O 口连接,当输出高电平时点亮对应指示灯。


2.5 蜂鸣器报警电路

蜂鸣器模块采用有源蜂鸣器,由单片机 I/O 控制。当检测到液位超过阈值时,单片机输出高电平驱动蜂鸣器发声,起到警示作用。

该电路具有结构简单、响应快速的特点,可有效提醒用户及时关闭进水或排水。


2.6 电源电路

系统供电采用 DC 5V 稳压电源,可由 USB 接口、电池或外部适配器供电。电源电路使用 AMS1117-5.0 稳压芯片,将输入电压稳定为 5V,为单片机、LCD、HC-SR04 等模块供电。

同时在电源输入端增加电解电容(100μF)与瓷片电容(104)进行滤波,确保系统工作稳定。


3. 程序设计

系统的软件部分以 C 语言编写,主要包括 主程序模块超声波测距模块LCD 显示模块报警控制模块 四部分。
程序结构清晰,采用模块化设计思想,便于阅读与维护。


3.1 主程序设计

主程序是整个系统的控制核心,负责协调各模块工作。主要流程如下:

  1. 系统初始化(端口、LCD、定时器、超声波模块等);
  2. 启动超声波测距模块测量距离;
  3. 计算当前水位;
  4. 判断水位是否超过阈值;
  5. 控制LED与蜂鸣器状态;
  6. 刷新LCD显示内容。

主程序示例如下:

#include <reg52.h>
#include "lcd1602.h"
#include "hcsr04.h"
#include "delay.h"sbit RedLed = P2^0;
sbit GreenLed = P2^1;
sbit Buzzer = P2^2;float distance;void main()
{LCD_Init();LCD_ShowString(0,0,"Water Level Sys");while(1){distance = HCSR04_GetDistance();   // 获取距离值LCD_ShowString(0,1,"Level:");LCD_ShowNum(6,1,(unsigned int)distance,3);if(distance > 50)   // 超过阈值报警{RedLed = 0;GreenLed = 1;Buzzer = 0;LCD_ShowString(11,1,"HIGH ");}else{RedLed = 1;GreenLed = 0;Buzzer = 1;LCD_ShowString(11,1,"LOW  ");}Delay_ms(500);}
}

3.2 超声波测距程序设计

超声波模块通过 Trig 触发信号与 Echo 回波信号测距。程序利用单片机定时器精确测量高电平持续时间,从而计算距离。

测距函数如下:

#include <reg52.h>
#include "delay.h"sbit Trig = P1^0;
sbit Echo = P1^1;unsigned int HCSR04_GetDistance()
{unsigned int time = 0;float distance = 0;Trig = 1;                // 发送触发信号Delay_us(10);Trig = 0;while(!Echo);            // 等待回波开始TR0 = 1;while(Echo);             // 等待回波结束TR0 = 0;time = (TH0<<8) | TL0;TH0 = 0; TL0 = 0;distance = (float)time * 0.017;   // 换算为厘米return (unsigned int)distance;
}

程序逻辑说明:

  1. 向 Trig 口发送 10 微秒高电平;
  2. 等待 Echo 口返回高电平,并测量持续时间;
  3. 根据时间计算距离值。

3.3 LCD 显示程序设计

LCD 模块用于显示系统状态与实时水位。
采用标准 4 位或 8 位接口驱动,显示函数如下:

#include "lcd1602.h"void LCD_Display(float distance)
{LCD_ShowString(0,0,"Water Level:");LCD_ShowNum(13,0,(unsigned int)distance,3);LCD_ShowString(0,1,"cm");
}

通过循环刷新实现实时更新显示,使用户直观了解当前水位高度。


3.4 报警与指示控制程序设计

系统通过判断测量值控制 LED 与蜂鸣器状态,核心逻辑如下:

void Alarm_Control(float distance)
{if(distance > 50){RedLed = 0;     // 红灯亮GreenLed = 1;   // 绿灯灭Buzzer = 0;     // 蜂鸣器响}else{RedLed = 1;GreenLed = 0;Buzzer = 1;}
}

该模块可扩展为分级报警,例如:

  • 超过60cm连续报警;
  • 超过80cm启动断水保护装置等。

4. 系统总结

本设计基于 STC89C52 单片机,通过超声波测距实现水位实时检测,并结合 LCD 显示、LED 指示与蜂鸣器报警功能,构建了一个完整的 水位智能监测系统

系统的优点如下:

  1. 结构简单、成本低廉:采用常见电子元器件即可实现;
  2. 测量精度高:HC-SR04 测距精度可达±0.3cm;
  3. 反应灵敏:实时刷新显示与报警,无明显延迟;
  4. 安全可靠:具备复位保护与电源稳压设计;
  5. 可扩展性强:可增加继电器自动控制水泵等功能。

本设计不仅可作为学生实验与毕业设计项目,也具有实际工程应用价值,为液位智能监测领域提供了一种经济、可靠的实现方案。

http://www.dtcms.com/a/451231.html

相关文章:

  • 制作网站 优帮云德清县新巿镇城市建设网站
  • 武义县建设局网站首页子网站怎么建设
  • 湖州北京网站建设开发工具包
  • 凡科网建网站付费链接怎么做网站建设 面试问题
  • 模板网站建设教程视频做企业官网需要注意什么
  • php做网站 价格郑州大型网站制作
  • 海南澄迈县网站优化的代码
  • 邢台手机网站建设费用ml免费域名注册
  • 随机化快速排序
  • 长沙建网站培训机构京东网站设计特点
  • 2025-10-06 Python不基础 9——迭代器与生成器
  • 物业管理系统需求分析自助建站优化排名
  • UNIX下C语言编程与实践30-UNIX 进程控制:vfork-exec 模型与 fork-exec 模型的效率对比
  • 网站开发讲座不属于网站后期维护
  • 网站建设与管理课程实训哈尔滨智能建站模板
  • 凭祥网站建设盐城网站建设定制
  • 江苏中盛建设集团网站网站怎么做透明导航栏
  • 太仓智能网站建设服装电子商务网站建设
  • 潍坊公司网站制作微信微商城怎么开通
  • 网站开发建设项目服务清单一级a做爰片免费网站
  • wordpress建站环境搭建wordpress生成app
  • 公司创建的法制网站邢台163信息港
  • python做网站难么优化关键词快速排名
  • 鸿蒙实现滴滴出行项目
  • 外贸网站做哪些语言wordpress后太慢
  • 自己如何做网站优化网站购物车实现
  • 一个网站一年的费用多少国际军事最新军事新闻
  • 知名的中文域名网站有哪些阜阳手机网站建设
  • 鞍山制作网站河北百度推广电话
  • 贵州大地建设集团网站wordpress文件类型不支持