基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)
仿真图proteus 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:C0077
基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)
结合实际情况,基于STM32F103单片机设计一个电子水质检测系统。该系统应满足的功能要求为:
本次嵌入式课程设计综合实验的内容STM32的水质浑浊度和PH值监测系统设计。完成LCD液晶显示、水质检测、灯光报警等多项任务。
1、以STM32为最小系统电路进行连接,用液晶显示屏水质浑浊度,PH值浑浊度阈值,PH值阈值。
2、以两路STM32内部ADC电路分别检测水质浑浊度和PH值。
3、当水质浑浊度大于等于或PH值大于等于阈值时,报警灯亮,都低于则报警灯灭。
主要硬件设备:STM32F103单片机、LCD1602液晶。
以下为本设计资料展示:
整体设计方案
该系统为电子水质检测系统,其主要的功能有:以stm32为最小系统电路进行连接,用液晶显示屏水质浑浊度和水质PH值数据。
测试如下所示:
开始仿真后LCD1602第一行zd显示检测的浑浊度,PH显示酸碱度。第二行的表示阈值。第二行zd_s表示浑浊度阈值为50%,PH_S表示酸碱度报警值为7。
浑浊度或者酸碱度高于阈值则报警灯亮。如下图所示:
部分代码:
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 PHLED();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 );}}
}
资料下载链接:
https://docs.qq.com/doc/DS0hrelFRU213dFdn
上一篇:.Net Core WebApi 在Linux系统Deepin上部署Nginx并使用(一)
下一篇:【NLP经典论文阅读】Efficient Estimation of Word Representations in Vector Space(附代码)