热电偶转换C语言程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<>
#include <>
#define ERROR -100
#define uchar unsigned char
float tmp = 0;
1e3, 1./1e5, -2./1e8, 3./1e11,
-3./1e14, 2./1e17, -1./1e20, 2./1e24},
{1., 3./1e3, 6./1e6, -1./1e9,
1./1e14, 0, 0, 0, 0},
{, -2./1e1, 1./1e4, -3./1e8,
-9./1e15, 0, 0, 0, 0}
};
1e3, 1./1e5, -2./1e8, 3./1e11,
-4./1e14, 1e17, -3./1e20, 1./1e23,
-2./1e27},
{2., -2./1e3, 1./1e5, -7./1e9,
1e12, -2./1e16},
{, -2./1e1, 1./1e4, -3./1e8,
-9./1e15}
};
1e4, 5./1e6, -1./1e9, 1./1e12,
-1./1e15,6./1e19},
{-3., 2./1e2, -8./1e5, 1./1e7,
-1./1e10, 1./1e13, -4./1e17, 9./1e21,
-9./1e25}
};
1e2, 1e5, -9./1e8, -4./1e11,
-2./1e12, -2./1e14, -7./1e17, -9./1e20}, {0, 2./1e2, 1./1e5, 4./1e8, -2./1e10,
6./1e13, 1e15, 9./1e19,1e22,
1e25, 1e29}
};
1e13, 1e16, 1e18,
1e21,1e24,1e28}
};
1e8, 1./1e10,
-1./1e13, 1e16, -1./1e19, 1./1e23},
{, -1., 3./1e3, -3./1e6,
1./1e9, 1e13}
};
// T型温度转电压系数
float code Var_TtoV_T[2][15]=
{
{0, 1e2, 1e5, 1e7,
1e8, 1e10, 1e11,
1e13, 1e15, 1e17,
1e19, 1e22, 1e24,
1e27, 1e31},
{0, 1e2, 1e5, 1e7,
1e9,1e11,1e14,
1e17, 1e20}
};
//-----------------------------------// S型电压转温度系数
float code Var_VtoT_S[4][10]=
{
{0, , , , , ,
, , , },
{, , , , 1e1,
1e2, 1e3, 1e5, 1e7,
1e9},
{, , , 1e1, 1e2,
1e4},
{, , , , 1e1}
};
// R型电压转温度系数
float code Var_VtoT_R[4][11]=
{
{0, , , , , ,
, , , , },
{, , , , 1e1,
1e2, 1e3, 1e4, 1e6,
1e8},
{, , , 1e1,
1e2, 1e4},
{, , , , 1e1}
};
// B型电压转温度系数
float code Var_VtoT_B[2][9]=
{
{, , , , ,
, , , },
{, , , , ,
1e1, 1e3, 1e4, 1e6}
};
// K型电压转温度系数
float code Var_VtoT_K[3][10]= {
{0, , , , 1e1, 1e1,
1e2, 1e2, 1e4},
{0, , 1e2, 1e1, 1e2,
1e2, 1e4, 1e5, 1e6, 1e8}, {, , , 1e2, 1e4,
1e6, 1e8}
};
// N型电压转温度系数
float code Var_VtoT_N[3][10]= {
{0, , , , , ,
, 1e1, 1e1, 1e3},
{0, , , 1e2, 1e6, 1e4,
1e6, 1e8},
{, , 1e1, 1e3,
1e4, 1e7}
};
// E型电压转温度系数
float code Var_VtoT_E[2][10]= {
{0, , 1e1, 1e1, 1e2,
1e2, 1e3, 1e4, 1e5},
{0, , 1e1, 1e3, 1e5,
1e6, 1e8, 1e9,
1e11, 1e14}
};
// J型电压转温度系数
float code Var_VtoT_J[3][9]= {
{0, , , , 1e1,
1e1, 1e2, 1e3, 1e5},
{0, , 1e1, 1e2, 1e4,
1e6, 1e8, 1e10},
{, , , 1e1,
1e3, 1e6}
};
// T型电压转温度系数
float code Var_VtoT_T[2][8]= {
{0, , 1e1, 1e1, 1e1,
1e1, 1e2, 1e3},
{0, , 1e1, 1e2, 1e3,
1e5, 1e7}
};
/****************************************************************************** *函数描述:S型温度转电压(冷端温度为0)
温度范围:-50C° ~ +1760C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float S_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -50) || (T > )
{
return ERROR;
}
else if((T >= -50) && (T < )
{
value = Var_TtoV_S[0][8];
for(i = 8; i > 0; i--)
value = T * value + Var_TtoV_S[0][i-1];
}
else if(T >= && T <
{
value = Var_TtoV_S[1][4];
for(i = 4;i > 0;i--)
value = T * value + Var_TtoV_S[1][i-1];
}
else // if(T >= && T <=
{
value = Var_TtoV_S[2][4];
for(i=4; i > 0; i--)
value=T * value + Var_TtoV_S[2][i-1];
}
return value;
}
/****************************************************************************** *函数描述:R型温度转电压(冷端温度为0)
温度范围:-50C° ~ +1760C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float R_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -50) || (T > )
{
return ERROR;
}
else if(T >= -50 && T <
{
value = Var_TtoV_R[0][9];
for(i = 9; i > 0; i--)
value = T * value + Var_TtoV_R[0][i-1];
}
else if(T >= && T <
{
value = Var_TtoV_R[1][5];
for(i = 5; i > 0; i--)
value = T * value + Var_TtoV_R[1][i-1];
}
else //if(T >= && T <=
{
value = Var_TtoV_R[2][4];
for(i = 4; i > 0; i--)
value = T * value + Var_TtoV_R[2][i-1];
}
return value;
}
/****************************************************************************** *函数描述:B型温度转电压(冷端温度为0)
温度范围:+100C° ~ +1820C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float B_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < 0) || (T > )
{
return ERROR;
}
else if(T < 100)
{
value = 0;
}
else if(T >= 100 && T <
{
value = Var_TtoV_B[0][6];
for(i = 6; i > 0; i--)
value = T * value + Var_TtoV_B[0][i-1];
}
else // ifif(T >= && T <= 1820)
{
value = Var_TtoV_B[1][8];
for(i = 8; i > 0; i--)
value = T * value + Var_TtoV_B[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:K型温度转电压(冷端温度为0)
温度范围:-270C° ~ +1370C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float K_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -270) || (T > )
{
return ERROR;
}
else if(T < 0)
{
value = Var_TtoV_K[0][10];
for(i = 10; i > 0; i--)
value = T * value + Var_TtoV_K[0][i-1];
value += Var_TtoV_K[2][0] * exp(Var_TtoV_K[2][1]*(T - *(T - );
}
else // if(T >= 0 && T <= 1372)
{
value = Var_TtoV_K[1][9];
for(i = 9; i > 0; i--)
value = T * value + Var_TtoV_K[1][i-1];
value += Var_TtoV_K[2][0] * exp(Var_TtoV_K[2][1]**);
}
return value;
}
/****************************************************************************** *函数描述:N型温度转电压(冷端温度为0)
温度范围:-270C° ~ +1300C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float N_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -270) || (T > )
{
return ERROR;
}
else if(T < 0)
{
value = Var_TtoV_N[0][8];
for(i = 8; i > 0; i--)
value = T * value + Var_TtoV_N[0][i-1];
}
else
{
value = Var_TtoV_N[1][10];
for(i = 10; i > 0; i--)
value = T * value + Var_TtoV_N[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:E型温度转电压(冷端温度为0)
温度范围:-270C° ~ +1000C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float E_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -270) || (T > )
{
return ERROR;
}
else if(T < 0)
{
value = Var_TtoV_E[0][13];
for(i = 13; i > 0; i--)
value = T * value + Var_TtoV_E[0][i-1];
}
else
{
value = Var_TtoV_E[1][10];
for(i = 10; i > 0; i--)
value = T * value + Var_TtoV_E[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:J型温度转电压(冷端温度为0)
温度范围:-210C° ~ +1200C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float J_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -210) || (T > )
{
return ERROR;
}
else if(T >= -210 && T < 760)
{
value = Var_TtoV_J[0][8];
for(i = 8; i > 0; i--)
value = T * value + Var_TtoV_J[0][i-1];
}
else
{
value = Var_TtoV_J[1][5];
for(i = 5; i > 0; i--)
value = T * value + Var_TtoV_J[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:T型温度转电压(冷端温度为0)
温度范围:-270C° ~ +400C°
毫伏范围: ~ +
*输入变量:T 温度
*返回变量:value 毫伏
******************************************************************************/ float T_TtoV(float T)
{
uchar i = 0;
float value = 0;
if((T < -270) || (T > )
{
return ERROR;
}
else if(T < 0)
{
value = Var_TtoV_T[0][14];
for(i = 14; i > 0; i--)
value = T * value + Var_TtoV_T[0][i-1];
}
else
{
value = Var_TtoV_T[1][8];
for(i = 8; i > 0;i--)
value = T * value + Var_TtoV_T[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:S型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float S_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV <
{
value = Var_VtoT_S[0][9];
for(i = 9; i > 0; i--)
value = mV * value + Var_VtoT_S[0][i-1];
}
else if(mV >= && mV <
{
value = Var_VtoT_S[1][9];
for(i = 9; i > 0; i--)
value = mV * value + Var_VtoT_S[1][i-1];
}
else if(mV >= && mV <
{
value = Var_VtoT_S[2][5];
for(i = 5; i > 0; i--)
value = mV * value + Var_VtoT_S[2][i-1];
}
else
{
value = Var_VtoT_S[3][4];
for(i = 4; i > 0; i--)
value = mV * value + Var_VtoT_S[3][i-1];
}
return value;
}
/****************************************************************************** *函数描述:R型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float R_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV <
{
value = Var_VtoT_R[0][10];
for(i = 10; i > 0; i--)
value = mV * value + Var_VtoT_R[0][i-1];
}
else if(mV >= && mV <
value = Var_VtoT_R[1][9];
for(i = 9; i > 0;i--)
value = mV * value + Var_VtoT_R[1][i-1];
}
else if(mV >= && mV <
{
value = Var_VtoT_R[2][5];
for(i = 5; i > 0; i--)
value = mV * value + Var_VtoT_R[2][i-1];
}
else
{
value = Var_VtoT_R[3][4];
for(i = 4; i > 0; i--)
value = mV * value + Var_VtoT_R[3][i-1];
}
return value;
}
/****************************************************************************** *函数描述:B型电压转温度(冷端温度为0)
毫伏范围:+ ~ +
温度范围:+° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float B_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV <
{
value = Var_VtoT_B[0][8];
for(i = 8; i > 0; i--)
value = mV * value + Var_VtoT_B[0][i-1];
}
else
{
value = Var_VtoT_B[1][8];
for(i = 8; i > 0; i--)
value = mV * value + Var_VtoT_B[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:K型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float K_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV < 0)
{
value = Var_VtoT_K[0][8];
for(i = 8; i >0; i--)
value = mV * value + Var_VtoT_K[0][i-1];
}
else if(mV >= 0 && mV <
{
value = Var_VtoT_K[1][9];
for(i = 9; i >0; i--)
value = mV * value + Var_VtoT_K[1][i-1];
}
else if(mV >= && mV <=
{
value = Var_VtoT_K[2][6];
for(i = 6; i >0; i--)
value = mV * value + Var_VtoT_K[2][i-1];
}
return value;
}
/******************************************************************************
*函数描述:N型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float N_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV<0)
{
value = Var_VtoT_N[0][9];
for(i = 9; i >0; i--)
value = mV * value + Var_VtoT_N[0][i-1];
}
else if(mV >= 0 && mV <
{
value = Var_VtoT_N[1][7];
for(i = 7; i >0; i--)
value = mV * value + Var_VtoT_N[1][i-1];
}
else if(mV>= && mV<=
{
value = Var_VtoT_N[2][5];
for(i = 5; i > 0; i--)
value = mV * value + Var_VtoT_N[2][i-1];
}
return value;
}
/****************************************************************************** *函数描述:E型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float E_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV < 0)
{
value = Var_VtoT_E[0][8];
for(i = 8; i > 0; i--)
value = mV * value + Var_VtoT_E[0][i-1];
}
else if(mV>=0 && mV<=
{
value = Var_VtoT_E[1][9];
for(i = 9; i > 0; i--)
value = mV * value + Var_VtoT_E[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:J型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float J_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV>= && mV<0)
{
value = Var_VtoT_J[0][8];
for(i = 8; i > 0; i--)
value = mV * value + Var_VtoT_J[0][i-1];
}
else if(mV >= 0 && mV <
{
value = Var_VtoT_J[1][7];
for(i = 7; i > 0; i--)
value = mV * value + Var_VtoT_J[1][i-1];
}
else if(mV>= && mV<=
{
value = Var_VtoT_J[2][5];
for(i = 5; i > 0; i--)
value = mV * value + Var_VtoT_J[2][i-1];
}
return value;
}
/****************************************************************************** *函数描述:T型电压转温度(冷端温度为0)
毫伏范围: ~ +
温度范围:° ~ +°
*输入变量:mV 毫伏
*返回变量:value 温度
******************************************************************************/ float T_VtoT(float mV)
{
uchar i = 0;
float value = 0;
if(mV >= && mV < 0)
{
value = Var_VtoT_T[0][7];
for(i = 7; i >0; i--)
value = mV * value + Var_VtoT_T[0][i-1];
}
else if(mV >= 0 && mV <=
{
value = Var_VtoT_T[1][6];
for(i = 6; i >0; i--)
value = mV * value + Var_VtoT_T[1][i-1];
}
return value;
}
/****************************************************************************** *函数描述:主函数
******************************************************************************/
int main()
{
//tmp = J_TtoV; //tmp = K_TtoV; tmp = E_VtoT;
while(1);
}。

相关文档
最新文档