基于DS18B20的数字温度计设计

版权申诉
0 下载量 89 浏览量 更新于2024-07-13 收藏 1.14MB PDF 举报
"该文档是关于单片机课程设计的报告,主要讨论了如何使用单片机构建一个数字温度计。设计目标包括温度测量、超出范围报警、LED数码管显示以及温度上下限的手动设置。设计中选择了DS18B20温度传感器和AT89S51单片机作为核心组件。" 在单片机课程设计中,学生马飞选择了制作一款数字温度计作为项目。设计要求包括精确测量温度并在超出预设范围时发出报警,使用LED数码管显示温度,并允许用户通过按键设定温度的上下限。设计内容涵盖了硬件电路设计、软件编程以及实物样品的制作。 在设计方案的选择上,有两个主要选项。第一种方案是利用热敏电阻进行温度检测,然后通过A/D转换将模拟信号转化为数字信号,再由单片机处理和显示。然而,这种方案需要复杂的感温电路和A/D转换电路。相比之下,第二种方案更受欢迎,即采用DS18B20温度传感器,它可以直接提供数字化的温度值,简化了电路设计和软件编程。因此,方案二被选中。 DS18B20温度传感器是一种集成度高的智能传感器,由DALLAS半导体公司制造。它的优点在于仅需一个端口引脚进行单线通信,支持多点组网,无需额外的外部器件,电压适应范围广(3.0~5.5V),并且具有极低的待机功耗。这种传感器的使用使得系统设计更为简洁高效。 硬件设计中,控制核心是AT89S51单片机,它以其低电压工作和小巧的体积适合于手持设备。单片机的四个端口中的两个就足以满足系统需求。显示电路部分,采用了3位共阳LED数码管,通过动态扫描的方式,利用P0口输出段码,P2口的P2.5、P2.6、P2.7输出位码来驱动数码管显示温度。 软件设计方面,需要编写程序来处理DS18B20传感器的数据读取,温度值的处理和显示控制,以及按键输入的响应,实现温度上下限的设定和报警功能。这部分通常涉及C语言编程,可能包括中断服务子程序、I/O口操作、定时器和串行通信协议的运用。 这个单片机课程设计项目不仅锻炼了学生的硬件设计能力,也提升了他们的软件编程技巧,尤其是针对嵌入式系统和实时数据处理的理解。通过实施这样的项目,学生可以深入理解单片机在温度监测系统中的应用,以及如何优化设计以提高系统的可靠性和易用性。