### PIC单片机之温度采集知识点详述 #### 一、单总线温度传感器DS18B20简介 **DS18B20**是由DALLAS公司生产的一款单总线数字温度传感器,它拥有以下特点: - **微型化**:体积小巧,便于集成到各种小型设备中。 - **低功耗**:适合电池供电的场合,延长设备使用时间。 - **高性能**:提供准确的温度测量结果。 - **抗干扰能力强**:适合在复杂电磁环境中使用。 - **易于与处理器配合**:通过简单的单线接口即可与微处理器通信。 **应用优势**: - 可直接将温度转化为数字信号,无需额外的模数转换器(ADC)。 - 支持多点测温,即在同一总线上可以挂载多个DS18B20传感器。 - 工作电源灵活,既可以外部供电也可以通过寄生电源方式供电。 - 减少硬件成本和布线复杂度,适用于远程多点温度检测系统。 **温度测量范围**:-55℃ ~ +125℃,满足大部分工业和家用温度检测需求。 **工作电源**:支持外部电源供电或寄生电源供电模式,增强了系统的灵活性。 **封装形式**:提供3引脚TO-92封装,便于安装和使用。 #### 二、DS18B20的外形、引脚及时序 **外形及引脚**: - TO-92封装中,引脚分配如下: - **1(GND)**:地 - **2(DQ)**:单总线数据输入输出引脚 - **3(VDD)**:可选的电源引脚(在某些应用场合可以不接) **单总线数据通信**: - 单总线系统由一个主机(通常是微处理器)和一个或多个从机设备组成,数据交换仅通过一条信号线实现。 - 当只有一个从机设备时,系统可以按单节点系统操作;当有多个从设备时,则按多节点系统操作。 - 主机或从机通过一个漏极开路或三态端口连接到数据线上,当不发送数据时,该端口可以释放总线,以便其他设备使用。 - 单总线通常需要一个约为4.7kΩ的上拉电阻,确保总线空闲时处于高电平状态。 - 通信流程包括初始化、识别单总线器件以及数据交换等步骤。主机访问单总线器件时需严格遵循命令序列。 **读写时序**: - 读写时序至少需要60μs,每两个独立的时序间至少需要1μs的恢复时间。 - 在写时序中,主机将在拉低总线15μs内释放总线,并向单总线器件写入“1”或保持至少60μs低电平写入“0”。 - 读时序中,主机发出读数据命令后,必须立即产生读时序以便单总线器件传输数据。 #### 三、DS18B20的工作过程 **温度测量原理**: - 内部包含两个振荡器:“低温度系数振荡器”和“高温度系数振荡器”。 - “低温度系数振荡器”的频率随着温度降低而减小,振荡信号送入计数器1。 - “高温度系数振荡器”的振荡频率随温度变化而变化,振荡信号送入计数器2。 - 计数差与温度成正比,通过这种方式计算出实际温度值。 **温度值的存储**: - 测温结果以9位数据格式存储在内部温度寄存器中,最高位为符号位。 - 9位数据最终以16位补码形式读出,其中符号位扩展为高8位。 - 比较器以四舍五入的方式确定温度寄存器的最低有效位,最大量化误差为±1/2LSB,即0.25℃。 **与传统温度传感器对比**: - DS18B20可以直接输出数字信号给单片机,无需额外的模数转换器。 - 相比模拟量输出的温度传感器,DS18B20简化了电路设计和程序编写。 #### 四、温度采集应用实例 **硬件接口电路**: - 实验板上的DS18B20温度传感器接口通常与单片机的某个I/O口相连。 - 数码管用于显示温度值,字形码数据通过另一I/O口送入,各数码管的显示选择信号由不同的I/O口控制。 **软件编程**: - 使用MPLab IDE软件进行C语言编程,该软件作为编程环境。 - 通过ICD2仿真烧写器将编写的程序下载到增强型PIC实验板上。 - 编程过程中需要考虑如何从DS18B20获取温度数据,并将其转换为合适的格式显示在数码管上。 **DS18B20单总线温度传感器**是一款非常实用的温度检测设备,尤其适用于需要简化电路设计和降低成本的场景。通过简单的硬件接口和编程,可以轻松实现温度的实时监测和显示功能。
- 粉丝: 10
- 资源: 969
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助