11.4.1 TC72温度计设计

更新于 2026年10月10日 版权声明
11.4.1 TC72温度计设计

1.任务要求

利用STM32F1的SPI和数字温度传感器TC72设计一个温度计,要求精度为0.5℃,能将温度值通过串口上传到计算机串口调试助手。设计电路、设计软件,并通过Proteus完成仿真和调试。

2.硬件设计

(1)TC72简介。

TC72是美国MicroChip公司出品的串行温度传感芯片,兼容SPI,温度测量范围为-55~+125℃,分辨率为10位(0.25℃/bit)。TC72的工作电压为2.65~5.5 V,能适应目前市面上主流的3.3 V和5.0 V工作电压的MCU。TC72芯片引脚排列及实物如图11.4所示。

图示

图11.4 TC72芯片引脚排列及实物

TC72芯片8个引脚的功能如表11.8所示。

表11.8 TC72芯片8个引脚的功能

图示

TC72芯片寄存器格式如表11.9所示。

表11.9 TC72芯片寄存器格式

图示

TC72有以下两种工作模式。

(1)连续转换模式:每隔约150 ms进行一次温度转换,向控制寄存器的第4位写0可以启动连续转换模式(即0x05)。

(2)单次转换模式:转换一次后就进入省电模式,向控制寄存器的第4位写1可以启动单次转换模式(即0x15)。

温度数据格式采用10位二进制补码数字,分辨率为0.25℃/bit。温度数据以二进制补码的格式存储在温度寄存器中。

例如,温度为41.5℃,则温度寄存器高8位MSB和低2位LSB的值如下。

•MSB寄存器=00101001b=25+23+20=32+8+1=41。(https://www.daowen.com)

•LSB寄存器=10000000b=2-1=0.5。

TC72的寄存器读操作如下:芯片使能CE引脚变为高电平启动通信,SDO引脚保持为输出LSB位状态,当CE引脚变为逻辑低电平时,该引脚变为三态,如图11.5(a)所示,图中CP为SPI的时钟极性。

TC72的寄存器写操作如下:芯片使能CE引脚变为高电平启动通信,数据通过SDI引脚移入控制寄存器,如图11.5(b)所示。注意,TC72的片选信号为高电平期间才能对其寄存器进行读写操作。

图示

图11.5 TC72读写时序

根据TC72的引脚和STM32F1系列MCU的SPI接口引脚分布,SPI1的时钟引脚PA5(SCK)与TC72的SCK引脚相连,PA6(MISO)与TC72的SDO引脚相连,PA7(MOSI)与TC72的SDI引脚相连,PA15与TC72的片选CE引脚相连,硬件电路图如图11.6所示。

图示

图11.6 硬件电路图

3.软件设计

软件设计主要是对SPI1模块进行配置,本项目中系统时钟采用内部8 MHz。设置SPI1为主模式,双向全双工通信,数据帧为8位,CPOL为高电平,CPHA为数据采样从第二个时钟边沿开始,NSS配置为软件模式,波特率为64分频,数据发送为高位先发。在STM32CubeMX中进行配置,SPI配置如图11.7所示,串口配置参见8.4节。

图示

图11.7 SPI配置

通过STM32CubeMX生成MDK工程文件,编写SPI1的应用程序,“main.c”文件中的程序如下。

图示

4.仿真与调试

在Proteus中绘制仿真电路图,选择TC72芯片与STM32F1系列MCU的SPI1引脚相连,绘制虚拟串口,并加载.hex文件,在串口中每隔500 ms输出TC72芯片的温度值,仿真电路图与调试效果如图11.8所示。

图示

图11.8 仿真电路图与调试效果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)