一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 1675|回复: 19
收起左侧

[avr] LM35和NTC电阻测温源代码,包含温度表生成脚本

[复制链接]
发表于 2022-11-4 21:21 | 显示全部楼层 |阅读模式
针对开源我是持开放态度的,只是不想提供一个turn-key包让盗版商随便改个名字就说是自己的。
如果想参考,可以给我说是哪部分代码,我就公开哪一部分代码。

这是NTC测温部分,包含了直接计算温度的C代码和一个生成温度表的python脚本。
cal_temp.rar (1.59 KB, 下载次数: 51)
LM35测温比较简单,就单独列在这里吧,这个计算公式是效率最高的方式,没有浮点和加减乘除,就一个移位运算就得到温度值,如果过采样次数多一些,连修正语句都不需要:

    //ADC0过采样4次(累积4次),计算公式如下,再化简为乘以一个小数,转换为移位
    //tempeResult = (adcValue / 4) * (2.5 / 1023) * 100;
    tempeResult = adcValue >> 4; //0.061094~=0.977/16 (0.97~=1)
    if (tempeResult > 63) //使用仿真发现,大于63偏差2度
        tempeResult--;
    if (tempeResult > 27) //大于27度偏差1度
        tempeResult--; //修正使用简化公式计算的误差



 楼主| 发表于 2022-11-4 21:44 | 显示全部楼层
再附上一个数字键盘扫描的代码,使用状态机扫描算法,消抖、键值判断、抬起检测都统一为一个状态机,效率很高,不占用过多资源,裸机和操作系统都能用。

scan_keyboard.rar

2.49 KB, 下载次数: 48, 下载积分: 一乐金币 -1

点评

谢谢楼主分享。学习看看。  详情 回复 发表于 2022-11-4 21:59
发表于 2022-11-4 21:59 | 显示全部楼层
cdhigh 发表于 2022-11-4 21:44
再附上一个数字键盘扫描的代码,使用状态机扫描算法,消抖、键值判断、抬起检测都统一为一个状态机,效率很 ...

谢谢楼主分享。学习看看。
发表于 2022-11-5 20:18 | 显示全部楼层
谢谢你无私的分享,学习了
发表于 2022-11-5 20:43 | 显示全部楼层
感谢提供
发表于 2022-11-5 22:14 | 显示全部楼层
谢谢楼主分享很多,正在学习。
发表于 2022-11-6 15:23 | 显示全部楼层
学习一下,谢谢无私奉献!
发表于 2022-11-11 15:35 | 显示全部楼层
谢谢分享。今年LM35涨价太厉害了,以前3元一个,现在要18元一个
发表于 2022-11-12 08:42 | 显示全部楼层
多谢无私奉献...
发表于 2022-11-13 23:39 | 显示全部楼层
谢谢楼主分享。学习看看

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-25 06:06 , Processed in 0.070071 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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