基于单片机液位监控系统仿真控制设计-毕设课设资料

基于单片机液位监控系统仿真控制设计

摘要

本文介绍了一种基于单片机的液位监控系统仿真控制设计。该系统通过按键设置液位目标位置,利用LCD1602显示当前液位值和温度值,并通过继电器控制电机转动来实现液位控制。同时,系统采用DS18B20温度传感器进行温度测量。本文详细阐述了系统的硬件设计、软件编程以及仿真实验结果,验证了系统的可行性和实用性。

关键词:单片机;液位监控;仿真控制;LCD1602显示;DS18B20温度测量

第一章 引言

液位控制是工业自动化领域中的一个重要环节,广泛应用于各种储液容器中。传统的液位控制方法往往存在控制精度低、操作复杂等问题。因此,研究一种基于单片机的液位监控系统仿真控制设计具有重要意义。本文旨在设计一种具有高精度、易于操作的液位监控系统,并通过仿真实验验证其可行性和实用性。

第二章 系统总体设计

本系统主要由单片机、LCD1602显示模块、按键输入模块、继电器控制模块和DS18B20温度测量模块组成。单片机作为系统的核心控制器,负责处理各种输入信号并输出控制信号。LCD1602显示模块用于显示当前液位值和温度值。按键输入模块用于设置液位目标位置。继电器控制模块根据单片机的控制信号控制电机的转动,从而实现液位控制。DS18B20温度测量模块负责实时测量温度,并将测量结果发送给单片机进行处理。

第三章 硬件设计

3.1 单片机最小系统电路

单片机最小系统电路包括单片机芯片、晶振电路、复位电路和电源电路。晶振电路为单片机提供稳定的时钟信号,复位电路用于单片机的复位操作,电源电路为单片机提供稳定的工作电压。

3.2 LCD1602显示模块电路

LCD1602显示模块电路主要由LCD1602显示屏和驱动电路组成。驱动电路负责将单片机的输出信号转换为LCD1602显示屏能够识别的信号,从而实现液位值和温度值的显示。

3.3 按键输入模块电路

按键输入模块电路由按键和按键处理电路组成。按键用于设置液位目标位置,按键处理电路负责将按键信号转换为单片机能够识别的数字信号。

3.4 继电器控制模块电路

继电器控制模块电路由继电器和驱动电路组成。驱动电路根据单片机的控制信号控制继电器的开关状态,从而控制电机的转动方向和转动时间,实现液位控制。

3.5 DS18B20温度测量模块电路

DS18B20温度测量模块电路由DS18B20温度传感器和信号处理电路组成。DS18B20负责实时测量温度,并将测量结果通过信号处理电路发送给单片机进行处理和显示。

第四章 软件设计

本系统的软件设计主要包括主程序、按键处理子程序、LCD显示子程序、继电器控制子程序和温度测量子程序等。主程序负责初始化系统并循环调用各个子程序实现系统的整体功能。按键处理子程序负责处理按键输入信号并设置液位目标位置。LCD显示子程序负责将当前液位值和温度值显示在LCD1602显示屏上。继电器控制子程序根据单片机的控制信号控制继电器的开关状态,实现液位控制。温度测量子程序负责实时测量温度并将测量结果发送给单片机进行处理和显示。

第五章 仿真实验结果与分析

通过仿真实验验证了本系统的可行性和实用性。实验结果表明,系统能够准确显示当前液位值和温度值,并通过按键设置液位目标位置。继电器控制模块能够根据单片机的控制信号准确控制电机的转动方向和转动时间,实现液位控制。DS18B20温度测量模块能够实时测量温度并将测量结果发送给单片机进行处理和显示。仿真实验结果证明了本系统的稳定性和可靠性。

结论与展望

本文设计了一种基于单片机的液位监控系统仿真控制设计,并通过仿真实验验证了其可行性和实用性。该系统具有高精度、易于操作等优点,可广泛应用于工业自动化领域中的液位控制环节。未来可以进一步完善和优化系统设计,如提高控制精度、增加远程监控功能等方面进行研究和改进,以满足更高性能的应用需求。

【资源下载】下载地址如下:icon-default.png?t=N7T8https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

#include <reg51.h>
#include <DS18B20.h>
#include <LCD1602.h>
#include <TLC2543.h>

#define	uchar	unsigned char
#define uint	unsigned int

sbit PWM=P2^4;		//电机PWM输出端口
sbit SW=P2^5;		//电机正反转控制端口
sbit K1=P3^0;		//功能设置按键
sbit K2=P3^1;		//加按键
sbit K3=P3^2;		//减按键

uchar ratio=10;		//PWM占空比
uchar count=0;		//PWM定时计数
uchar func=0;		//系统功能,0当前状态,1上下限设置,2电机转速
uchar high=150,low=50,height=0;
uchar LCD_Buf1[16]={"W = 000.0m"};
uchar LCD_Buf2[16]={"T = 000.0C"};
uchar LCD_Buf3[16]={"H = 150.0m"};
uchar LCD_Buf4[16]={"L = 050.0m"};
uchar LCD_Buf5[16]={"Full = 384r/m"};
uchar LCD_Buf6[16]={"Now  = 000r/m"};


//------------------------------------------------------
//显示温度及液位
//------------------------------------------------------
void Display_HT(void)
{
	uint volt,t;
	//电压值显示数据处理
	volt=TLC2543(0)*50.0/4095*102.3/2.5;
	LCD_Buf1[4]=volt/1000+'0';
	LCD_Buf1[5]=volt/100%10+'0';
	LCD_Buf1[6]=volt/10%10+'0';
	LCD_Buf1[8]=volt%10+'0';
	//温度值显示数据处理
	t=ReadTemperature();
	LCD_Buf2[4]=t/1000+'0';
	LCD_Buf2[5]=t/100%10+'0';
	LCD_Buf2[6]=t/10%10+'0';

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值