基于stm32单片机PT100铂电阻温度采集系统

发布于:2022-11-04 ⋅ 阅读:(365) ⋅ 点赞:(0)

资料编号:175    下面是实物功能视频演示:

175-基于Stm32单片机PT100铂电阻温度采集系统

功能讲解:

采用的正点原子STM32F1精英版开发板,4.3寸TFTLCD显示屏,采用MAX31865模块外接PT100传感器,开发板与MAX31865直接采用SPI接口,接口对应的spi1接口(PA4,PA5,PA6,PA7),可以随时采集当前温度,并且显示导LCD屏幕上,该设计中采用了4个IO进行触发,触发一次记录一次当前的温度,最多可以记录30组数据,如果不需要触发可以在程序中注释掉,4个IO触发分别接开发板 PB4 PB5 PB6 PB7,并且还有一个清屏的按钮,采用的PB13,按一次对屏幕进行清屏处理,全套资料齐全:

下面是原理图展示: 

下面是程序展示: 

 

//初始化SPI max31865 的IO口
void SPI1_MAX31865_Init(void)
{
    SPI1_Init();                                   //初始化SPI1
    SPI1_SetSpeed(SPI_BaudRatePrescaler_64);    //设置为 72/64 = 1.125 M时钟
    writeRegister8_1(0x00, 0x00);                 //清除配置寄存器
    enableBias_1(1);                              //使能偏置电压
    delay_ms(10);                               //等待10ms使得RTDIN的滤波电容充电
    setWires_1(MAX31865_3WIRE);                   //使能PT100 三线工作模式
    clearFault_1();                               //清除故障检测位
    
}  

//RTD接线模式设置


void setWires_1(max31865_numwires_t wires)
{
  uint8_t t = readRegister8_1(MAX31856_CONFIG_REG);
  if (wires == MAX31865_3WIRE) {
    t |= MAX31856_CONFIG_3WIRE;
  } else {
    // 2 or 4 wire
    t &= ~MAX31856_CONFIG_3WIRE;
  }
  writeRegister8_1(MAX31856_CONFIG_REG, t);
}

//设置自动转换模式
void autoConvert_1(bool b)  
{
  uint8_t t = readRegister8_1(MAX31856_CONFIG_REG);
  if (b) {
         t |= MAX31856_CONFIG_MODEAUTO;       // enable autoconvert
  } else {
    t &= ~MAX31856_CONFIG_MODEAUTO;       // disable autoconvert
  }
  writeRegister8_1(MAX31856_CONFIG_REG, t);
}

 //使能偏执电压
void enableBias_1(bool b) 
{
  uint8_t t = readRegister8_1(MAX31856_CONFIG_REG);
  if (b) {
    t |= MAX31856_CONFIG_BIAS;       // enable bias
  } else {
    t &= ~MAX31856_CONFIG_BIAS;       // disable bias
  }
  writeRegister8_1(MAX31856_CONFIG_REG, t);
}    

资料分享下载链接:

https://pan.baidu.com/s/1Xzg-8IzA0om_k1cS2CTy7Q?pwd=y9jw