单片机c语言NTC温度查表程序,求助 NTC热敏电阻怎么通过AD值查表显示温度

这篇博客介绍了一个用于计算NTC热敏电阻所对应温度的程序。通过比较实测阻值与预设温度点的阻值,采用查表法来确定温度,并将结果转换为适合数码管显示的格式。程序包括向前和向后查找算法,适用于不同温度范围的电阻值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

没分了,发个帖赚分

//ad值最大4096

//下偏rntc=(4096*上偏电阻)/4096-ad

//上偏ntc=(4096-ad)*上偏电阻/ad

查表法 放阻值表

tmp[50]={,,,,,10000,,,,,,};//0~49度

//1000对应25度

//输人电阻值返回温度

//返回值为三位整数,方便数码管显示

u16 get_Temperature(u16 ntc)

{

u16 i,tmpL,tmpH;

u16 t,ftmp; //温度整数和小数

if(ntc<10000)//如果小于25度向前查

for(i=25;i>0;i--)//25是数组下标表示25度

{

if(ntc>tmp[i])

{

tmpL=tmp[i];//实测阻值的前后温度

tmpH=tmp[i+1];//用于计算小数点位

t=i; //得到对应温度

i=0;//退出循环否则i--为0

}

// ftmp=(ntc- tmpL) *10/( tmpH- tmpL);

}

else //向后查

for(i=25;i<50;i++)

{

if( ntc

{

tmpH=tmp[i];//注意哪个是高

tmpL=tmp[i-1];

t=i;

i=50;//退出循环

}

}

//计算小数 *10取整数

ftmp=(ntc- tmpL) *10/( tmpH- tmpL);

t=t*10+ftmp;

return t;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值