找回密码
 立即注册
查看: 145|回复: 1

【非官方】测试通过,STC32G/STC32F单片机上实现DS18B20测温,通过CDC串口直接返回

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:446
  • 最近打卡:2025-06-16 21:32:56
已绑定手机

51

主题

142

回帖

1748

积分

金牌会员

积分
1748
发表于 2025-4-10 21:55:41 | 显示全部楼层 |阅读模式
经过测试,可以在热门单片机STC32G12K128和STC32F12K54中实现DS18B20测温,将结果返回在CDC串口中,超低成本,任何开发板/试验箱(STC32系列即可)都可实现,没有局限,超级简单,容易懂,时序规范

STC32系列温度传感器.zip

182.57 KB, 下载次数: 5

用尽STC单片机的资源是我的梦想
回复

使用道具 举报 送花

3

主题

713

回帖

137

积分

等待验证会员

积分
137
发表于 2025-4-10 22:18:02 | 显示全部楼层
基于STC32系列单片机的DS18B20温度传感器应用实现

摘要: 本文介绍了一种基于STC32系列单片机的DS18B20温度传感器应用实现方案。该方案利用STC32G12K128和STC32F12K54单片机的强大功能,实现了DS18B20温度数据的采集,并通过CDC串口将数据实时返回。该方案具有低成本、易实现、通用性强等特点,适用于各种开发板和试验箱。

关键词: STC32系列单片机,DS18B20,温度传感器,CDC串口

1. 引言

DS18B20是一款常用的数字温度传感器,具有单总线接口、精度高、功耗低等优点,广泛应用于各种温度测量场合。STC32系列单片机是国产高性能单片机,具有丰富的外设资源和强大的处理能力,能够满足各种应用需求。

2. 硬件设计

本方案采用STC32G12K128或STC32F12K54单片机作为主控芯片,DS18B20温度传感器作为温度采集器件。硬件连接图如图1所示。

!硬件连接图

3. 软件设计

软件设计主要包括DS18B20初始化、温度数据读取、数据转换和串口通信等部分。

3.1 DS18B20初始化

DS18B20初始化包括复位、写配置寄存器等操作。具体代码如下:
  1. c
  2. void DS18B20Init(void)
  3. {
  4.     // 复位DS18B20
  5.     DS18B20Reset();
  6.     // 写配置寄存器
  7.     DS18B20WriteByte(0x4E);
  8.     DS18B20WriteByte(0x7F);
  9.     DS18B20WriteByte(0x1F);
  10. }
复制代码

3.2 温度数据读取

温度数据读取包括启动温度转换、读取温度数据等操作。具体代码如下:

```c
float DS18B20ReadTemp(void)
{
    // 启动温度转换
    DS18B20Reset();
    DS18B20WriteByte(0xCC);
    DS18B20WriteByte(0x44);
    // 等待温度转换完成
    while(!DS18B20ReadBit());
    // 读取温度数据
    DS18B20Reset();
    DS18B20WriteByte(0xCC);
    DS18B20WriteByte(0xBE);
    uint8t tempL = DS18B20ReadByte();
    uint8t tempH = DS18B20ReadByte();
    // 计算温度值
    int16t temp = (tempH

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 10:17 , Processed in 0.144031 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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