下图是内部温度测量的方法和步骤
首先我们按照昨天的方法先测量内部VREF的电压,计算出当前的参考电压,换算公式如下:
参考正电压=VDD=1.224/测量内部VREF*4096
测量内部温度电压=ADC寄存器/4095×参考正电压=ADC寄存器/测量内部VREF*1.224。
测量步骤:
1、先测量内部参考电压
2、测量内部温度传感器
3、根据公式T=VTEMP/1.62*1000-273.5
主要代码:
/* Private functions ---------------------------------------------------------*/
void display(uint16_t PotVoltage);//LCD显示温度
void VREF_Init(void);//初始化内部参考电压
void VTEMP_Init(void);//初始化内部温度传感器
u16 VADC_Value(void);//测量8次平均
/**
* @brief Main program.
* @param None
* @retval None
*/
void main(void)
{
uint16_t VREF=0,VADC=0;
float f_TEMP=0,T_VAULE=0;
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//系统1分频,16M
LCD_GLASS_Init();//LCD初始化
VREF_Init();
VREF=VADC_Value();
VTEMP_Init();
/* Infinite loop */
while (1)
{
VADC = VADC_Value();
/* We use the theorcial value */
f_TEMP = (VADC*f_VREF)/VREF;//换算内部温度电压值
T_VAULE= f_TEMP/Avg_slope*1000L-273.5;//换算温度实际值
T_VAULE *= 100L;//显示两位有效数字
display((u16)T_VAULE);//LCD显示温度
delay_ms(1000);
}
}
上一篇:STM8L探索套件学习笔记-测量电流IDD(九)
下一篇:控制IRQ和FIQ中断的编译器内部函数 - 基于Keil MDK
推荐阅读最新更新时间:2024-03-16 15:33