自制51单片机DS18B20温度传感器头文件

需积分: 33 6 下载量 31 浏览量 更新于2024-09-11 1 收藏 30KB DOC 举报
"自制51单片机常用头文件" 这篇资源是关于51单片机编程的,重点在于创建自定义的头文件以方便管理项目中的常用功能。具体来看,这个头文件`TEMPERATURE.H`包含了与DS18B20数字温度传感器交互的相关函数和定义。 首先,`TEMPERATURE.H`头文件定义了两个数据类型`uchar`(无符号字符)和`uint`(无符号整型),这是在51单片机编程中常用的类型,用于存储和处理不同范围的数据。 接下来,定义了一个位变量`sbit DQ = P3^3;`,这表明DS18B20传感器的数据线连接到了单片机P3口的第三位。`sbit`是特殊功能位变量,用于控制特定I/O口。 头文件中还声明了一个全局数组`uchardataTp[8];`,用于存储从DS18B20获取的8位温度数据。`data`关键字表示该变量存储在内部数据存储区。 接着,头文件提供了一些与DS18B20交互的关键函数: 1. `void Delay_DS(uint useconds)`:这是一个延时函数,用于实现1微秒的精确延时,这对于DS18B20这种对时间序列要求严格的传感器来说至关重要。函数通过循环减法实现了延迟,直到`useconds`计数器清零。 2. `void Ow_Reset()`:这是DS18B20的复位函数,复位是操作该传感器的第一步。函数首先将DQ设为高电平,然后延迟一段时间,再将其拉低。这个过程符合DS18B20的复位时序。 这些函数和定义使得程序员能更方便地与DS18B20进行通信,读取温度数据,并确保遵循传感器的操作时序。通过将这些常用功能封装在头文件中,可以提高代码的可重用性和可维护性,减少重复编写相同的代码,提高开发效率。 在实际应用中,当需要使用DS18B20进行温度测量时,只需在C51程序中包含`TEMPERATURE.H`头文件,就可以调用其中的函数来初始化、复位和读取温度数据,从而简化了编程过程。这种方式对于51单片机的其他项目也是通用的,只要替换相应的传感器或功能,就能快速构建新的系统。