找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 593|回复: 3
打印 上一主题 下一主题
收起左侧

基于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, 下载次数: 37)

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

oled接线图

oled接线图

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1113067 发表于 2024-3-15 10:57 | 只看该作者
好,这个太好了,我喜欢
回复

使用道具 举报

板凳
ID:1116519 发表于 2024-4-13 23:13 | 只看该作者
楼主这个图片是使用什软件绘制的呢
回复

使用道具 举报

地板
ID:1092338 发表于 2024-4-19 18:05 | 只看该作者
下了代码显示温度0.0c不知到是那里出了问题啊,有用这个代码能正常显示温度吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表