《基于51单片机的智能温度控制系统Proteus仿真》说明
一、开发环境
- 仿真:Proteus 8.17 SP2 Pro
- 程序:Keil C51 V961
二、系统核心功能
1. 温度智能控制
- 温度检测
- 使用DS18B20进行温度检测,检测范围-55℃-128℃;精度0.1℃。
- 温度 大于 温度上限:运行状态设置为 高温,并点亮高温指示灯,熄灭正常、低温指示灯;
- 温度 小于 温度上限 且 大于 温度下限:运行状态设置为 正常,并点亮正常指示灯,熄灭高温、低温指示灯;
- 温度 小于 温度下限:运行状态设置为 低温,并点亮低温指示灯,熄灭正常、高温指示灯;
- 温度 大于 (温度上限 + 温度报警阈值):蜂鸣器器”滴滴“报警;报警LE闪烁;
- 温度 小于 (温度下限 - 温度报警阈值):蜂鸣器长"滴"报警;报警LED常亮。
- 运行模式
- 自动模式
- 温度 大于 温度上限:打开窗户,同时开启风扇;
- 温度 小于 温度下限:关闭窗户,同时打开加热;
- 温度 小于 温度上限 且 大于 温度下限:关闭风扇或加热,窗户状态不变。
- 手动模式
- 窗户:按键 或 上位机 控制 开启/关闭;
- 风扇:按键 或 上位机 控制 开启/关闭;
- 加热:按键 或 上位机 控制 开启/关闭。
- 自动模式
2. 人机交互系统
- 液晶屏幕显示
- LCD1602:在Proteus中的信号时LM016;
- 显示内容:
- 实时温度值
- 日期/时间 交替闪烁显示
- 设备状态:包含运行状态、通信状态、运行模式、窗户/风扇/加热状态
- 温度上限
- 温度下限
- 温度报警阈值。
- 按键控制
- 四个独立按键
- 功能:
- 切换运行模式:手动/自动;
- 窗户控制:仅限手动模式。
- 加热控制:仅限手动模式。
- 风扇控制:仅限手动模式。
3.串口通信(模拟上位机)
-
参数:TTL通信;波特率9600,8位数据位,无校验位,1位停止位。
-
功能:
- 读取数据:实时温度、系统状态;
- 读取参数:温度上限、温度下限、温度报警阈值;
- 设置温度上下限:设置温度上限值、温度下限值;
- 设置温度阈值:设置温度报警阈值;
- 设置时间:设置日期、时间;
- 设置运行模式:设置自动/手动模式;
- 设置窗户状态:打开/关闭窗户,仅限手动模式下有效;
- 设置风扇状态:打开/关闭风扇,仅限手动模式下有效;
- 设置加热状态:打开/关闭加热,仅限手动模式下有效。
-
注:通讯协议详解可参照资料内的***《通信协议说明》***。
4. 数据存储模块
使用EEPROM芯片——24C02C,存储系统参数,包含:
- 温度上限;
- 温度下限;
- 温度报警阈值;
- 系统状态。
三、仿真设计
仿真电路模块化设计,包含:
- AT89C52单片机最小系统
- LCD液晶显示
- DS18B20温度检测传感器
- 状态指示灯
- 窗户控制(步进电机控制)
- 24C02C存储芯片
- DS1302实时时钟
- 串口通信
- 声光报警电路
- 独立按键
- 风扇控制(继电器)
- 加热控制(继电器)。
四、软件设计
- 编译无警告无错误,代码量超4.6k;
- 模块化设计:
- 驱动模块:DS18B20温度传感器、DS1302实时时钟、LCD1602液晶显示、步进电机、串口、AT24C02C存储、定时器0、独立按键;
- 应用模块:系统配置、温度读取、系统控制、串口通信、数据处理、显示、按键功能。
- 简易时间片系统:
- 时间基准:10ms
- 任务数:10个
- 大量注释帮助理解学习。
五、工程链接
- 测试版:
- 包含Proteus工程 + HEX文件 + 通讯协议说明;
- 百度网盘 提取码: 4qrx