想用单片机测量温度,热电阻温度计算公式为:T1=1/[ln(Rt / R)/B+1/T2],怎样用C语言表示此公式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想用单片机测量温度,热电阻温度计算公式为:T1=1/[ln(Rt / R)/B+1/T2],怎样用C语言表示此公式?相关的知识,希望对你有一定的参考价值。
参考技术A C语言里面有专门的数学库函数,写的时候带上头文件#include<math.h>这里选用函数 double log(double x)
返回的是logex的值
写成语句就是
double T1 = 1/((log(Rt/R))/B+1/T2);
当然里面的参数你首先都要进行声明的。追问
为什么是
double log(double x)
而不是
double ln(double x)呢?能用汇编写此函数吗代码?PLC用!
double log(double x)//C语言中求自然对数的函数
你在仔细看一下,在C语言中它的底数是e,这里要小心;
C语言中没有ln这种形式的自然对数,
假如求一般的对数是用换底公式进行的,
例如求loga(x) = lnx/lna,
写成C语言的形式就是
double t;//这里用t代指loga(x)
double t = log(x)/log(a);//运用换底公式求一般的对数
抱歉,汇编不是太熟,只是简单的学习了一下51单片机的汇编,帮不了你了。你可以查查
相应的技术手册,或者到电子论坛问问。PLC以前学习过松下的,都是在用梯形图进行编程。
T1=1/temp;
上式中的log()函数为"math.h" 中声明的函数。
另外我觉得你的公式有点歧义 ln(Rt/R)/B 我不知道是指 ln((Rt/R)/B) 还是 (ln(Rt/R))/B 你可以根据真实的意思改上面的语句。追问
是 (ln(Rt/R))/B
温度传感器的AD值,电压和电阻的计算方法
V是输入的电压,VCC是标准电压,R为固定电阻,NTC为热敏电阻。
计算公式是V=(NTC/(NTC+R))*VCC
电压或电阻转化AD的计算方式为
AD=(V/VCC)*2^n=(NTC/(NTC+R))*2^n
以上是关于想用单片机测量温度,热电阻温度计算公式为:T1=1/[ln(Rt / R)/B+1/T2],怎样用C语言表示此公式?的主要内容,如果未能解决你的问题,请参考以下文章