基于51单片机的污水ph值和液压监测系统
目录
具体实现功能
设计介绍
资料内容
全部内容
资料获取
具体实现功能
具体功能:
(1)实时检测ph值和液压值并用LCD1602显示;
(2)可以按键设定报警值;
(3)测得的ph值和液压值超过报警值时声光报警,并通过串口发送显示。
仿真演示视频:
基于51单片机的污水ph值和液压监测系统-仿真视频
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
///
/*********************************************************/
// 主函数
/*********************************************************/
void main(void)
{char String[10];char Value[3];char Value1[3];LcdShowInit(); // 液晶显示初始化AlarmInit(); // 报警值初始化UsartInit();while(1){yeya=Get_ADC0832(); // 读取液压强度yeya=yeya/2.5; // 缩小液压检测结果(在0-99)if(yeya>99) // 如果大于99yeya=99; // 则依然保持99LcdGotoXY(1,6); // 液晶定位到第0行第6列LcdPrintNum1(yeya); // 显示测量结果PH=Get_ADC08321(); // 读取PHPH=PH/2.5; // 缩小液压检测结果(在0-99)if(PH>99) // 如果大于99PH=99; // 则依然保持99LcdGotoXY(1,13); // 液晶定位到第0行第6列LcdPrintNum1(PH); // 显示测量结果// 报警判断AlarmJudge(); if((PH>=AlarmPH)||(yeya>=AlarmYY)) //液位值大于等于预设值时{Value[0] = 0x30+PH/10%10;Value[1] = 0x30+PH%10;Value1[0] = 0x30+yeya/10%10;Value1[1] = 0x30+yeya%10; sprintf(String,"P:%s Y:%s\r\n",Value,Value1);SendStr(String);}else //液位值小于预设值时{;}KeyScanf(); // 按键判断}
}
程序运行结果如图:
全部内容
全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。
资料获取
https://docs.qq.com/doc/DT2JtcU5WVmF2ZGtr