一.系统概述
通过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