51单片机与DS18B20实现的数字温度计设计

版权申诉
5星 · 超过95%的资源 3 下载量 8 浏览量 更新于2024-07-02 1 收藏 1.22MB PDF 举报
"基于51单片机及DS18B20温度传感器的数字温度计设计" 本设计涉及的核心技术是使用51系列单片机(AT89S52)与DS18B20数字温度传感器来构建一个高精度、多功能的数字温度计。51单片机因其易学易用且应用广泛,常被用作初学者学习单片机技术的入门平台。AT89S52是Atmel公司生产的一款8位微控制器,内置Flash存储器,支持在线编程,简化了程序开发和调试过程。 DS18B20是一款由Dallas Semiconductor(现Maxim Integrated)生产的数字温度传感器,其显著特点是具备单总线接口,可以在一条线上连接多个传感器,形成网络,极大地节省了硬件资源。这款传感器的测温范围宽泛,从-55℃到125℃,分辨率可调,最高可达12位,能够满足不同应用场景对精度的需求。同时,它还具有温度报警功能,当温度超出预设的上限或下限时,可通过单片机程序触发报警机制。 在硬件设计部分,系统主要由以下几个模块组成:单片机控制模块、DS18B20温度传感器模块、显示模块、按键输入模块以及报警模块。单片机负责整个系统的控制,与DS18B20通信获取温度数据;温度传感器模块通过单总线与单片机连接,提供实时温度信息;显示模块使用四位一体的数码管进行温度值的动态扫描显示,便于用户读取;按键模块用于设置温度上下限和查询当前报警状态;报警模块则在温度异常时给出声光报警信号。 软件设计方面,主要关注DS18B20的驱动程序开发。首先,要理解DS18B20的操作流程,包括初始化、读写时序等基本步骤。设计中,单片机需要发送特定的指令给传感器,以读取温度数据,这一过程涉及详细的指令表和时序控制。获取到温度值后,程序会根据设定的阈值判断是否触发报警,并更新显示模块的内容。 这个设计结合了嵌入式系统、传感器技术、数字信号处理以及人机交互等多个领域的知识,是实践应用中一个典型的物联网(IoT)设备案例。通过这个项目,不仅可以深入理解51单片机的控制原理,还能掌握数字温度传感器的使用方法,对于提升在CS领域的技能和经验大有裨益。
2023-02-27 上传
单片机原理与接口技术课程设计 课程名称: 单片机原理与接口技术 设计题目: 基于51单片机的数字温度计设计 专 业: 信 息 工 程 设 计 者: 指导老师: 摘要 随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测 和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的 成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有 一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广 ,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单片机作为主控制器件,D Sl8B20作为测温传感器通过2位共阴极LED数码管串口传送数据,实现温度显示。通过DS l8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好, 在0 ~100 最大线性偏差小于0.1 。该器件可直接向单片机传输数字信号,便于单片机处 理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理 过程。 关键字:AT89S52 51单片机 DS18B20 温度计 目 录 1 系统硬件设计方案 - 3 - 1.1 温度传感器介绍 - 3 - 1.2 温度传感器与单片机的连接 - 6 - 1.3 复位信号及外部复位电路 - 7 - 1.4 电源电路 - 7 - 1.5 显示电路 - 8 - 2 软件设计 - 9 - 3 数据测试 - 11 - 4 总结与体会 - 11 - 参考文献 - 13 - 附录1 仿真图 - 14 - 附录2 程序源代码 - 15 - 1 系统硬件设计方案 1.1 温度传感器介绍 AT89C51作为温度测试系统设计的核心器件。该器件是INTEL公司生产的MCS一5l系列单片 机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准 的MCS—51的CMOS产品。不仅结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,而且 继承和扩展了MCS—48单片机的体系结构和指令系统。单片机小系统的电路图如图2所示。 图1 单片机小系统电路 AT89C51单片机的主要特性: (1)与MCS-51 兼容,4K字节可编程闪烁存储器; (2)灵活的在线系统编程,掉电标识和快速编程特性; (3)寿命为1000次写/擦周期,数据保留时间可10年以上; (4)全静态工作模式:0Hz-33Hz; (5)三级程序存储器锁定; (6)128*8位内部RAM,32可编程I/O线; (7)两个16位定时器/计数器,6个中断源; (8)全双工串行UART通道,低功耗的闲置和掉电模式; (9)片内振荡器和时钟电路; DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电 压适用范围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。 温度传感器DS18B20引脚如图3所示。 8引脚封装 TO-92封装 图2 温度传感器 引脚功能说明: NC :空引脚,悬空不使用; VDD :可选电源脚,电源电压范围3~5.5V。当工作于寄生电源时,此引脚必须接地。 DQ :数据输入/输出脚。漏极开路,常态下高电平。 GND :为电源地 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警 触发器TH和TL、配置寄存器。 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码 。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自 身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作 用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的 。 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二 进制补码读数形式提供,以0.0625 /LSB形式表达,其中S为符号位。 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前 面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可 得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可 得到实际温度。 例如+125 的数字输出为07D0H,+25.0625 的数字输出为0191H,- 25.0625 的数字输出为FF6FH,-55 的数字输出为FC90H。 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的 E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 暂存存储器包含了