# SJU_MCU51Practice_Temperature **Repository Path**: sparkstudiosju/SJU_MCU51Practice_Temperature ## Basic Information - **Project Name**: SJU_MCU51Practice_Temperature - **Description**: 51单片机集中实践——温度检测报警装置 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-22 - **Last Updated**: 2025-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STC51 DS18B20温度检测系统 这是一个基于STC89C52单片机和DS18B20温度传感器的温度检测系统。系统具有温度显示、报警功能和温度阈值设置功能。 ## 硬件要求 - STC89C52单片机 - DS18B20温度传感器 - 4位共阳数码管显示,PNP位驱动 - LED指示灯 - 蜂鸣器 - 3个按键(增加、减少、确认) - 12MHz晶振 ## 引脚连接 - DS18B20数据线: P1.4 - 数码管位选: - 位1: P2.5 - 位2: P2.6 - 位3: P2.7 - 位4: P2.4 - 按键: - 减键: P3.2 - 加键: P3.3 - 设置键: P3.4 - LED指示灯: P1.3 - 蜂鸣器: P1.2 ## 功能特点 1. **温度显示** - 4位数码管显示当前温度 - 支持小数点后一位显示 - 动态扫描显示 2. **温度报警** - 可设置温度上下限 - 超出范围时蜂鸣器报警 - LED指示灯状态指示 3. **参数设置** - 通过按键设置温度上下限 - 设置模式循环切换 - 支持0.1℃精度调节 4. **串口通信** - 波特率:4800bps - 实时发送温度数据 - 支持调试信息输出 ## 使用说明 1. **温度显示** - 系统启动后自动显示当前温度 - 温度值保留一位小数 2. **参数设置** - 按下设置键进入设置模式 - 再次按下设置键切换设置项(温度下限/上限) - 使用加减键调节温度值 - 设置完成后再次按下设置键退出设置模式 3. **报警功能** - 当温度低于下限或高于上限时,蜂鸣器报警 - LED指示灯闪烁指示系统运行状态 ## 注意事项 1. 确保DS18B20正确连接,初始化失败时LED指示灯会保持熄灭状态 2. 温度测量范围:-55℃ ~ +125℃,精度:±0.5℃ 3. 系统使用12MHz晶振,请确保晶振频率正确 4. 温度上下限设置范围:0.0℃ ~ 99.9℃ ## 开发环境 - 编译器:Keil C51 - 编程语言:C51 - 目标芯片:STC89C52 ## 文件说明 - `main.c`: 主程序文件,包含所有功能实现 - 包含以下主要功能模块: - DS18B20驱动 - 数码管显示 - 按键处理 - 串口通信 - 定时器中断 #### 介绍 本项目是一个基于51单片机的温度检测报警装置,使用DS18B20数字温度传感器实现温度测量功能。系统具有以下特点: - 实时温度监测 - 温度报警功能 - 数字显示 - 高精度测量(±0.5℃) - 低功耗设计 #### 硬件要求 - STC89C52单片机 - DS18B20温度传感器 - 4位共阳数码管 - 蜂鸣器(用于报警) - 按键模块 - 电源模块 #### 软件架构 - 主程序:系统初始化和主循环控制 - 温度采集模块:DS18B20驱动和温度读取 - 显示模块:LCD1602显示控制 - 报警模块:温度阈值判断和报警控制 - 按键处理模块:参数设置和功能控制 #### 安装教程 1. 硬件连接 - 将DS18B20数据线连接到P3.7引脚 - 数码管数据线连接到 - 蜂鸣器连接到P2.5引脚 - 按键模块连接到P3.0-P3.3引脚 2. 软件烧录 - 使用STC-ISP软件 - 选择正确的单片机型号(STC89C52) - 设置正确的晶振频率(11.0592MHz) - 烧录程序到单片机 3. 上电测试 - 接通电源 - 观察LCD显示是否正常 - 测试温度显示功能 - 验证报警功能 #### 使用说明 1. 基本操作 - 上电后系统自动开始温度检测 - LCD显示当前温度值 - 温度超过设定阈值时蜂鸣器报警 2. 参数设置 - 按下设置键进入设置模式 - 使用上下键调整温度阈值 - 确认键保存设置并退出 3. 注意事项 - 确保DS18B20连接正确 - 避免传感器接触水或腐蚀性物质 - 定期检查系统工作状态 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 联系方式 如有问题或建议,请通过以下方式联系: - 提交Issue - 发送邮件至项目维护者 #### 许可证 本项目采用 MIT 许可证 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)