基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)

基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0077

这里写目录标题

  • 演示讲解视频
  • 1.主要功能
  • 2.仿真
  • 3. 程序
  • 4.资料清单&下载链接

演示讲解视频

基于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.资料清单&下载链接

基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)_第1张图片
资料下载链接:

https://docs.qq.com/doc/DS0hrelFRU213dFdn

你可能感兴趣的:(STM32单片机设计,stm32,单片机,嵌入式硬件)