




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自考行政管理职业道德考量试题及答案
- 2025年主管护师护患关系试题及答案
- 行政管理专科优化策略试题及答案总结
- 卫生资格考试策略分享试题及答案
- 人文精神与行政管理试题及答案
- 深入理解护师知识的试题及答案
- 2025年执业医师考试主题复习试题及答案
- 执业药师的沟通能力培养试题及答案
- 自考行政管理专科风险管理策略试题答案
- 2025主管护师考试规律总结试题及答案
- 电气施工安全规范
- 市政工程围挡合同样本简易
- 科技公司如何通过知识产权增强竞争力
- 六年级语文下册《(一)字词积累》期末复习课件
- 班级突发事件处理与预防
- 口腔科各项规章制度
- 传染病的预防和医院感染的防控
- 年加工2万吨再生铝项目可行性研究报告建议书
- 第20课 《飞夺泸定桥》说课稿-2024-2025学年统编版语文(五四学制)六年级上册
- 眼科手术的安全管理
- 配音基础知识课件
评论
0/150
提交评论