登录/注册

lm75ad 程序

更多

以下是使用STM32 HAL库驱动LM75AD温度传感器的中文程序示例,包含初始化、温度读取和转换逻辑:

1. 宏定义与全局变量

#include "stm32f1xx_hal.h"

#define LM75_ADDR_WRITE 0x90 // I2C写地址 (默认A0=A1=A2=0)
#define LM75_ADDR_READ  0x91 // I2C读地址
#define TEMP_REGISTER   0x00 // 温度寄存器地址

I2C_HandleTypeDef hi2c1; // I2C句柄(根据实际使用的I2C修改)

2. I2C初始化函数

void I2C_Init(void) {
  hi2c1.Instance = I2C1;
  hi2c1.Init.ClockSpeed = 100000;      // 100kHz标准模式
  hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
  hi2c1.Init.OwnAddress1 = 0;
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;

  if (HAL_I2C_Init(&hi2c1) != HAL_OK) {
    Error_Handler(); // 初始化错误处理
  }
}

3. 读取温度函数

float LM75_ReadTemp(void) {
  uint8_t tx_data = TEMP_REGISTER;
  uint8_t rx_data[2] = {0};
  int16_t raw_temp;
  float temperature;

  // 步骤1: 发送温度寄存器地址
  if (HAL_I2C_Master_Transmit(&hi2c1, LM75_ADDR_WRITE, &tx_data, 1, HAL_MAX_DELAY) != HAL_OK) {
    return -999; // 传输错误
  }

  // 步骤2: 读取两个字节温度数据
  if (HAL_I2C_Master_Receive(&hi2c1, LM75_ADDR_READ, rx_data, 2, HAL_MAX_DELAY) != HAL_OK) {
    return -999; // 接收错误
  }

  // 步骤3: 数据转换
  raw_temp = (rx_data[0] << 8) | rx_data[1]; // 合成16位数据
  raw_temp >>= 5; // 丢弃低5位(无效位)

  // 处理负数温度(补码转换)
  if (raw_temp & 0x0400) { // 检查第10位(符号位)
    raw_temp |= 0xFC00;    // 扩展符号位(16位补码)
  }

  temperature = raw_temp * 0.125; // LSB = 0.125°C
  return temperature;
}

4. 主函数调用示例

int main(void) {
  HAL_Init();
  I2C_Init();

  while (1) {
    float temp = LM75_ReadTemp();
    printf("当前温度: %.2f°C\n", temp); // 通过串口输出
    HAL_Delay(1000);
  }
}

关键说明:

  1. I2C地址:默认地址 0x48(7位),若A0/A1/A2接VCC则需调整:
    • 0x48 + (A2<<2 | A1<<1 | A0) 计算后左移1位
  2. 数据格式
    • 接收两个字节(MSB + LSB)
    • 有效位为高11位(低5位可忽略)
    • 温度值 = 原始数据 × 0.125(°C)
  3. 负温度处理
    • 当第10位(bit10)为1时是负数
    • 通过符号位扩展转换为16位有符号数

调试建议:

  1. 用逻辑分析仪检查I2C波形
  2. 检查LM75AD供电(3.3V)
  3. 确认上拉电阻(SCL/SDA需接4.7kΩ上拉)
  4. 若读取失败,返回-999可快速定位问题

实际使用时需根据硬件修改:

  • I2C_HandleTypeDef 实例名(如 hi2c2
  • STM32型号对应的I2C初始化参数
  • 串口输出部分替换为实际调试方式

探索LM75B和LM75C数字温度传感器:设计与应用指南

探索LM75B和LM75C数字温度传感器:设计与应用指南 在电子设计领域,温度监测是许多系统的关键功能,从通信基础设施到电子测试设备,准确的温度测量对于确保系统的稳定性和性能至关重要。今天,让我们

2026-02-26 11:20:06

LM75BIMMX-5+ LM75BIMMX-5+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMMX-5+相关产品参数、数据手册,更有LM75BIMMX-5+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-03 08:21:16

LM75BIM-3+ LM75BIM-3+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIM-3+相关产品参数、数据手册,更有LM75BIM-3+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:47

TMP LM 75比较常见问题解答

电子发烧友网站提供《TMP LM 75比较常见问题解答.pdf》资料免费下载

资料下载 戚歆敦 2024-08-30 11:40:45

LM75B和LM75工业标准数字温度传感器数据表

电子发烧友网站提供《LM75B和LM75工业标准数字温度传感器数据表.pdf》资料免费下载

资料下载 王静 2024-08-14 09:46:03

单片机驱动LM75采集温度

多种型号单片机驱动LM75采集温度LM75简介引脚说明寄存器说明测试程序arduino

资料下载 鼠爱米 2021-11-25 14:21:10

MSP430 单片机 读取 程序 LM75A LM75 温度传感器

MSP430 单片机 读取 程序 LM75A LM75 温度传感器

资料下载 佚名 2021-11-19 16:06:11

基于LM2733升压变换器电路设计

基于LM2733升压变换器电路设计

资料下载 soulxiayu 2021-05-20 16:23:32

LM75BIMM-5+ LM75BIMM-5+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMM-5+相关产品参数、数据手册,更有LM75BIMM-5+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:46

LM75BIMX-3+ LM75BIMX-3+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMX-3+相关产品参数、数据手册,更有LM75BIMX-3+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:44

LM75BIMX-5+ LM75BIMX-5+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMX-5+相关产品参数、数据手册,更有LM75BIMX-5+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:44

LM75BIM-5+ LM75BIM-5+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIM-5+相关产品参数、数据手册,更有LM75BIM-5+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:32

LM75BIMM-3+ LM75BIMM-3+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMM-3+相关产品参数、数据手册,更有LM75BIMM-3+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-11-02 08:22:31

LM75BIMMX-3+ LM75BIMMX-3+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

电子发烧友网为你提供()LM75BIMMX-3+相关产品参数、数据手册,更有LM75BIMMX-3+的引脚图、接线图、封装手册、中文资料、英文资料,LM75

2022-10-28 10:08:29

LM75温度数字转换器简介

多种型号单片机驱动LM75采集温度LM75简介引脚说明寄存器说明测试程序arduino

2021-12-08 07:16:10
7天热门专题 换一换
相关标签