✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~
🐱🐉这是51单片机毕业设计100篇系列的第33篇:基于51单片机的水质检测系统
💻项目相关说明:
- 代码量:545行
- 报告字数:5672字
- 含代码、仿真、原理图、报告、器件清单、常见问题(实物、lw可另外定制)
🎈项目分享:见文末!
1、主要功能
该系统由AT89C51/STC89C52单片机+LCD1602显示模块+温度传感器+ph传感器+浑浊度传感器+蓝牙+继电器+LED、按键和蜂鸣器等模块构成。适用于水质监测系统,含检测和调整水温、浑浊度、ph等相似项目。
可实现功能:
1、LCD1602实时显示水温、水体ph和浑浊度
2、温度传感器DS18B20采集水体温度
3、ph传感器和浑浊度传感器(仿真里用滑动变阻器模拟)采集ph和浑浊度信息
4、蓝牙实时传输水温、ph和浑浊度信息
5、当ph过高、过低,或者浑浊度过高时,声光报警,通过自动闭合继电器,进行相应调整
6、按键可设置各个参数的阈值
2、仿真
proteus仿真使用8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)
3、代码
部分代码,仅供参考,注释齐全。
void main(void)
{
TMOD|=0x20; //TMOD=0010 0000,设置定时器T1工作于方式二
SCON=0x60; //SCON=0100 0000,设置串口的工作方式为方式1
PCON=0x00; //PCON=0000 0000,晶振为11.0592
TH1=0xf3; //设置定时器T1的初值,波特率为2400
TL1=0xf3; //定时器T1自动填充的值,波特率为2400
EA = 1; //打开总中断
TR1=1; //启动定时器T1
L1602_init();
while(1)
{
display_PH(); //显示PH
display_TUR(); //显示水质浑浊度
display_temp(); //显示温度
key_scan(); //如果按下按键,则进入设置功能
send_data(); //蓝牙实时发送PH等信息
delay(100);
}
}
4、原理图
使用AD21绘制(不是嘉立创哦
5、参考报告
内含5.6k字,23页相关报告一份,纯手打~
6、演示视频
含1min14s的演示视频,将该项目的功能都展示了一遍,如果还有不清楚的地方,欢迎后台私聊!
7、常见问题
8、资源获取
扫描如下二维码,回复"51水质检测"获取本项目所有文件!
希望可以对你有所帮助~