基于STC89C52单片机的数字温度控制系统设计

0 下载量 110 浏览量 更新于2024-06-23 收藏 498KB DOC 举报
"基于STC89C52单片机和DS18B20的数字温度计设计" 本文档是一篇关于使用单片机设计数字温度计的毕业论文,主要探讨了如何利用STC89C52单片机和数字温度传感器DS18B20构建一个温度监测系统,该系统具备实时温度显示、温度报警以及历史温度查询等功能。STC89C52是一款常用的8位微控制器,因其集成度高、性能稳定且易于编程而常被用于嵌入式系统设计。 1. 设计要求: - 基本要求包括实时显示0~500℃范围内的温度,且测量误差需控制在50℃以内。 - 扩展功能涵盖温度报警机制,当温度超过预设阈值时,系统应能发出声光报警,同时记录最近的10个温度值供用户查询。 2. 总体方案设计: - 方案论证比较了两种可能的设计方案,最终选择了以STC89C52RC单片机为核心,结合DS1302实时时钟和DS18B20温度传感器的方案。 - 总体设计框图描绘了系统的主要组成部分,包括单片机、实时时钟、温度传感器、显示模块、报警模块和键盘输入模块。 3. 硬件设计: - 单片机系统负责整个系统的控制和逻辑运算。 - 数字温度传感器DS18B20具有集成度高、精度高的特点,其性能、引脚说明、接线原理和时序图都在硬件设计部分进行了详细解释。 - 显示电路采用LCD1602液晶显示器,能够显示实时时间和过去24小时的温度值。 - 声光报警电路确保在温度异常时能够及时提醒用户。 - 键盘输入电路允许用户设置温度阈值和查询历史温度。 4. 软件设计: - 主程序模块是系统的运行核心,管理其他所有子模块的运行。 - 读温度值模块负责从DS18B20获取并处理温度数据。 - 中断模块处理来自外部的信号,如温度报警触发。 - 温度查询模块让用户能够查看过去的温度记录。 - 温度设定和报警模块允许用户设置温度报警阈值,并在超出范围时启动报警。 - 数码管驱动模块则控制LED数码管显示温度值。 5. 总结: 该设计实现了温度监控的基本需求,并具备良好的扩展性和实用性,适用于多种场合的温度控制和监测。采用C语言编写程序,有利于系统的移植和升级。 这篇论文详细阐述了从硬件选型到软件编程的全过程,对于学习单片机应用和数字温度计设计的学生来说,提供了宝贵的参考资料。