基于单片机智能液位水位监测控制(毕业设计资料)
通过液位传感器进行检测,实时监测水位大小。当超过设定范围时则进行报警,并通过进液泵和出液泵控制水位位置。分别有设定手动控制和自动控制,并有电源电路。包含的电路有显示电路、按键电路,显示电路,电机电路,传感器电路,声光报警电路,电源电路。
/* 预处理区 */
#include <reg52.h> /* 加载"reg52.h"头文件 */
#include <math.h> /* 加载"math.h"头文件 */
/* 宏定义 */
#define unchar unsigned char /* 无符号字符型 */
#define unint unsigned int /* 无符号整型 */
#define N 10 /* 延时参数 */
/* 数组常量定义 */
unchar code row1[] = ">>Liquid Level<<"; /* 液晶输出的第一行显示编码 */
unchar code row2[] = { "0123456789" }; /* 液晶的0~9编码 */
unchar code tip_1[] = "Please lini cap"; /* 液晶输出行 */
unchar code tip_2[] = "then push'start'"; /* 液晶输出行 */
/* 位定义 */
sbit lcd_rs = P2 ^ 0; /* 液晶的数据命令选择端 */
sbit lcd_rw = P2 ^ 1; /* 液晶的读写选择端 */
sbit lcd_en = P2 ^ 2; /* 液晶的使能端 */
sbit show = P1 ^ 0; /* 开始按键 */
sbit clear = P1 ^ 1; /* 清屏按键 */
sbit led = P1 ^ 2; /* 电源灯 */
sbit JIN = P2 ^ 3; /*进水泵*/
sbit CHU = P2 ^ 4; /*出水泵*/
sbit alerm = P2 ^ 7;
/* 变量定义 */
unint flag = 0; /* 标志位 */
double count = 0; /* 计数 */
double final = 0; /* 高电平时间 */
double cx = 0; /* 电容数值 */
unint w1, w2, w3, w4, i; /* 变量定义 百位,十位,个位,十分位,循环计数位。 */
资料下载:
链接:https://pan.baidu.com/s/1bMnNEv0cCAdTZ4xYCa3rtQ
提取码:hj9e
复制这段内容后打开百度网盘手机App,操作更方便哦