DS18B20单片机温度测量与初始化程序详解
需积分: 10 76 浏览量
更新于2024-12-27
收藏 40KB DOC 举报
本资源是一份针对DS18B20单片机的汇编语言程序,主要应用于温度测量系统。DS18B20是一款数字温度传感器,该程序主要包括以下几个关键部分:
1. **标志位与寄存器地址**:
- `FLAG1BITF0` 是DS18B20存在状态的标志位。
- `DQBITP1.7` 用于数据线通信,连接到单片机的P1.7引脚。
- `TEMPER_LEQU29H` 和 `TEMPER_HEQU28H` 可能是存储温度读取结果的低位和高位寄存器地址。
- `A_BITEQU35H` 和 `B_BITEQU36H` 可能是用于温度数据的一字节和两字节地址。
2. **程序流程**:
- 程序从 `ORG0000H` 开始,通过 `AJMPMAIN` 跳转至主程序。
- 主程序 `MAIN` 包含初始化 (`LCALLINIT_18B20`)、可能的重新配置 (`LCALLRE_CONFIG`, 但此部分代码被注释掉了)和获取温度 (`LCALLGET_TEMPER`)。
- 初始化过程 `INIT_18B20` 用于设置DS18B20的通信参数,包括延时和标志位操作,确保设备就绪。
- `RE_CONFIG` 部分原本设计用于配置DS18B20的暂存器,如温度报警上下限和分辨率,但由于未实际执行,这部分代码也被注释掉。
- `GET_TEMPER` 函数用于触发温度转换,读取并处理转换后的数据。
3. **核心操作**:
- 通过 `SETBDQ` 和 `CLRBQ` 操作控制数据线的输出和接收,以及通过 `MOVR0` 寄存器操作来实现延时。
- `LCALL` 命令调用子函数进行特定功能,如写入或读取DS18B20的寄存器。
- `JBFLAG1` (Jump if Bit 1 Set) 语句用于检测DS18B20是否存在,存在的情况下执行后续操作。
这个程序的主要目标是利用DS18B20进行温度测量,并可能设置报警阈值和配置分辨率。对于需要在嵌入式系统中集成温度监控应用的开发人员来说,这份代码提供了一个基本的框架,但实际应用时需要根据具体硬件环境和需求进行修改和优化。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-01-02 上传
2022-11-27 上传
2024-06-25 上传
2022-09-21 上传
zxy58260
- 粉丝: 0
- 资源: 1
最新资源
- Pro C# 2008 and the NET 3.5 Platform Fourth Edition.pdf
- c# 自定义用户控件
- Addison.Wesley.Advanced.ASP.NET.AJAX.Server.Controls.For.dot.NET.Framework.3.5.Jul.2008.pdf
- C++ string 深入详解(2.0)
- Apress.Pro.LINQ.Language.Integrated.Query.in.CSharp.2008
- Ajax中使用JSON.doc
- 无线网络技术与应用—课程学习笔记
- 自主性学习CAI多媒体教学软件设计
- 二级VB试题及答案 全国计算机二级VB试题及答案
- 交通运输参考文献 建模必备
- CortexA9处理器
- 城市垃圾运输 完成版
- 网上商城系统的完整论文
- ObjectARX开发实例教程-20070715.pdf
- badboy中文手册
- 组合导航中视觉系统动态定位方法研究