P89LPC9251片上温度传感器的使用方法
P89LPC9251是一款高性能数字微控制器,其内部集成了温度传感器,能够进行温度的测量,适用于需要温度检测功能的嵌入式系统设计中。本文将详细解释如何使用P89LPC9251片上的温度传感器。 P89LPC9251属于P89LPC92X1系列微型处理器,该系列由NXP(原Philips半导体)公司推出。P89LPC9251内部温度传感器的测量范围在-40℃~+85℃之间,且输出分辨率接近+11mV/℃,这对于中低温环境的系统设计是非常有帮助的。 P89LPC9251提供了两个模数转换模块:ADC0和ADC1。ADC1是一个8位、4通道复用的逐次逼近A/D转换器,而ADC0则专门用于片上温度传感器。温度传感器的数据通过ADC0功能模块的Anin03通道获取,该通道可以测量Vsen(温度传感器输出电压),而其他三个通道Anin00、Anin01和Anin02暂未使用。 温度传感器和内部参考电压Vref(bg)共享输入通道Anin03。Vref(bg)的电压为1.23V±0.123V。通过配置CONTROLLOGIC中的TPSCON寄存器的TSEL1和TSEL0位来选择测量的是内部参考电压还是温度传感器。测量温度前,需要首先测量并记录内部参考电压Vref(bg)的A/D转换结果。温度传感器的电压计算方法是通过内部参考电压的A/D转换结果与温度传感器的A/D转换结果的比值来得到。 使用步骤如下: 1. 配置TSEL1和TSEL0为“01”,选择内部参考电压Vref(bg); 2. 使用ADC模块得到Aref(内部参考电压的ADC转换结果); 3. 配置TSEL1和TSEL0为“10”,切换到温度传感器测量模式; 4. 等待至少200微秒以使传感器稳定,然后进行ADC转换得到Asen(温度传感器的ADC转换结果); 5. 利用内部参考电压Vref(bg)的A/D转换结果和温度传感器的A/D转换结果计算Vsen的值; 6. 使用温度传感器的计算公式得到温度值。 在硬件环境配置方面,P89LPC9251的供电电压为3.3V,可以使用MAX3232输出给串行口或者74LVC244输出以点亮LED来实时观测温度传感器的数值。PC软件终端可以使用TeraTerm来接收LPC9251串行口发出的温度数据。 在软件程序方面,有ADC0的配置函数ad03_init()用于初始化ADC0模块,以及内部参考电压和温度传感器的测量程序。需要对Vref(bg)进行多次测量,取平均值以减小误差,并且根据TPSCON寄存器的TSEL位的设置,反复进行ADC转换和延时等待,直到测量结束。 最终温度的计算公式利用了之前得到的Vref(bg)和Vsen的A/D转换结果,通过公式T(v)=((v)-B)/M计算出实际的温度数值。这里B和M是通过实验得出的标定系数。 通过实测1000个温度值,在工作温度范围内100个离散温度点的读数最大标准偏差仅为2.5,说明LPC9251片上温度传感器具有良好的稳定性和准确性。 值得注意的是,实际使用中可能需要根据具体应用场景对硬件连接和软件程序进行适配和调整。另外,由于文档内容通过OCR扫描可能存在一些识别错误,所以在实际操作时应留意这些潜在问题,确保理解清晰准确。
- 粉丝: 6
- 资源: 888
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言核心知识点详解-数据类型、运算符、数组与指针综合应用
- 基于 SpringBoot 开发 BS 架构宠物健康咨询系统:从需求调研到上线运营全纪实
- 快乐星球0000000
- C#ASP.NET企业年终员工抽奖系统源码数据库 Access源码类型 WinForm
- 用 Fluent 进行飞机模拟
- C#ASP.NET程序软件销售网站源码数据库 SQL2008源码类型 WebForm
- 浅谈食盐与人体健康.docx
- jsppspsppspspspspspsps
- Python毕业设计基于知识图谱和生成式AI的智能食谱推荐系统源码.zip
- 基于 SpringBoot 开发网上蛋糕售卖店管理系统:从需求剖析到上线运营全解析