自制DS18B20温度计:51单片机实现温度检测与报警
需积分: 3 119 浏览量
更新于2024-09-18
收藏 5KB TXT 举报
"DS18B20温度计设计,基于51单片机,具有温度检测和高温报警功能。"
本文将详细讲解如何利用DS18B20传感器设计一个温度计,以及如何实现其在51单片机上的应用。DS18B20是一种流行的数字温度传感器,它能够提供精确的温度读数,并且可以直接与微控制器进行一对一的通信,无需额外的A/D转换器。
首先,DS18B20.c文件中的代码表明该程序是用于控制DS18B20传感器并与之交互的核心部分。在注释中,可以看到程序支持温度范围0~99.9摄氏度的读取,并提供了温度上下限报警功能。默认配置下,温度采样率为38次/秒,但可以通过修改代码来调整这个值。
代码中定义了一些关键的宏,如SETP3_1、DECP3_2、ADDP3_3和BEEPP3_7,这些是与51单片机P3端口相关的引脚定义,分别对应数据线、下降沿触发、上升沿触发和蜂鸣器。bit变量hanshuo_st和beep_st用于控制显示和蜂鸣器的状态。DIAN变量用于连接DS18B20的数据线,而x变量用于记录时间。
Delay函数是一个简单的延时子程序,通过循环减法实现。InitTimer函数初始化定时器0,设置为模式1,用于产生50ms的定时中断,这对于实时监测和更新温度读数非常有用。timer0函数是定时器0的中断服务程序,负责重装载定时器初值。int0函数处理外部中断0,这通常与DS18B20的响应有关,比如检测到温度变化或者触发报警。
LEDData数组包含了用于驱动数码管显示的段码,使得温度值能够在显示器上直观地呈现。shangxian和xiaxian变量设定温度的上限和下限,当温度超出这些值时,系统会触发报警。
这个DS18B20温度计设计结合了硬件和软件两部分,通过51单片机的控制实现了温度的实时监测和报警功能。用户可以根据实际需求调整采样率、温度范围以及其他参数,使其更加适应各种应用场景。设计者还考虑到了用户的易用性,通过数码管显示温度值,同时有声音提示功能,增强了系统的实用性。
2009-08-21 上传
1371 浏览量
2023-05-09 上传
2009-09-28 上传
260 浏览量
450 浏览量
238 浏览量
296 浏览量
点击了解资源详情
sduwhzhx305
- 粉丝: 0
- 资源: 3
最新资源
- 软件体系结构 系统分析师 系统架构师
- 微内核工作流引擎体系结构与部分解决方案参考
- svn tortoise
- C#教程 基于pdf格式
- j2ee中文指南(安全,事物,ejb等)
- PC与三菱FX2N型PLC串口通信的实现
- S3C2410完全开发流程
- flex程序员杂志,国内唯一的flex专业杂志,里面包含很多精华帖子
- 详细图解说明多普达S1 手机永久解锁刷机
- jquery入门教程
- ActionScript 3.0 Cookbook 中文完整版
- c#2003水晶报表总结,讲的很细很全面。
- 软件工程思想 讲述“软件开发”和“做程序员”的道理
- Microsoft Visual Studio .NET 使用技巧手册
- 08年下半年网络工程师考试题(下午).pdf
- dot Net Mobile