const int MAXSIZE = 10
int max(int a[], int n) {
int *p,*q
for(p = a + 1, q = ap <a + n++p)
if(*p >森仿 *q) q = p
return *q
}
int min(int a[], int n) {
int *p,*q
for(p = a + 1, q = ap <a + n++p)
if(*p <*q) q = p
return *q
}
int main(void) {
int i,ar[MAXSIZE]
printf("输入%d个整陪氏数:\n",MAXSIZE)
for(i = 0i <MAXSIZE++i)
scanf("%d",&ar[i])
printf("最大值是:%d\n",max(ar,MAXSIZE))
printf("最小值是:%d\n"芦春散,min(ar,MAXSIZE))
return 0
}
可以分段将其线性化,每段有不同的斜率,然后利用线性方程来计算
如果直线性太差,只有弄一张大表,将AD检测所有可能出现的电压(代表不同电阻值)对应的温度列出来,存储在程序存储器中,ADC获得电压值后,就按顺序查表,找出对应的温度,假设温度数值占一个字节(一般温度不会太精确),AD转换是10位的话,那么就表格占用1K的程序存储斗竖滚空间,因10位AD所能获得的数字量只有0-1023.对一般单片纤闭机来说,占用1K的程序存储空间不算什么空余,用C语言编程的话,查这种大表也很简单,但这1K个数据的获得确实比较麻烦,基础工作,不作不行.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)