版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、STM32F103温度传感器简介我们介绍了 ADC 模数转换实验,知道 ADC 内部有一个通道连接着芯片的温度传感器,这一章我们就来学习下 STM32F1 的内部温度传感器。本章要实现的功能是:通过芯片内部温度传感器读取温度,并将读取的温度数据打印出去,D1 指示灯闪烁提示系统正常运行简介STM32F1 内部含有一个温度传感器,可用来测量 CPU 及周围的温度(TA)。此温度传感器与 ADC1 内部输入通道相连接,如图 29.1.1 所示。它连接在ADC1_IN16 上。ADC1 可以将传感器输出的电压转换成数字值。STM32F1 的内部温度传感器支持的温度范围为:-40125 度,精度为1.
2、5左右。温度传感器输入通道结构STM32F1 内部温度传感器的使用很简单,只要初始化下 ADC1_IN16 通道,并激活其内部温度传感器通道就差不多了温度值的计算(1)要使用 STM32F1 的内部温度传感器,必须先激活 ADC 的内部通道,这里通过 ADC_CCR 的 TSVREFE 位( bit23)设置。设置该位为 1 则启用内部温度传感器,否则关闭内部温度传感器。(2)STM32F103ZET6 的内部温度传感器固定的连接在 ADC1_IN16 上,所以,我们在设置好 ADC1 之后只要读取通道 16 的 AD 值,就知道温度传感器返回来的电压值了。根据这个值,我们就可以计算出当前温度
3、。计算公式如下:T() =( V25 - Vsense) /Avg_Slope+25公式中:V25=Vsense 在 25 度时的数值(典型值为:1.43V)。Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/或 uv/)(典型值为 4.3mV/)。部温度传感器配置步。具体步骤如下: (ADC 相关库函数在 stm32f10 x_adc.c和 stm32f10 x_adc.h 文件中)(1)初始化 ADC1_IN16 相关参数,开启内度温度传感器ADC1_IN16 的初始化步骤与上一章介绍 AD 模数转换实验一样,这里我们只需要开启内部温度传感器即可,调用的库函数为:AD
4、C_TempSensorVrefintCmd(ENABLE);/打开 ADC 内部温度传感器(2)读取 ADC1_IN16 AD 值,将其转换为对应温度上一步配置好后,我们就可以读取温度传感器的电压值,根据温度计算公式,可以求出对应电压值的温度内部温度传感器初始化函数void ADC_Temp_Init(void)ADC_InitTypeDef ADC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6); / 分 频 因 子 6 时 钟 为72M/6=
5、12MHzADC_TempSensorVrefintCmd(ENABLE);/打开 ADC 内部温度传感器ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; /ADC 工作模式:ADC1 和 ADC2 工作在独立模式ADC_InitStructure.ADC_ScanConvMode = DISABLE;/非扫描模式内部温度传感器初始化函数ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;/关闭连续转换ADC_InitStructure.ADC_ExternalTrigConv =ADC_Ex
6、ternalTrigConv_None;/禁止触发检测,使用软件触发ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;/右对齐ADC_InitStructure.ADC_NbrOfChannel = 1; /1 个转换在规则序列中 也就是只转换规则序列 1ADC_Init(ADC1, &ADC_InitStructure);/ADC 初始化ADC_Cmd(ADC1, ENABLE);/开启 AD 转换器ADC_ResetCalibration(ADC1);/重置指定的 ADC 的校准寄存器while(ADC_GetResetCa
7、librationStatus(ADC1);/获取 ADC 重置校准寄存器的状态ADC_StartCalibration(ADC1);/开始指定 ADC 的校准状态while(ADC_GetCalibrationStatus(ADC1);/获取指定 ADC 的校准程序ADC_SoftwareStartConvCmd(ADC1, ENABLE);/使能或者失能指定的 ADC的软件转换启动功能温度读取函数int Get_Temperture(void)u32 adc_value;int temp;double temperture;adc_value=Get_ADC_Temp_Value(ADC_Channel_16,10); /读取通道 16内部温度传感器通道,10 次取平均temperture=(float)adc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年哈尔滨市道外区太平人民医院公开招聘编外合同制工作人员6人考试参考试题及答案解析
- 2026徽商银行客服代表(劳务派遣制)招聘笔试备考试题及答案解析
- 2026贵州农商联合银行第一批招聘中层管理人员18人考试备考题库及答案解析
- 2026湖北省面向北京师范大学普通选调生招录考试参考题库及答案解析
- 中央统战部直属事业单位2026年度应届高校毕业生公开招聘考试参考试题及答案解析
- 2026年合肥印象滨湖旅游投资发展有限公司塘西河公园项目招聘20人笔试备考题库及答案解析
- 中国科学院西北高原生物研究所2026年支撑岗位招聘1人(青海)考试参考题库及答案解析
- 2026江西宜春丰城市市属国企下属公司招聘24人考试备考试题及答案解析
- 2026中国人寿洛阳分公司(售后部门)招聘售后内勤、售后外勤(河南)考试参考试题及答案解析
- 2026备战中考【地理 常考点巩固】精练(含答案)
- 电梯救援安全培训课件
- 2025年青岛市国企社会招聘笔试及答案
- 2026届江西省抚州市临川区第一中学高二上数学期末考试模拟试题含解析
- 2026届长春市第十一中学高二上数学期末调研模拟试题含解析
- 期末综合质量检测卷(试题)-2025-2026学年 六年级上册数学西师大版
- 乡村振兴课题申报书范例
- 汇能控股集团校招题库及答案
- 喷塑委外合同范本
- 云南省大理州2024-2025学年七年级上学期期末考试数学试卷(含解析)
- 物业管理法律法规与实务操作
- 高二化学上学期期末试题带答案解析
评论
0/150
提交评论