基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)
仿真图proteus 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:C0077
演示讲解视频
基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)
1.主要功能
结合实际情况,基于STM32F103单片机设计一个电子水质检测系统。该系统应满足的功能要求为:
本次嵌入式课程设计综合实验的内容STM32的水质浑浊度和PH值监测系统设计。完成LCD液晶显示、水质检测、灯光报警等多项任务。
1、以STM32为最小系统电路进行连接,用液晶显示屏水质浑浊度,PH值浑浊度阈值,PH值阈值。
2、以两路STM32内部ADC电路分别检测水质浑浊度和PH值。
3、当水质浑浊度大于等于或PH值大于等于阈值时,报警灯亮,都低于则报警灯灭。
主要硬件设备:STM32F103单片机、LCD1602液晶。
以下为本设计资料展示:
2.仿真
整体设计方案
该系统为电子水质检测系统,其主要的功能有:以stm32为最小系统电路进行连接,用液晶显示屏水质浑浊度和水质PH值数据。
测试如下所示:
开始仿真后LCD1602第一行zd显示检测的浑浊度,PH显示酸碱度。第二行的表示阈值。第二行zd_s表示浑浊度阈值为50%,PH_S表示酸碱度报警值为7。
浑浊度或者酸碱度高于阈值则报警灯亮。如下图所示:
3. 程序
部分代码:
int main(void)
{
int ADC_num;
int temp1,temp2;
ADC1_GPIO_Config();//ADC的初始化
ADC_Config();
LCD1602_Init();
LCD1602_ShowStr(0,1,"zd_S:50% PH_S:7",15);//浑浊度报警值显示 PH值报警值显示
LCD1602_ShowStr(0,0,"zd: PH: ",15);//显示zd PH
LED();
while(1)
{
ADC_num=Get_ADC(ADC_Channel_0);
temp1=ADC_num*100/4096; //计算得到浑浊度
LCD1602_WriteCmd( 0x80 + 3 );
LCD1602_WriteDat( temp1/10 + 0x30 );//显示浑浊度
LCD1602_WriteDat( temp1%10 + 0x30 );
LCD1602_WriteDat( '%' );
ADC_num=Get_ADC(ADC_Channel_1);
temp2=ADC_num*10/4096; //计算得到PH值
LCD1602_WriteCmd( 0x80 + 13 );
LCD1602_WriteDat( temp2 + 0x30 );
if(( temp1 >= 50 )||( temp2 >= 7 ))//计算是否亮报警灯
{
GPIO_ResetBits( GPIOA,GPIO_Pin_10 );
}
else
{
GPIO_SetBits( GPIOA,GPIO_Pin_10 );
}
}
}
4.资料清单&下载链接
资料下载链接:
https://docs.qq.com/doc/DS0hrelFRU213dFdn