一. 系统概况
本系统采用STM32单片机作为主控制器,通过温度传感器实时监测水温,并通过显示屏展示相关数据。系统功能包括自动保温、水位控制以及加热提醒。系统能够自动控制加水并调节水温,以满足设定的需求。
二. 仿真描述
- LCD1602显示屏用于实时显示水温和设定阈值。用户可以通过按键调整阈值,DS18B20传感器负责温度检测。
- 当检测到水温低于设定阈值时,系统会自动启动加热功能,打开加热开关,并通过LED灯进行加热提醒。
- 通过打开水位开关,可以控制冷水的注入,以保持适当的水位。
三.程序设计
#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;
}
}
}
24-32f-18