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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 104|回复: 0

NTC温度测温程序B3950

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

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

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

×
[AppleScript] 纯文本查看 复制代码


#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;
}



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




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

本版积分规则

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

GMT+8, 2025-10-31 11:31

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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