⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s_table.c

📁 一个锅炉温度控制程序
💻 C
字号:
/*
 * s_table.c
 *
 * 热电偶查表与反查表
 *
 * 
 *						作者:陈真勇(SA01010010)
 *						w3wind@sina.com or
 *						zychen@ustc.edu.cn
 *						中国科学技术大学自动化系
 *						2003/1/15
 */
#include "Xdata.h"
#include "watchdog.h"

#define S_TABLE_SIZE 1500

/* S型热电偶表 */
code float s_table[S_TABLE_SIZE] = {	
		0.000,0.005,0.011,0.016,0.022,0.027,0.033,0.038,0.044,0.050,\
		0.055,0.061,0.067,0.072,0.078,0.084,0.090,0.095,0.101,0.107,\
		0.113,0.119,0.125,0.131,0.137,0.142,0.148,0.154,0.161,0.167,\
		0.173,0.179,0.185,0.191,0.197,0.203,0.210,0.216,0.222,0.228,\
		0.235,0.241,0.247,0.254,0.260,0.266,0.273,0.279,0.286,0.292,\
		0.299,0.305,0.312,0.318,0.325,0.331,0.338,0.345,0.351,0.358,\
		0.365,0.371,0.378,0.385,0.391,0.398,0.405,0.412,0.419,0.425,
		0.432,0.439,0.446,0.453,0.460,0.467,0.474,0.481,0.488,0.495,\
		0.502,0.509,0.516,0.523,0.530,0.537,0.544,0.551,0.558,0.566,\
		0.573,0.580,0.587,0.594,0.602,0.609,0.616,0.623,0.631,0.638,\
		0.645,0.653,0.660,0.667,0.675,0.682,0.690,0.697,0.704,0.712,\
		0.719,0.727,0.734,0.742,0.749,0.757,0.764,0.772,0.780,0.787,\
		0.795,0.802,0.810,0.818,0.825,0.833,0.841,0.848,0.856,0.864,\
		0.872,0.879,0.887,0.895,0.903,0.910,0.918,0.926,0.934,0.942,\
		0.950,0.957,0.965,0.973,0.981,0.989,0.997,1.005,1.013,1.021,
		1.029,1.037,1.045,1.053,1.061,1.069,1.077,1.085,1.093,1.101,\
		1.109,1.117,1.125,1.133,1.141,1.149,1.158,1.166,1.174,1.182,\
		1.190,1.198,1.207,1.215,1.223,1.231,1.240,1.248,1.256,1.264,\
		1.273,1.281,1.289,1.297,1.306,1.314,1.322,1.331,1.339,1.347,\
		1.356,1.364,1.373,1.381,1.389,1.398,1.406,1.415,1.423,1.432,\
		1.440,1.448,1.457,1.465,1.474,1.482,1.491,1.499,1.508,1.516,\
		1.525,1.534,1.542,1.551,1.559,1.568,1.576,1.585,1.594,1.602,\
		1.611,1.620,1.628,1.637,1.645,1.654,1.663,1.671,1.680,1.689,
		1.698,1.706,1.715,1.724,1.732,1.741,1.750,1.759,1.767,1.776,\
		1.785,1.794,1.802,1.811,1.820,1.829,1.838,1.846,1.855,1.864,\
		1.873,1.882,1.891,1.899,1.908,1.917,1.926,1.935,1.944,1.953,\
		1.962,1.971,1.979,1.988,1.997,2.006,2.015,2.024,2.033,2.042,\
		2.051,2.060,2.069,2.078,2.087,2.096,2.105,2.114,2.123,2.132,\
		2.141,2.150,2.159,2.168,2.177,2.186,2.195,2.204,2.213,2.222,\
		2.232,2.241,2.250,2.259,2.268,2.277,2.286,2.295,2.304,2.314,\
		2.323,2.332,2.341,2.350,2.359,2.368,2.378,2.387,2.396,2.405,
		2.414,2.424,2.433,2.442,2.451,2.460,2.470,2.479,2.488,2.497,\
		2.506,2.516,2.525,2.534,2.543,2.553,2.562,2.571,2.581,2.590,\
		2.599,2.608,2.618,2.627,2.636,2.646,2.655,2.664,2.674,2.683,\
		2.962,2.702,2.711,2.720,2.730,2.739,2.748,2.758,2.767,2.776,\
		2.786,2.795,2.805,2.814,2.823,2.833,2.842,2.852,2.861,2.870,\
		2.880,2.889,2.899,2.908,2.917,2.927,2.936,2.946,2.955,2.965,\
		2.974,2.984,2.993,3.003,3.012,3.022,3.031,3.041,3.050,3.059,\
		3.069,3.078,3.088,3.097,3.107,3.117,3.126,3.136,3.145,3.155,
		3.164,3.174,3.183,3.193,3.202,3.212,3.221,3.231,3.241,3.250,\
		3.260,3.269,3.279,3.288,3.298,3.308,3.317,3.327,3.336,3.346,\
		3.356,3.365,3.375,3.384,3.394,3.404,3.413,3.423,3.433,3.442,\
		3.452,3.462,3.471,3.481,3.491,3.500,3.510,3.520,3.529,3.539,\
		3.549,3.558,3.568,3.578,3.587,3.597,3.607,3.616,3.626,3.636,\
		3.645,3.655,3.665,3.675,3.684,3.694,3.704,3.714,3.723,3.733,\
		3.743,3.752,3.762,3.772,3.782,3.791,3.801,3.811,3.821,3.831,\
		3.840,3.850,3.860,3.870,3.879,3.889,3.899,3.909,3.919,3.928,
		3.938,3.948,3.958,3.968,3.977,3.987,3.997,4.007,4.017,4.027,\
		4.036,4.046,4.056,4.066,4.076,4.086,4.095,4.105,4.115,4.125,\
		4.135,4.145,4.155,4.164,4.174,4.184,4.194,4.204,4.214,4.224,\
		4.234,4.243,4.253,4.263,4.273,4.283,4.293,4.303,4.313,4.323,\
		4.333,4.343,4.352,4.362,4.372,4.382,4.392,4.402,4.412,4.422,\
		4.432,4.442,4.452,4.462,4.472,4.482,4.492,4.502,4.512,4.522,\
		4.532,4.542,4.552,4.562,4.572,4.582,4.592,4.602,4.612,4.622,\
		4.632,4.642,4.652,4.662,4.672,4.682,4.692,4.702,4.712,4.722,
		4.732,4.742,4.752,4.762,4.772,4.782,4.792,4.802,4.812,4.822,\
		4.832,4.842,4.852,4.862,4.873,4.883,4.893,4.903,4.913,4.923,\
		4.933,4.943,4.953,4.963,4.973,4.984,4.994,5.004,5.014,5.024,\
		5.034,5.044,5.054,5.065,5.075,5.085,5.095,5.105,5.115,5.125,\
		5.136,5.146,5.156,5.166,5.176,5.186,5.197,5.207,5.217,5.227,\
		5.237,5.247,5.258,5.268,5.278,5.288,5.298,5.309,5.319,5.329,\
		5.339,5.350,5.360,5.370,5.380,5.391,5.401,5.411,5.421,5.431,\
		5.442,5.452,5.462,5.473,5.483,5.493,5.503,5.514,5.524,5.534,
		5.544,5.555,5.565,5.575,5.586,5.596,5.606,5.617,5.627,5.637,\
		5.648,5.658,5.668,5.679,5.689,5.700,5.710,5.720,5.731,5.741,\
		5.571,5.762,5.772,5.782,5.793,5.803,5.814,5.824,5.834,5.845,\
		5.855,5.866,5.876,5.887,5.897,5.907,5.918,5.928,5.939,5.949,\
		5.960,5.970,5.980,5.991,6.001,6.012,6.022,6.033,6.043,6.054,\
		6.064,6.075,6.085,6.096,6.106,6.117,6.127,6.138,6.148,6.159,\
		6.169,6.180,6.190,6.201,6.211,6.222,6.232,6.243,6.253,6.264,\
		6.274,6.285,6.295,6.306,6.316,6.327,6.338,6.348,6.359,6.369,
		6.380,6.390,6.401,6.412,6.422,6.433,6.443,6.454,6.465,6.475,\
		6.486,6.496,6.507,6.518,6.528,6.539,6.549,6.560,6.471,6.581,\
		6.592,6.603,6.613,6.624,6.635,6.645,6.656,6.667,6.677,6.688,\
		6.699,6.709,6.720,6.731,6.741,6.752,6.763,6.773,6.784,6.795,\
		6.805,6.816,6.827,6.838,6.848,6.859,6.870,6.880,6.891,6.902,\
		6.913,6.923,6.934,6.945,6.956,6.966,6.977,6.988,6.999,7.009,\
		7.020,7.031,7.042,7.053,7.063,7.074,7.085,7.096,7.107,7.117,\
		7.128,7.139,7.150,7.161,7.171,7.182,7.193,7.204,7.215,7.225,
		7.236,7.247,7.258,7.269,7.280,7.291,7.301,7.312,7.323,7.334,\
		7.345,7.356,7.367,7.377,7.388,7.399,7.410,7.421,7.432,7.443,\
		7.454,7.465,7.476,7.486,7.497,7.508,7.519,7.530,7.541,7.552,\
		7.563,7.574,7.585,7.596,7.607,7.618,7.629,7.640,7.651,7.661,\
		7.672,7.683,7.694,7.705,7.716,7.727,7.738,7.749,7.760,7.771,\
		7.782,7.793,7.804,7.815,7.826,7.837,7.848,7.859,7.870,7.881,\
		7.892,7.904,7.915,7.926,7.937,7.946,7.959,7.970,7.981,7.992,\
		8.003,8.014,8.025,8.036,8.047,8.058,8.069,8.081,8.092,8.103,
		8.114,80125,8.136,8.147,8.158,8.169,8.180,8.192,8.203,8.214,\
		8.225,8.236,8.247,8.258,8.270,8.281,8.292,8.303,8.314,8.325,\
		8.336,8.348,8.359,8.370,8.381,8.392,8.404,8.415,8.426,8.437,\
		8.448,8.460,8.471,8.482,8.493,8.504,8.516,8.527,8.538,8.549,\
		8.560,8.572,8.583,8.594,8.605,8.617,8.628,8.639,8.650,8.662,\
		8.673,8.684,8.695,8.707,8.718,8.729,8.741,8.752,8.763,8.774,\
		8.786,8.797,8.808,8.820,8.831,8.842,8.854,8.865,8.876,8.888,\
		8.899,8.910,8.922,8.933,8.944,8.956,8.967,8.978,8.990,9.001,
		9.012,9.024,9.035,9.047,9.058,9.069,9.081,9.092,9.103,9.115,\
		9.126,9.138,9.149,9.160,9.172,9.183,9.195,9.206,9.217,9.229,\
		9.240,9.252,9.263,9.275,9.282,9.298,9.309,9.320,9.332,9.343,\
		9.355,9.366,9.378,9.389,9.401,9.412,9.424,9.435,9.447,9.458,\
		9.470,9.481,9.493,9.504,9.516,9.527,9.539,9.550,9.562,9.573,\
		9.585,9.596,9.608,9.619,9.631,9.642,9.654,9.665,9.677,9.689,\
		9.700,9.712,9.723,9.735,9.746,9.758,9.770,9.781,9.793,9.804,\
		9.816,9.828,9.839,9.851,9.862,9.874,9.886,9.897,9.909,9.920,
		9.932,9.944,9.955,9.967,9.979,9.990,10.002,10.013,10.025,10.037,
		10.048,10.060,10.072,10.083,10.095,10.107,10.118,10.130,10.142,10.154,\
		10.165,10.177,10.189,10.200,10.212,10.224,10.235,10.247,10.259,10.271,\
		10.282,10.294,10.306,10.318,10.329,10.341,10.353,10.364,10.376,10.388,\
		10.400,10.411,10.423,10.435,10.447,10.459,10.470,10.482,10.494,10.506,\
		10.517,10.529,10.541,10.553,10.565,10.576,10.588,10.600,10.612,10.624,\
		10.635,10.647,10.659,10.671,10.683,10.694,10.706,10.718,10.730,10.742,\
		10.754,10.765,10.777,10.789,10.801,10.813,10.825,10.836,10.848,10.860,
		10.872,10.884,10.896,10.908,10.919,10.931,10.943,10.955,10.967,10.979,
		10.991,11.003,11.014,11.026,11.038,11.050,11.062,11.074,11.086,11.098,\
		11.110,11.121,11.133,11.145,11.157,11.169,11.181,11.193,11.205,11.217,\
		11.229,11.241,11.252,11.264,11.276,11.288,11.300,11.312,11.324,11.336,\
		11.348,11.360,11.372,11.384,11.396,11.408,11.420,11.432,11.443,11.455,\
		11.467,11.476,11.491,11.503,11.515,11.527,11.539,11.551,11.563,11.575,\
		11.587,11.599,11.611,11.623,11.635,11.647,11.659,11.671,11.683,11.695,\
		11.707,11.719,11.731,11.743,11.755,11.767,11.779,11.791,11.803,11.815,
		11.827,11.839,11.851,11.863,11.875,11.887,11.899,11.911,11.923,11.935,
		11.947,11.959,11.971,11.983,11.995,12.007,12.019,12.031,12.043,12.055,\
		12.067,12.079,12.091,12.103,12.116,12.128,12.140,12.152,12.164,12.176,\
		12.188,12.200,12.212,12.224,12.236,12.248,12.260,12.272,12.284,12.296,\
		12.308,12.320,12.332,12.345,12.357,12.369,12.381,12.393,12.405,12.417,\
		12.429,12.441,12.453,12.465,12.477,12.489,12.501,12.514,12.526,12.538,\
		12.550,12.562,12.574,12.586,12.598,12.610,12.622,12.634,12.647,12.659,\
		12.671,12.683,12.695,12.707,12.719,12.731,12.743,12.755,12.767,12.780,
		12.792,12.804,12.816,12.828,12.840,12.852,12.864,12.876,12.888,12.901,
		12.913,12.925,12.937,12.949,12.961,12.973,12.985,12.997,12.010,12.022,\
		13.034,13.046,13.058,13.070,13.082,13.094,13.107,13.119,13.131,13.143,\
		13.155,13.167,13.179,13.191,13.203,13.216,13.228,13.240,13.252,13.264,\
		13.276,13.288,13.300,13.313,13.325,13.337,13.349,13.361,13.373,13.385,\
		13.397,13.410,13.422,13.434,13.446,13.458,13.470,13.482,13.495,13.507,\
		13.519,13.531,13.543,13.555,13.567,13.579,13.592,13.604,13.616,13.628,\
		13.640,13.652,13.664,13.677,13.689,13.701,13.713,13.725,13.737,13.749,
		13.761,13.774,13.786,13.798,13.810,13.822,13.834,13.846,13.859,13.871,
		13.883,13.895,13.907,13.919,13.931,13.942,13.956,13.968,13.980,13.992,\
		14.004,14.016,14.028,14.040,14.053,14.065,14.077,14.089,14.101,14.113,\
		14.125,14.138,14.150,14.162,14.174,14.186,14.198,14.210,14.222,14.235,\
		14.247,14.259,14.271,14.283,14.295,14.307,14.319,14.332,14.344,14.356,\
		14.368,14.380,14.392,14.404,14.416,14.429,14.441,14.453,14.465,14.477,\
		14.489,14.501,14.513,14.526,14.538,14.550,14.562,14.574,14.586,14.598,\
		14.610,14.622,14.635,14.647,14.659,14.671,14.683,14.695,14.707,14.719,
		14.731,14.744,14.756,14.768,14.780,14.792,14.804,14.816,14.828,14.840,
		14.852,14.865,14.877,14.889,14.901,14.923,14.925,14.937,14.949,14.961,\
		14.973,14.985,14.998,15.010,15.022,15.034,15.046,15.058,15.070,15.082,\
		15.094,15.106,15.118,15.130,15.143,15.155,15.167,15.179,15.191,15.203,\
		15.215,15.227,15.239,15.251,15.263,15.275,15.287,15.299,15.311,15.324,\
		15.336,15.348,15.360,15.372,15.384,15.396,15.408,15.420,15.432,15.444,\
		15.456,15.468,15.480,15.492,15.504,15.416,15.528,15.540,15.552,15.564,\
	};


/* 反向查表,由电压到温度。使用二分法 */
UINT vol2temp(float vol)
{
	UINT start=0;
	UINT end=S_TABLE_SIZE-1;
	UINT mid=(start+end)/2;
	while(mid!=start)			/*so,end-start>1*/
	{
		if(s_table[mid]>vol){end=mid;}
		else if(s_table[mid]<vol){start=mid;}
		else {
			return mid;
		}/*happens to be vol.*/
		mid=(start+end)/2;
	}
	/*mid==start,and end=start+1*/
	clear_watchdog();
	return ((s_table[start]+s_table[end])/2>vol)?start:end;
}

/* 正向查表,由温度到电压 */
float temp2vol(UINT temp)
{
	return s_table[temp];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -