一.系统概述
使用STM32单片机进行主控,通过温度传感器实时检测水温,可以控制加水,检测到的数据通过显示屏进行显示。另外系统还具有自动保温、水位控制以及加热提醒的功能。

二.仿真概述
1.通过LCD1602进行水温和阈值的显示,按键可以对阈值进行调节,DS18B20进行温度检测

2. 当检测到温度低于阈值就会进行加热,打开加热开关并通过LED灯提醒加热

3. 打开水位开关即可控制注入冷水
三.程序设计
#include <stm32f10x.h>
#include <Lcd1602.h>
#include <Led.h>
#include <Ds18b20.h>
#include <Beep.h>
#include <Relay.h>
#include <key.h>
int main(void)
{
u8 Tmax = 30;
Key_Init();
Lcd1602_Init();
Led1_Init();//PC0
Beep_Init();//PC2
Relay_Init();//PC1
while(1)
{
u8 t =Ds18b20_Temp() ;
Lcd1602_Write_Num8(0xc0,t);
Lcd1602_Write_String(0xc3,1,(u8*)"C");
Lcd1602_Write_Num8(0xc6,Tmax);
if(t<Tmax)
{
Led1_High;
}
else
{
Led1_Low;
}
Key_0();
if(Key0Flag == 1)
{
Key0Flag = 0;
Tmax++;
Lcd1602_Write_Num8(0xc6,Tmax);
}
Key_1();
if(Key1Flag == 1)
{
Key1Flag = 0;
Tmax--;
Lcd1602_Write_Num8(0xc6,Tmax);
}
Key_2();
if(Key2Flag == 1)
{
Key2Flag = 0;
Relay_High;
}else
{
Relay_Low;
}
}
}
1101

被折叠的 条评论
为什么被折叠?



