新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机对热敏电阻的温度测量

基于AVR单片机对热敏电阻的温度测量

作者: 时间:2013-12-07 来源:网络 收藏
基于AVR单片机对热敏电阻的温度测量

4 软件设计
基于ATmage88捕获中断测温程序流程图如图5所示,包括主程序流程图,捕获中断流程图和定时溢出中断流程图。基于AVR单片机对热敏电阻的温度测量
ATmage88定时器初始化涉及TCCR1B,TIMSK1控制寄存器的配置,介绍如下: 基于AVR单片机对热敏电阻的温度测量
ICNC1:输入捕捉噪声抑制器,“1”启用;
ICES1:捕捉触发沿选择,“1”上升沿,“0”下降沿;
CS1[2:0]:时钟选择,有多种预分频时钟可供选择;
ICIE1:T/C1输入捕捉中断使能;
TOIE1:T/C1溢出中断使能。
定时器T1初始化代码如下(AVR-GCC):
基于AVR单片机对热敏电阻的温度测量
其中宏定义Tp=0;Tt=1;需要定义数组:
uint16_t timeL[2],timeH[2],counter[2]
当测量时间超过定时器最长计时时,定时器会溢出,定时器T1溢出中断函数代码如下: 基于AVR单片机对热敏电阻的温度测量
最后通过查表法就可以得到测量的温度。查表温度间隔一般为1℃,如果忽略1℃以内的非线性误差,可以将两摄氏度之间取线性计算,这样可以得到0.1℃的分辨率。

5 结 语
笔者应用该方法已设计出一款温度计,在范围-10~80℃时,分辨率达到0.1℃,误差在0.5℃以内。本文充分利用了AVR的捕获功能,使得电路简洁,成本低廉。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭