基于STM32的水質(zhì)渾濁度和PH值監(jiān)測(cè)系統(tǒng)設(shè)計(jì)(仿真+程序+講解)
仿真圖proteus 8.9
程序編譯器:keil 5
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):C0077
演示講解視頻
基于STM32的水質(zhì)渾濁度和PH值監(jiān)測(cè)系統(tǒng)設(shè)計(jì)(仿真+程序+講解)
1.主要功能
結(jié)合實(shí)際情況,基于STM32F103單片機(jī)設(shè)計(jì)一個(gè)電子水質(zhì)檢測(cè)系統(tǒng)。該系統(tǒng)應(yīng)滿(mǎn)足的功能要求為:
本次嵌入式課程設(shè)計(jì)綜合實(shí)驗(yàn)的內(nèi)容STM32的水質(zhì)渾濁度和PH值監(jiān)測(cè)系統(tǒng)設(shè)計(jì)。完成LCD液晶顯示、水質(zhì)檢測(cè)、燈光報(bào)警等多項(xiàng)任務(wù)。
1、以STM32為最小系統(tǒng)電路進(jìn)行連接,用液晶顯示屏水質(zhì)渾濁度,PH值渾濁度閾值,PH值閾值。
2、以?xún)陕稴TM32內(nèi)部ADC電路分別檢測(cè)水質(zhì)渾濁度和PH值。
3、當(dāng)水質(zhì)渾濁度大于等于或PH值大于等于閾值時(shí),報(bào)警燈亮,都低于則報(bào)警燈滅。
主要硬件設(shè)備:STM32F103單片機(jī)、LCD1602液晶。
以下為本設(shè)計(jì)資料展示:
2.仿真
整體設(shè)計(jì)方案
該系統(tǒng)為電子水質(zhì)檢測(cè)系統(tǒng),其主要的功能有:以stm32為最小系統(tǒng)電路進(jìn)行連接,用液晶顯示屏水質(zhì)渾濁度和水質(zhì)PH值數(shù)據(jù)。
測(cè)試如下所示:
開(kāi)始仿真后LCD1602第一行zd顯示檢測(cè)的渾濁度,PH顯示酸堿度。第二行的表示閾值。第二行zd_s表示渾濁度閾值為50%,PH_S表示酸堿度報(bào)警值為7。
渾濁度或者酸堿度高于閾值則報(bào)警燈亮。如下圖所示:
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);//渾濁度報(bào)警值顯示 PH值報(bào)警值顯示
LCD1602_ShowStr(0,0,"zd: PH: ",15);//顯示zd PH
LED();
while(1)
{
ADC_num=Get_ADC(ADC_Channel_0);
temp1=ADC_num*100/4096; //計(jì)算得到渾濁度
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; //計(jì)算得到PH值
LCD1602_WriteCmd( 0x80 + 13 );
LCD1602_WriteDat( temp2 + 0x30 );
if(( temp1 >= 50 )||( temp2 >= 7 ))//計(jì)算是否亮報(bào)警燈
{
GPIO_ResetBits( GPIOA,GPIO_Pin_10 );
}
else
{
GPIO_SetBits( GPIOA,GPIO_Pin_10 );
}
}
}
4.資料清單&下載鏈接
資料下載鏈接:
https://docs.qq.com/doc/DS0hrelFRU213dFdn