1 系统功能介绍
本设计的题目是 基于 51 单片机温度控制系统报警器恒温箱蓝牙 APP 控制设计。在现代实验室、食品保存及环境调节应用中,温度控制是核心需求之一。传统的温控系统多依赖机械式或简单的电子温控器,功能单一、缺乏人机交互和远程控制能力。本系统结合 单片机控制、LCD 显示、继电器驱动、蜂鸣器报警、蓝牙无线通信 等功能模块,设计并实现了一个智能化的温度控制与报警系统。
主要功能如下:
- 实时显示:LCD1602 实时显示当前温度值、设定的温度上下限值以及工作状态。
- 按键设置:用户可通过按键设置温度上下限阈值,参数即时显示在 LCD1602 上。
- 自动温控:
- 当温度高于上限时,打开制冷继电器,控制外接散热器工作;
- 当温度低于下限时,打开制热继电器,控制外接加热器工作。
- 报警功能:若温度超过 1 分钟仍未恢复到设定范围,则蜂鸣器报警提示。
- 蓝牙通讯:
- LCD 显示内容实时通过蓝牙模块上传到手机 APP;
- 手机 APP 可以发送指令,修改温度上限和下限阈值,实现远程控制。
- 智能恒温:通过单片机的判断逻辑实现温度的自动调节和恒温箱的稳定运行。
2 系统电路设计
系统由 单片机最小系统电路、LCD1602 液晶显示电路、温度传感器电路、按键输入电路、继电器驱动电路、蜂鸣器电路、蓝牙通信模块电路、电源电路 等部分组成。下面逐一介绍。
2.1 单片机最小系统电路
- 本系统核心采用 STC89C52 单片机,该芯片基于 8051 内核,拥有丰富的 IO 接口,适用于传感器采集和外设控制。
- 单片机主要负责:
- 采集温度传感器的数据;
- 控制 LCD 显示;
- 判断温度与设定阈值的关系,驱动继电器;
- 控制蜂鸣器报警;
- 与蓝牙模块进行串口通信。
2.2 温度传感器电路
- 系统采用 DS18B20 数字温度传感器,其测温范围宽(-55℃~125℃),精度高(±0.5℃)。
- DS18B20 通过单总线与单片机相连,单片机可直接读取温度数据,不需要额外的 A/D 转换芯片。
- 温度数据被用于与设定的上下限进行比较,实现自动温控。
2.3 LCD1602 液晶显示电路
- LCD1602 是一款字符型液晶显示模块,本系统采用 4 位数据线模式连接单片机。
- 显示内容包括:
- 当前温度值;
- 设置的温度上限和下限;
- 系统运行状态(加热/制冷/正常)。
2.4 按键输入电路
- 系统设计 3 个按键:
- K1:进入阈值设置模式;
- K2:增加数值;
- K3:减少数值。
- 用户可以通过按键灵活设置温度上下限,并将数据保存到单片机中。
2.5 继电器驱动电路
2.6 蜂鸣器电路
- 当温度超过上限或低于下限,并且超过 1 分钟仍未恢复到范围内,单片机驱动蜂鸣器鸣叫。
- 蜂鸣器由 IO 口控制,通过定时器计时实现延时判断。
2.7 蓝牙模块电路
- 本系统采用 HC-05 蓝牙串口模块,通过 UART 接口与单片机通信。
- 功能包括:
- 实时上传 LCD 显示的温度值、阈值和系统状态到手机 APP;
- 接收 APP 下发的温度上下限参数,并更新到系统。
2.8 电源电路
3 程序设计
程序分为 主程序、DS18B20 驱动程序、LCD 显示程序、按键检测程序、继电器控制程序、蜂鸣器报警程序、蓝牙通信程序 等部分。
3.1 主程序框架
#include <reg52.h>
#include "lcd1602.h"
#include "ds18b20.h"
#include "relay.h"
#include "uart.h"
#include "buzzer.h"
#include "key.h"
#define TIME_LIMIT 60 // 1分钟超时
float temp;
float temp_high = 30.0;
float temp_low = 20.0;
unsigned int timer_count = 0;
void main()
{
LCD_Init();
DS18B20_Init();
UART_Init();
Relay_Init();
Buzzer_Init();
Key_Init();
while(1)
{
temp = DS18B20_ReadTemp();
Key_Scan(&temp_high, &temp_low);
LCD_ShowTemp(temp, temp_high, temp_low);
UART_SendData(temp, temp_high, temp_low);
if(temp > temp_high)
{
Relay_CoolOn();
Relay_HeatOff();
timer_count++;
}
else if(temp < temp_low)
{
Relay_HeatOn();
Relay_CoolOff();
timer_count++;
}
else
{
Relay_CoolOff();
Relay_HeatOff();
timer_count = 0; // 恢复正常,计时清零
}
if(timer_count >= TIME_LIMIT)
{
Buzzer_On();
}
else
{
Buzzer_Off();
}
delay_ms(1000);
}
}
3.2 DS18B20 温度采集程序
float DS18B20_ReadTemp()
{
unsigned int temp;
float t;
DS18B20_Start();
DS18B20_WriteByte(0xCC); // 跳过ROM
DS18B20_WriteByte(0x44); // 启动转换
delay_ms(750);
DS18B20_Start();
DS18B20_WriteByte(0xCC);
DS18B20_WriteByte(0xBE); // 读取温度寄存器
temp = DS18B20_ReadByte();
temp |= (DS18B20_ReadByte()<<8);
t = temp * 0.0625;
return t;
}
3.3 按键设置程序
void Key_Scan(float *high, float *low)
{
if(K1 == 0) // 进入设置模式
{
delay_ms(10);
if(K1 == 0)
{
while(!K1);
*high += 1; // 简化,按一次增加上限
}
}
if(K2 == 0) // 增加下限
{
delay_ms(10);
if(K2 == 0)
{
while(!K2);
*low += 1;
}
}
if(K3 == 0) // 减少下限
{
delay_ms(10);
if(K3 == 0)
{
while(!K3);
*low -= 1;
}
}
}
3.4 继电器控制程序
sbit RelayCool = P2^0;
sbit RelayHeat = P2^1;
void Relay_Init(void)
{
RelayCool = 0;
RelayHeat = 0;
}
void Relay_CoolOn(void)
{
RelayCool = 1;
}
void Relay_CoolOff(void)
{
RelayCool = 0;
}
void Relay_HeatOn(void)
{
RelayHeat = 1;
}
void Relay_HeatOff(void)
{
RelayHeat = 0;
}
3.5 蜂鸣器报警程序
sbit Buzzer = P3^7;
void Buzzer_Init(void)
{
Buzzer = 0;
}
void Buzzer_On(void)
{
Buzzer = 1;
}
void Buzzer_Off(void)
{
Buzzer = 0;
}
3.6 蓝牙通信程序
void UART_Init(void)
{
SCON = 0x50; // 串口模式1
TMOD = 0x20; // 定时器1方式2
TH1 = 0xFD; // 波特率9600
TL1 = 0xFD;
TR1 = 1;
EA = 1;
ES = 1;
}
void UART_SendData(float temp, float high, float low)
{
char str[20];
sprintf(str,"T=%.1f H=%.1f L=%.1fn",temp,high,low);
SendString(str);
}
void UART_ISR(void) interrupt 4
{
if(RI)
{
char cmd = SBUF;
RI = 0;
if(cmd == 'U') temp_high += 1; // 上限加1
if(cmd == 'D') temp_high -= 1; // 上限减1
if(cmd == 'L') temp_low -= 1; // 下限减1
if(cmd == 'R') temp_low += 1; // 下限加1
}
}
4 总结
本文设计并实现了一个 基于 51 单片机的温度控制系统报警器恒温箱蓝牙 APP 控制系统。系统能够完成 温度检测、自动恒温、上下限设置、报警提示、蓝牙通信与 APP 远程控制 等功能。
主要特点:
- 可靠性:通过 DS18B20 数字温度传感器确保温度测量精确。
- 智能化:自动判断温度情况,控制继电器驱动加热或制冷装置,实现恒温。
- 安全性:若超过 1 分钟仍无法恢复正常,蜂鸣器报警提醒用户。
- 人机交互性:用户可通过按键或手机 APP 修改阈值,LCD1602 实时显示数据。
- 可扩展性:系统可增加数据存储、WiFi 远程监控等功能,进一步提升应用价值。
本设计为实验室恒温设备、食品冷藏柜以及温室大棚环境控制提供了有效的解决方案。
阅读全文
119