标题: 基于STM32的DS18B20温度传感器应用程序 [打印本页]

作者: 夜夜发    时间: 2024-3-1 21:14
标题: 基于STM32的DS18B20温度传感器应用程序
基于江协科技的OLED显示屏代码,将DS18B20的DQ引脚连接到开发板上的PA0,实现在oled上实时显示当前温度。下面是部分代码
  1. #include "stm32f10x.h"                  // Device header
  2. #include "Delay.h"
  3. #include "OLED.h"
  4. #include "DS18B20.h"
  5. #include <stdio.h>
  6. int main(void)
  7. {
  8.     OLED_Init();
  9.     OLED_ShowString(1,1,"Temp:");// 在OLED上显示"Temp:"
  10.     DS18B20_Init();

  11.     while(1)
  12.     {
  13. // 读取温度
  14.         short temperature = DS18B20_Get_Temp();// 读取DS18B20温度传感器的温度值

  15.         // 将温度转换为字符串 temperature / 10为整数部分,temperature % 10为小数部分
  16.         char tempStr[10];
  17.         sprintf(tempStr, "%+d.%d C", temperature / 10, temperature % 10);// 将温度值格式化为字符串
  18.         //由于DS18B20_Get_Temp()函数乘0.625来获得十分之一摄氏度的精度,这里再除以10来以摄氏度为单位显示温度

  19.         // 在 OLED 上显示温度
  20.         OLED_ShowString(1, 6, tempStr);

  21.         // 延时一段时间,以便观察温度变化
  22.         Delay_ms(500);
  23.     }
  24. }
复制代码

原理图: 无
仿真: 无
代码: 程序.7z (543.21 KB, 下载次数: 74)

4-1 OLED显示屏.jpg (197.09 KB, 下载次数: 70)

oled接线图

oled接线图

作者: BAWAN    时间: 2024-3-15 10:57
好,这个太好了,我喜欢
作者: Gang_stu    时间: 2024-4-13 23:13
楼主这个图片是使用什软件绘制的呢
作者: Dfangnk    时间: 2024-4-19 18:05
下了代码显示温度0.0c不知到是那里出了问题啊,有用这个代码能正常显示温度吗?
作者: slslsl    时间: 2024-6-17 17:02
温度显示0.0啊

作者: Dannysky    时间: 2025-4-6 21:09
Dfangnk 发表于 2024-4-19 18:05
下了代码显示温度0.0c不知到是那里出了问题啊,有用这个代码能正常显示温度吗?

+1我也是,用了这个显示+0.0




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1