DS18B20读取指南:一步步教你如何操作

发表时间: 2024-12-17 12:51

一、前言

  手边常用到 的这款 OLED 常常用于嵌入式设备的调试屏幕,下面移植到 AI8051U单片机下,同时对DS18B20 温度传感器进行操作。将移植后的软件用于将来的实验中。

二、电路设计

  设计测试电路。设计一个OLED接口。通过P3.3 连接 DS18B20。下面设计单面PCB,适合一分钟制板。一分钟之后得到测试电路板。电路板制作的非常完美。下面焊接测试。

三、焊接测试

  焊接电路,使用探针夹子连接STC的下载器,现在工作电压为5V,对于所使用的OLED是否能够工作,也希望能够通过测试验证一下。

  修改OLED源文件中的端口信息,使得它与现在电路板上的端口保持一致。然后在主程序中调用这些函数。下载之后单片机工作在 45MHz左右,可以看到在5V电源下,OLED能够正常工作。

四、读取DS18B20

  在电路板上,使用 P3.3 端口读取 温度传感器 DS18B20,原本应该在外部设置一个上拉电阻,这里使用了AI8051U的准双向端口内部的上拉电阻,外部不再设置上拉电阻了。

  移植了网络上别人编写的 DS18B20的程序。修改了其中的端口号,根据单片机的运行速度,修改了这个 NOP 函数,使得延迟子函数能够有正确的时长。这部分需要提前进行测试。读取DS18B20的温度值,在 OLED 上进行显示。可以看到,实际上的数值比起室温还是大了 3 摄氏度左右。

※总  结 ※

  本文测试了AI8051U单片机驱动OLED的模块,可以在5V电压下进行工作。移植了DS18B20温度传感器,外部不再使用上拉电阻的情况下,利用AI8051 的 IO内部上拉电阻完成对 DS18B20的操作。相应的子程序都放置在CSDN的博文中了。

调试子程序

DS18B20 子程序

(1) C语言程序

(2) 头文件

OLED程序

(1) C语言程序

(2)头文件

参考资料

[1]

【常用传感器】DS18B20温度传感器原理详解及例程代码: https://blog.csdn.net/as480133937/article/details/112604303