读单总线上并联的多个DS18B20器件的ROM程序(汇编)

### 读单总线上并联的多个DS18B20器件的ROM程序(汇编) #### 概述 本文档介绍了如何通过汇编语言实现读取连接在单总线上的多个DS18B20温度传感器的ROM码。DS18B20是一种常用的数字温度传感器,具有体积小、功耗低、接口简单等特点。每个DS18B20设备都有一个唯一的64位ROM码,使得即使多个设备共用同一总线,也能独立地识别每一个设备。 #### 单总线技术与DS18B20简介 单总线技术允许在一个单一的数据线上连接多个设备,简化了硬件设计并减少了所需的引脚数量。DS18B20是一种基于单总线技术的数字温度传感器,它可以将温度读数直接转换为数字信号输出,而无需额外的模数转换电路。每个DS18B20设备都有一个固定的64位ROM码,用于唯一标识该设备。 #### 程序结构与功能 本程序使用的是Microchip的PIC16F877A微控制器,并通过其RA4端口进行数据通信。程序的目标板使用4MHz的晶振,并且与上位机的通讯采用超级终端方式,波特率为9600bps,数据位为8位,无奇偶校验,停止位为1位。此外,程序还通过RC0端口控制LED灯的状态,以指示程序运行情况。 #### 主要功能点 1. **ROM码读取**: 当用户在超级终端上输入"A"时,程序会启动ROM码的读取过程,读取单总线上所有DS18B20设备的ROM码。 2. **ROM码搜索原理**: 通过搜索算法确定总线上连接的所有DS18B20设备的ROM码。这一过程涉及到一系列步骤,包括初始化总线、发送复位脉冲、发送ROM函数命令以及逐位读取ROM码等。 3. **ROM码解析**: 读取到的ROM码会被解析并显示在超级终端上。ROM码由64位组成,前8位代表设备类型,后56位用于唯一标识具体的DS18B20设备。 4. **错误处理**: 如果用户输入非"A"字符,则程序会直接将其回显到超级终端而不执行任何操作。 5. **LED状态指示**: 通过RC0端口控制LED灯的状态,以0.5秒的周期闪烁,指示程序运行正常。 #### 关键寄存器定义 - **LASTDISCREPANCY (60H)**: 标志位,指示前一次搜索到的已是最后一个器件。 - **ID_BIT_NUMBER (61H)**: 记录当前搜索的是ROM码中的哪一位。 - **DISCREPANCY_MARKER (62H)**: 在搜索过程中标记差异位。 - **ID_BIT_NUMBER_TEMP (63H)**: 在搜索过程中用于临时存储的寄存器。 - **LAST_ZERO (64H)**: 上次被写入0的值差异位的位置。 #### 关键指令与宏定义 - **BANKxMACRO**: 定义了不同的内存体选择宏,如BANK0、BANK1等,用于选择不同的内存体。 - **ORG**: 定义程序或数据的起始地址。 - **BSF/BCF**: 位设置和位清除指令,用于修改特定寄存器中的某一位。 - **GOTO**: 跳转指令,用于改变程序执行流。 - **CALL**: 子程序调用指令,用于调用子程序。 #### 结论 通过上述分析可以看出,此程序利用汇编语言实现了对单总线上并联的多个DS18B20温度传感器ROM码的读取。它不仅提供了一个实际应用案例,还展示了如何利用单总线技术以及DS18B20的特性来构建高效、可靠的温度监测系统。此程序对于学习单总线技术和DS18B20的应用具有较高的参考价值。














剩余14页未读,继续阅读

- YYYY-MM-DD2013-01-13细节不好,源程序不行,无仿真
- 帅冲2015-11-20算法可以借鉴,应用起来需要好的基础,慎重下载
- dangchaoqun062014-10-28汇编的算法可以借鉴
- cgbadsl2011-10-02这个pdf说的是不是很全,如果能有仿真效果会比较好。

- 粉丝: 2
- 资源: 28
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 毕业设计,开题报告,论文参考:基于增强现实的机器人仿真系统设计与实现-工业自动化仿真领域的创新实践
- 毕业设计,开题报告,论文参考:基于Unity3D引擎的回合制休闲塔防手机游戏设计与实现-完整开发流程与优化策略
- 毕业设计,开题报告,论文参考:CRM应用优化销售团队的系统设计与实现-基于Android平台的开发,功能集成,提升销售效率,用于销售流程管理与效率提升
- 毕业设计,开题报告,论文参考:基于Spring MVC的在线洗衣服务平台开发实例
- 上海市黄浦区建筑轮廓shp数据
- 毕业设计,开题报告,论文参考:农业信息管理系统设计与实现-基于SSM框架的高并发数据处理与模块化设计
- 毕业设计,开题报告,论文参考:基于JAVAEE的汇聚业务支撑平台设计与实现-分布式架构下的权限控制与性能优化
- 2025最新BING每日桌面
- 毕业设计,开题报告,论文参考:图片处理系统的设计与实现-基于Android平台的功能拓展与应用开发
- 基于MNIST合成的多位数手写数字识别数据集.zip
- 毕业设计,开题报告,论文参考:基于Android的校园智能导航与信息管理平台设计与实现-面向国际学生的移动应用解决方案
- 毕业设计,开题报告,论文参考:基于Android系统的UGC兴趣社交媒体设计与实现-企业级应用,模块化开发,用户体验优化,社交互动
- 毕业设计,开题报告,论文参考:Android移动学习应用“试题君”的设计与开发-基于图文混排、离线模式与性能优化的教育工具
- 毕业设计,开题报告,论文参考:OTA系统基于位置服务的功能设计与实现-软件工程-创新性-旅游信息服务
- 李茵桐202304201044.html
- 毕业设计,开题报告,论文参考:非标准化住宿管理系统移动客户端设计与实现-混合模式开发,功能完备,管理优化


