一. 系统概述
系统通过DS18B20温度传感器来监测温度,并允许用户通过按键设置温度的上下限阈值。当温度超过设定的上限阈值时,系统会自动启动降温功能并发出报警;当温度低于设定的下限阈值时,系统则会启动加热并发出报警提示。
二. 仿真概述
- 用户可以通过按键调整温度的上下限阈值。一旦温度超出上限阈值,系统将自动进行降温操作。
- 如果实时检测的温度低于下限阈值,系统会启动加热功能以维持温度在正常范围内。
- 用户可以通过DS18B20传感器上的红色按钮来调节温度设置。当温度过低时,系统会自动启动加热功能。
三.程序设计
#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;u8 Tmin = 25;
Key_Init();
Lcd1602_Init();
Led1_Init();//PC0
Beep_Init();//PC2
Relay_Init();//PC1
Ds18b20_Init();//PA12
Lcd1602_Write_String(0x80,4,(u8*)"Temp");
Lcd1602_Write_String(0x86,4,(u8*)"TMax");
Lcd1602_Write_String(0x8c,4,(u8*)"TMin");
while(1)
{
u8 t =Ds18b20_Temp() ;
Lcd1602_Write_Num8(0xc0,t);
Lcd1602_Write_Num8(0xc6,Tmax);
Lcd1602_Write_Num8(0xcc,Tmin);
if(t>Tmax)
{
Relay_High;
Beep_High;
}
else
{
if(t<Tmin)
{
Led1_High;
Beep_High;
}
else
{
Relay_Low;Led1_Low;Beep_Low;
}
}
}
}
24-32f-15