基于stm32实现DS18B20温度检测仿真

一、cubmax设置

PA0作为DS18B20数据口

 打开串口1,显示温度信息

时钟树设置72MHZ。

二、程序

头文件

/* USER CODE BEGIN Includes */
#include "DS18B20.h"
#include "stdio.h"
/* USER CODE END Includes */

串口重定向

/* USER CODE BEGIN 0 */
int fputc(int ch ,FILE *f){
    HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 0xffff);
    return ch;
}
float temperature;
/* USER CODE END 0 */

 DS18B20初始化

 /* USER CODE BEGIN 2 */
      DS18B20_Start(); // ds1820 start convert
      temperature=DS18B20_Get_Temp();
      HAL_Delay(750);
      printf("DS18B20 init success!!!\r\n");
  /* USER CODE END 2 */

 显示温度数据

  while (1)
  {            
        temperature=DS18B20_Get_Temp();    
        printf("当前温度: %.2f\r\n", temperature);    
        HAL_Delay(100);        /* 100ms 读取一次温度值 */        
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
  }

 DS18B20驱动

链接:https://pan.baidu.com/s/1AcReAjdcxlw8RmoquWxcNw
提取码:8fyt

三、Proteus设置

 虚拟串口

 单片机时钟72MHZ

 四、演示效果

 

 

 

posted @   Yoku  阅读(674)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示