C51单片机温度传感器初始化教程:DS18B20详解

需积分: 0 1 下载量 132 浏览量 更新于2024-07-13 收藏 1.85MB PPT 举报
本资源是一份关于C51单片机与温度传感器DS1820的教程,针对第12讲内容,主要讲解了如何在C51开发环境下使用DS18B20温度传感器。初始化子过程`void dsreset(void)`是关键部分,它负责对DS18B20进行复位和基本配置,以确保通信的正确进行。 首先,DS18B20是Dallas公司生产的一种数字温度传感器,采用单总线接口设计,仅需连接到单片机的一个端口就能实现双向通信。这种设计使得它在空间有限的应用中非常实用,支持多个传感器共用一条数据线,适合于远程多点温度检测。 DS18B20的主要特性包括: - 温度测量范围:-55℃到+125℃,在特定温度区间内具有±0.5℃的测量精度。 - 200毫秒的温度数字量转换时间。 - 内部包含64位ROM地址,用于区分不同芯片,地址码包含产品类型标识、序列号以及校验码,便于识别和管理多个传感器。 在硬件操作上,初始化过程通过控制数据线ds的高低电平实现,先输出低电平并延时750us,然后输出高电平再延时30us,这是为了确保传感器进入工作模式并准备接收命令。这个步骤对于后续的温度读取和设置至关重要。 温度测量原理基于两个振荡器的计数器,一个是低温度系数振荡器,提供频率稳定的计数脉冲;另一个是高温度系数振荡器,其频率随温度变化。温度寄存器会根据这两个计数器的差异更新,通过计数器1的递减计数来表示温度变化。 整个测量过程遵循一个固定的算法:温度寄存器预先设置为-55℃,然后随着计数器1的递减,温度值按每计数一次增1℃的方式更新。斜坡累加器用于补偿振荡器温度特性带来的非线性,确保温度测量的准确性。 最后,提到如果电源极性接反,DS18B20虽然会发热,但不会永久损坏,这体现了该传感器的稳健性。 总结来说,这份资料深入浅出地介绍了C51单片机与DS18B20温度传感器的集成应用,包括初始化过程、工作原理和关键参数,对于初学者理解和编程此类传感器系统具有很高的参考价值。