用单片机普通IO口(不用ADC功能)采集模拟量

 

http://www.51hei.com/bbs/dpj-126017-1.html

以下介绍的这个方法是用没有 ADC 功能的芯片来检测模拟量,采集温度:

1. 温度检测电路图 :
 
2. 温度检测步骤 :
第一步:放电
P85 和 P86 设置为高阻态, P87 输出“1”,电容放电

第二步:测标准电阻
P85 和 P87 设置为高阻态, P86 输出“0”,电容充电,并对充电时间计时
计时功能说明:计时最小时基为 30US,用定时器中断来实现。每 30US 中断一次,
计时器+1。 计时器长度=16BIT, 高字节的 BIT4 代表溢出位。 所以实际有效长度为 12 位,
超出则判为溢出,可能是被测电阻开路和电容短路等故障引起的。 

第三步:放电
P85 和 P86 设置为高阻态, P87 输出“1”,电容放电

第四步:测温度电阻
P86 和 P87 设置为高阻态, P85 输出“0”,电容充电,并对充电时间计时
计时功能说明:(同第二步)

第五步:计算电阻比率
计算公式:
电阻比率=温度电阻÷标准电阻
=温度电阻充电时间÷标准电阻充电时间 

第六步:查表求温度
根据电阻比率查表求温度摄氏值
为了提高查表时的分辨率,在上一步骤计算比率时应该将比率值乘以一定系数(在本
项目中该系数=256*64=16384).在表格中的数据也应该同步乘以该系数 

第七步:温度单位转换
如果是温度单位=华氏值,则将摄氏值转化为华氏值;否则跳过
温度转换公式:
华氏值 摄氏值×1.832
摄氏值 (华氏值-32)÷1.8

第八步:数字滤波
采用递推中位平均滤波方法:保留最新 10 个采样值,去掉一个最大值,去掉一个最小
,剩余 个采样值取平均数 
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值