欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 474|回复: 0

NTC温度测温程序B3950

[复制链接]
发表于 2025-7-16 11:53:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[mw_shl_code=applescript,true]


#define NTC_V_MAX         3.3          // 电源电压 (3.3V)
#define NTC_R_MAX         10000       // 10K 电阻值 (10KΩ)
#define NTC_R_MIN         10000         // 25°C 时的电阻值 (10KΩ)
#define NTC_B_VALUE 3950            // B3950 的 B 值 (3950K)
#define NTC_ADC_MAX 4096      // ADC 最大值 (12 位 ADC)



float NTC_TEMP(int adc_value)
{   
                        adc_value=NTC_ADC_MAX-adc_value;
                        // 计算 NTC 电压值 (V_NTC)
                        float NTC_V = (adc_value * NTC_V_MAX) / NTC_ADC_MAX;
                        // 计算 NTC 电阻值 (R_NTC)
                        float NTC_R = (NTC_V * NTC_R_MAX) / (NTC_V_MAX - NTC_V);
                        // 计算温度 (开尔文)
                        float TEMP_KELVIN = 1.0 / ((1.0 / 298.15) + (1.0 / NTC_B_VALUE) * log(NTC_R / NTC_R_MIN));
                        // 转换为摄氏度
                        float TEMP_CELSIUS = TEMP_KELVIN - 273.15;
                        return TEMP_CELSIUS;
}
[/mw_shl_code]


简单测量NTC温度程序,返回直接是℃温度,输入的为ADC值




高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2026-8-26 13:11

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表