基于AVR单片机捕获中断和热敏电阻的温度测量
AVR单片机的捕获中断

AVR单片机的捕获中断//ICC-AVR application builder : 2007-5-29 下午 02:12:45 // Target : M16// Crystal: 11.059Mhz#include <iom16v.h>#include <macros.h>/***********预编译******************/#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/**************全局变量****************/uchar Flag=0; //捕获次数定义uchar ReadFlag=0; //发送数据标志ulong rpm=0; //转速uchar i;uint CNT1=0; //第一次捕获值uint CNT2=0; //第二此捕获值uint CNT=0; //捕获差值uchar ZHSH=0x00,ZHSL=0x00;struct UARTSJ{uchar tou0,tou1,CDH,ZHSH,ZHSL,temp3,temp4,Crc;};struct UARTSJ TXout;//发送的数据帧void port_init(void){PORTA = 0x00;DDRA = 0x00;PORTB = 0x00;DDRB = 0x00;PORTC = 0x00; //m103 output onlyDDRC = 0x00;PORTD = 0x00;DDRD = 0x0E;}//Watchdog initialize// prescale: 256Kvoid watchdog_init(void){WDR(); //this prevents a timout on enablingWDTCR = 0x0C; //WATCHDOG ENABLED - dont forget to issue WDRs}//TIMER1 initialize - prescale:1// WGM: 0) Normal, TOP=0xFFFF// desired value: 1uSec// actual value: 0.995uSec (0.5%)void timer1_init(void){TCCR1B = 0x00; //stopTCNT1H = 0x00;TCNT1L = 0x00;ICR1H = 0x00;ICR1L = 0x00;TCCR1A = 0x00;TCCR1B = 0xC1; //start Timer}#pragma interrupt_handler timer1_capt_isr:6void timer1_capt_isr(void){//timer 1 input capture event, read (int)value in ICR1 using;// value=ICR1L; //Read low byte first (important)// value|=(int)ICR1H << 8; //Read high byte and shift into top byte while(TIFR&0x20) //捕获检测{TIFR|=0x20; //清除捕获标志CNT2=(ICR1H<<8)+ICR1L; //CNT2存放当前捕获值if(CNT2>CNT1)CNT=CNT2-CNT1; //CNT存放两次时间差elseCNT=0xffff-CNT2+CNT1;CNT1=CNT2; //CNT1存放上次捕获值rpm=(ulong)120E6/(ulong)CNT;Flag++; //检测到第一次捕获}if(Flag==2) //检测到第二此捕获{Flag=0;i=(uchar)rpm; //清除捕获检测标志ZHSH=i&0xff00;ZHSL=i&0x00ff; //数据处理ReadFlag=1; //标志传输有效CNT=0;CNT1=0;CNT2=0;} //清除捕获值及捕获差值}#pragma interrupt_handler timer1_compa_isr:7void timer1_compa_isr(void){//compare occured TCNT1=OCR1A}//UART0 initialize// desired baud rate: 4800// actual: baud rate:4800 (0.0%)// char size: 8 bit// parity: Disabledvoid uart0_init(void){UCSRB = 0x00; //disable while setting baud rateUCSRA = 0x00;UCSRC = BIT(URSEL) | 0x06;UBRRL = 0x8F; //set baud rate loUBRRH = 0x00; //set baud rate hiUCSRB = 0xB8;}#pragma interrupt_handler uart0_rx_isr:12void uart0_rx_isr(void){//uart has received a character in UDR}#pragma interrupt_handler uart0_udre_isr:13void uart0_udre_isr(void){//character transferred to shift register so UDR is now empty }//call this routine to initialize all peripheralsvoid init_devices(void){//stop errant interrupts until set upCLI(); //disable all interruptsport_init();watchdog_init();timer1_init();uart0_init();MCUCR = 0x00;GICR = 0x00;TIMSK = 0x20; //timer interrupt sourcesSEI(); //re-enable interrupts//all peripherals are now initialized}//void main(void){init_devices();while(1);//insert your functional code here...}//转速=1E6微秒/秒×1脉冲/时间间隔(微秒表示)×2圈/脉冲(看有几个汽缸)×60秒/分钟。
(VR虚拟现实)基于AVR单片机的炉温监测监控系统设计

(VR虚拟现实)基于AVR 单片机的炉温监测监控系统设计基于A VR单片机的炉温监测监控系统设计总说明:温度是工业对象中主要的被控参数之一,象冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的处理温度要求严格控制。
随着电子技术和计算机技术的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用,温度控制的手段也越来越优越,单片机因具有处理能力强、运行速度快、功耗低等优点,尤其在温度测量与控制方面,控制简单方便,测量范围广,精度较高,得到了广泛应用。
该系统设计了以AVR单片机为控制核心的炉温监测监控系统。
选择DS18B20作为温度传感器,实时监测低温电阻炉温度;基于交流触发器和晶闸管触发电路的混合控制,达到快速准确调节温度。
设计了硬件原理图,并详细论述了各个硬件组成部分的工作原理,以及各部分所使用的元器件。
将其应用于电加热炉温度控制系统的智能控制系统,满足了温度控制稳定性的要求,减少了操作人员的劳动量和带来的人为误差,提高了产品的热处理质量。
本基于AVR单片机的炉温监测监控系统设计的总体方案包括:一、温度监测系统的硬件电路设计;二、系统软件的设计;三、PID控制器的设计。
首先是温度传感器的选择。
目前常用的测温传感器分模拟和数字两种方式:模拟方式如热敏元件或热电阻等;数字方式多采用智能芯片DS18B20。
模拟方式有很多小足。
相比之下数字式比模拟式有更大的优势。
新代数字温度传感器DS18B20其优点是:电压适用范围宽;单线接口数据传输方式;支持组网实现多点测温;测温范围宽、精度高、体积小、外围电路简单等。
本系统选择的温度传感器就是DS18B20,系统开始工作时,DS18B20采集温度信号并将信号送到单片机中,再将对应的温度送显示并保存数据信息,同时单片机会根据初始化所设置的温度进行比较,将其差值送PID控制器,处理后输出一定数值的控制量,根据控制量,控制晶闸管主回路的导通时间来调节输入功率,从而控制电阻丝的发热量,达到控制温度的目的。
使用热敏电阻测量温度的步骤

使用热敏电阻测量温度的步骤在我们的日常生活和工作中,测量温度是非常常见的一项任务。
为了准确测量温度,热敏电阻是一种常用且有效的测量工具。
热敏电阻利用材料在温度变化下电阻值的变化来测量温度。
接下来,本文将为您介绍使用热敏电阻测量温度的步骤。
第一步:准备工作使用热敏电阻测量温度之前,我们需要准备相关的工具和材料。
首先,我们需要一根热敏电阻,确保其质量可靠且测量范围适宜。
其次,我们需要一台数字万用表或其他适用的测量仪器。
此外,还需要一台恒温器或其他稳定的温度控制设备,用来提供不同温度环境。
第二步:连接电路将热敏电阻与测量仪器连接起来是测量温度的关键步骤。
首先,将热敏电阻的两个引脚分别连接到万用表的两个测试插孔上。
确保连接稳固而且接触良好。
然后,将万用表调整为电阻测量模式,并选择适当的量程。
确保仪器设置正确,以获得准确的测量结果。
第三步:设置温度在开始测量之前,我们需要确定测试的温度范围。
使用恒温器或稳定的温度控制设备,将温度控制在适当的范围内。
此时,热敏电阻的电阻值将与环境温度相对应。
请注意,温度的变化应该是逐渐的,以免影响测量的准确性。
第四步:记录数据在进行实际测量之前,我们需要记录一些基础数据。
首先,测量起始温度时的热敏电阻的电阻值。
然后,在温度变化时,定期测量电阻值并记录下来。
请注意,测量的时间间隔应适当,以确保准确性与实时性的平衡。
第五步:绘制曲线根据记录的数据,我们可以绘制出热敏电阻与温度之间的关系曲线。
使用适当的软件或绘图工具,将温度表示在横轴上,将电阻值表示在纵轴上。
通过曲线的走势,我们可以推导出电阻值与温度之间的数学关系,从而可以准确地测量未知温度下的电阻值。
第六步:验证与校准在使用热敏电阻测量温度之后,我们需要进行验证和校准工作。
通过与其他可靠的温度测量仪器进行对比,可以验证我们的测量结果的准确性。
如果有需要,我们可以对热敏电阻进行校准,以提高测量的准确性和可靠性。
总结使用热敏电阻测量温度是一项简单且有效的测量方法。
【毕业设计】基于单片机和LM35的温度测量系统

一、设计目的与意义和任务分析一、设计目的与意义《测控电路》课程设计是测控电路课程体系的一个重要环节,是依照《控电路设计与实践》教学大纲要求所进行的重要实践教学内容,是引导学生把基础理论与实际应用相结合的一个必不可少的中间环节。
通过本设计,要求学生利用所学的基础理论,从设计步骤、设计表达、实际电路调试等方面,全面把握相关温度测量显示电路的设计与调试技术,培育学生综合运用所学知识进行工程设计的能力,包括动手能力,独立试探能力,和分析和解决工程实际问题等能力。
二、任务分析本次设计的要紧任务是完成一个温度范围为0-50 0C的温度测量显示电路的设计与制作。
考虑到时刻紧和学生爱好不同,将任务分为设计为主和制作为主的为两个重点内容不同的模块,由同窗依照自己爱好选择。
二、设计概述一、传感器确信1)热敏电阻价钱比较廉价、灵敏度比较好,在实际应用的时候线性度较差,另外调试比较困难。
不适合利用。
故不利用热敏电阻。
2) AD590AD590拥有良好的线性关系,灵敏度较高、利用简单方便。
可是这种传感器的价钱比其他的两种都贵很多。
故不选用。
3)温度传感器LM35LM35是NS 公司生产的LM35 ,他具有很高的工作精度和摄氏温度线性成比例,且无需外部校准或微调,能够提供±1/ 4 ℃的经常使用的室温精度。
LM35 的输出电压与摄氏温度的线形关系可用下面公式表示V OU T LM35 ( T) = 10 mV / ℃×T ℃,0 ℃时输出为0 V ,每升高1 ℃,输出电压增加10 mV。
其电源供给模式有单电源与正负双电源两种,其接法如图3 与图4 所示。
正负双电源的供电模式可提供负温度的测量,单电源模式在25 ℃下电流约为50 mA ,超级省电。
本系统采纳的是单电源模式。
图3 单电源模式图4 双电源模式考虑到本钱,性能等方面的因素,因此在AD590、温度传感器LM35和热敏电阻当选择了温度传感器LM35。
基于AVR单片机的多点数字温度检测系统设计

Design of multipoint digital temperature measuring system
based on AVR single—chip microcomputer
GE盈.iun
(Key Laboratory of opto—electronic Technology and Intelligent Control枷ni醴ry of Education,
为提高系统的可靠性,该系统设计了由硬件与 软件组成的“看门狗”和一个报警指示灯电路。硬件 看门狗由MAX705及其外围电路组成,具有电源监 控和复位功能。需要注意,当检测温度值超过规定 范围时,OTI引脚输出,通过PD5引脚使主机进行中 断服务并点亮报警指示灯。电路图如图4所示。
启动总线
主机发送地址访问命令
[3]李华.单片机实用接I:1技术[M].北京:航天航空大学出版社,
1998.
责任编辑:杨立民
(上接第103页)
4 结束语
在应用软件开发中,强调的是需定义和需求分 析,而用户的业务流程则是需求的焦点,在应用系统 需求分析阶段,应抓住其主要矛盾。本文提出的面向 业务流程的需求建模方法,则更适合于应用软件需求 分析,并在应用软件开发实践中收到了较好的效果。 参考文献:
[6]Ellis S,Keddara K,Rozenberg G.Dynalllic Changes Within Worldlow
基于AVR单片机的炉温监测监控系统设计

基于AVR单片机的炉温监测监控系统设计总说明:温度是工业对象中主要的被控参数之一,象冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的处理温度要求严格控制。
随着电子技术和计算机技术的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用,温度控制的手段也越来越优越,单片机因具有处理能力强、运行速度快、功耗低等优点,尤其在温度测量与控制方面,控制简单方便,测量围广,精度较高,得到了广泛应用。
该系统设计了以AVR单片机为控制核心的炉温监测监控系统。
选择DS18B20作为温度传感器,实时监测低温电阻炉温度;基于交流触发器和晶闸管触发电路的混合控制,达到快速准确调节温度。
设计了硬件原理图,并详细论述了各个硬件组成部分的工作原理,以及各部分所使用的元器件。
将其应用于电加热炉温度控制系统的智能控制系统,满足了温度控制稳定性的要求,减少了操作人员的劳动量和带来的人为误差,提高了产品的热处理质量。
本基于AVR单片机的炉温监测监控系统设计的总体方案包括:一、温度监测系统的硬件电路设计;二、系统软件的设计;三、PID控制器的设计。
首先是温度传感器的选择。
目前常用的测温传感器分模拟和数字两种方式:模拟方式如热敏元件或热电阻等;数字方式多采用智能芯片DS18B20。
模拟方式有很多小足。
相比之下数字式比模拟式有更大的优势。
新代数字温度传感器DS18B20其优点是:电压适用围宽;单线接口数据传输方式;支持组网实现多点测温;测温围宽、精度高、体积小、外围电路简单等。
本系统选择的温度传感器就是DS18B20,系统开始工作时,DS18B20采集温度信号并将信号送到单片机中,再将对应的温度送显示并保存数据信息,同时单片机会根据初始化所设置的温度进行比较,将其差值送PID控制器,处理后输出一定数值的控制量,根据控制量,控制晶闸管主回路的导通时间来调节输入功率,从而控制电阻丝的发热量,达到控制温度的目的。
基于单片机控制的温度采集与测量

安徽机电职业技术学院毕业设计说明书基于单片机控制的温度采集与测量系(部)电气工程系专业电气自动化班级3091班姓名陈浩学号1303093028指导教师李文2011 ~ 2012 学年第一学期近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。
同时,单片机具有较强的管理功能。
采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
本设计是基于单片机ATMAGE16设计的实时温度采集仪,通过本次设计,我成功的实现了利用单片机对温度的采集和测量。
关键词:单片机ATMAGE16 DS18B20 ICCA VR目录.............................................................................. 错误!未定义书签。
第一章绪论. (2)1.1 课题背景 (3)1.2 设计目的及系统功能 (3)第二章ATMAGE16特性 (4)2.1 ATMAGE16产品特性 (4)2.2 引脚配置 (5)第三章DS18B20的设计 (6)3.1 总体通信流程及通信协议 (6)3.2 DS18B20温度测量软件的设计 (8)3.3 多机通信软件的设计 (9)3.4 DS18B20工作时序问题 (10)第四章电路的设计 (11)4.1 温度测量电路的设计 (11)4.2 串口通信电路的设计 (12)第五章分布式温度采集系统设计 (13)第六章ICCA VR制作环境及介绍 (14)6.1 ICCA VR 介绍 (14)6.2 ICCA VR 向导 (16)6.3 ICCA VR 的IDE 环境 (16)结论 (19)参考文献 (19)致谢 (20)附件1:总系统的原理图如下: (21)附件2:单片机ATMAGE16控制DS18B20的程序: (22)第一章绪论自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。
基于AVR单片机的温度控制系统的硬件设计_胡绍忠

位单元置于芯片内部,电子显微镜无法观测, 极大的提高了单片机的保密性能。
断电检测及高阻抗差动输入。本系统中共有 2 个 6675 采集模板,单片机的 PE0 ~ 1、PF0 ~ 2 分别接入 MAX6675 的 K 型热电偶的正极接 T ,负极接 T - 。 3.3 温度控制电路 本系统中加热控制模板使用的是驱动电 压,固态继电器 SSR 对加热温度进行控制, 温度控制及测量如图 2 所示。在 5V 驱动时, 单片机端口可输出 20mA 的电流,可完全驱 动 SSR ,故采用 PB5(OC1A) 引脚发出 PWM 波形,以达到控制 SSR 的通断的目的。控制 量通过双向可控硅进行输出,省去了 D/A 转 换环节。 端,
随着近年来温度控制系统的快速发展,
, 通 信 采 用 UART 连 接, 进 而
3 温度控制系统的硬件设计 4 结语
基于 AVR 单片机的温度控制设计,采用 热电偶数字转换器 MAX6675 对数字进行采集 和转换,其中 AVR 单片机对系统温度进行采 集控制。本文设计的基于 AVR 单片机的温度 控制系统经过调式,性能可靠、电路简单、运 行良好,具有较高的性价比,在日常生产中具 有广泛的发展前景。
电力电子
・ Power Electronics
基于 AVR 单片机的温度控制系统的硬件设计
文/胡绍忠
密性能,采用了加密锁 Lock Bit 技术,且保密
0 ~ 1023.75℃ 间,温度分辨率为 0.25℃ ,热电偶
随着科技的不断发展和完 善,温度的控制和检测已经日渐 成为保证产品质量的重要指标, 被 广 泛 运 用 在 食 品 加 工、 机 械 制造、电力工业、冶金化工等领 域。本文设计的温度控制系统将 AVR Atmega128(L ) 单片机作为硬件核 心,以 LabVIEW8.5 为上位机软件开发 的平台。本系统中采用热电偶数 字转换器 MAX6675 对数字进行采集 和转换,基于 AVR 单片机的温度 控制进行设计,对温度数据进行 采集和转换,以便实时测量、控 制和采集现场温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.
测控技术
田开坤等 :基于 AV R 单片机捕获中断和热敏电阻的温度测量
其中宏定义 T p = 0 ; Tt = 1 ;需要定义数组 :
A Tmega88 在 31 3 V 供 电 时 , 当 电 容 电 压 上 升 到 11 84 V时 ,如图 3 所示 ,发生捕获中断 。
图 4 捕获单元框图
4 软件设计 基于 A Tmage88 捕获中断测温程序流程图如图 5 所
图 5 程序流程图
A Tmage88 定时器初始化涉及 TCCR1B , TIMS K1 控 制寄存器的配置 ,介绍如下 :
Keywords :t hermistor ;temperat ure measurement ;AVR MCU ;capt ure interrupt
温度测量常采用热敏电阻做传感器 ,测量的方法有 R - V 转换电压测量法和 R - F 转换频率测量法 。这两种 方法的电路复杂成本高 ,并且电路中很多元器件直接影响 测量精度 。本文介绍一种类 R - F 转换频率测量温度的 方法 。 1 负温热敏电阻
R p 为 100 kΩ 的精密电阻 ; Rt 为 100 kΩ 精度为 1 %的 热敏电阻 ; C1 为 01 1 μF 的瓷片电容 。
图 2 温度测量电路原理图 其工作原理为 : 先将 PC0 ,PC1 ,CP1 都设为低电平输出 ,使 C1 完全放电。 接着将 PC1 ,CP1 设置为输入状态 , PC0 设为高电平 输出 ,通过 R p 电阻对 C1 充电 , 同时启动内部定时器从零 开始计时 。电容实际充电曲线如图 3 所示 , 当 C1 上的电 压逐步升高到 V h , CP1 检测出电压达到单片机高电平输 入门槛电压时 ,将定时器计数值捕获 ,从而测出从开始充
PSB 型负温热敏电阻由 Co , Mn , Ni 等过渡金属元素 的氧化物组成 ,经高温烧成半陶瓷 ,利用半导体毫微米的 精密加工工艺 ,采用玻璃管封装 ,耐温性好 ,可靠性高 ,反 应速度快 、灵敏度高 。他采用轴向型结构 ,便于安装 ,能承 受更高温度 ,且玻璃封装耐高低温( - 50~350 ℃) 。P T 25 E2 热敏电阻温度阻值变化曲线图如图 1 所示 。
5 结 语
本文对大庆油田有限责任公司第七采油厂变频 、无功 补偿装置的谐波电流进行了检测分析 ,运用具有良好的伸 缩 、平移特性的小波分析方法 , 对谐波进行了仿真研究 。 分析和仿真结果表明 ,小波多分辨分析法可以有效地检测 电力系统的电压和电流中的谐波含量并分解出基波信号 和谐波信号 ,故其可以应用于谐波的检测和补偿 。
uint16 t timeL [ 2 ] ,time H[ 2 ] ,counter[ 2 ] 当测量时间超过定时器最长计时时 ,定时器会溢出 , 定时器 T1 溢出中断函数代码如下 :
SIGNAL ( SIG OV ERFL OW1)
{ if (flag = = Tp) co unter[ Tp ] + + ; else co unter[ Tt ] + + ;
放电 。 随后将 PC0 ,CP1 设置为输入状态 , PC1 设为高电平
输出 ,通过 Rt 电阻对 C1 充电 , 过程同上 , 得到时间 Tt 。
测试 ·测量 ·自动化
示 ,包括主程序流程图 ,捕获中断流程图和定时溢出中断 流程图 。
图 3 电容充电曲线示波器截图
根据电容电压公式 :
T
V c = V 0 ( 1 - e ) - RC
可以得到 : T p = Tt , 即 :
Rp
Rt
Rt
=
Tt Tp
R
p
通过单片机计算得到热敏电阻 Rt 的阻值 ,并通过查
表法可以得到温度值 。
从上述可以看出 ,该测温电路的误差来源于这几个方 面 :单片机的定时器精度 ,精密电阻 R p 的精度 ,热敏电阻 Rt 的精度 ,而与单片机的输出电压值 、门槛电压值 、电容 精度无关 。因此 ,适当选取热敏电阻 Rt 和精密电阻 R p 的 精度 ,单片机的工作频率够高 ,就可以得到较好的测温 精度 。
参 考 文 献
[ 1 ] 吴华程. AV R 单片机捕获中断实现红外线解码 [J ] . 国外电 子元器件 ,2005 (8) :21 - 23.
[ 2 ] 傅民仓 ,冯立杰 ,袁俊飞. 基于 PIC 单片机的热敏电阻数字 化方法[J ] . 现代电子技术 ,2006 ,29 (5) :76 - 78.
ICNC1 :输入捕捉噪声抑制器 “, 1”启用 ; ICES1 :捕捉触发沿选择 “, 1”上升沿 “, 0”下降沿 ; CS1[ 2 :0 ] :时钟选择 ,有多种预分频时钟可供选择 ; ICIE1 : T/ C1 输入捕捉中断使能 ; TOIE1 : T/ C1 溢出中断使能 。 定时器 T1 初始化代码如下 ( AVR - GCC) :
图 1 热敏电阻 P T - 25 E2 温度阻值曲线图 收稿日期 :2007 08 17 138
2 AVR 单片机测温原理 温度测量电路如图 2 所示 , 标准电阻 R p , 热敏电阻
Rt , 电容 C1 与 AV R 单片机三个引脚相连 。其中 PC0 ,PC1 为一般普通 IO 引脚 ,CP1 为捕获触发输入引脚 ,可以设定 上升沿触发捕获中断 。
(上接第 135 页) 图 6 为经 db N 小波重构后的谐波波形及重构误差 ,由 图 6 可知,重构后的波形与原波形误差很小,仅为 91 671 0e - 8 ,重构效果较好 。
图 6 经 db N 小波重构后的波形及误差 由于小波分析是基于多分辨率分析的信号处理理论 , 因而在上述谐波检测仿真中 ,不同的尺度具有不同的时间 和频率分辨率 ,因而小波分解能将原始信号的不同频率成 分分开 ,所以谐波可以检测出来 。
差 ,可以 将 两 摄 氏 度 之 间 取 线 性 计 算 , 这 样 可 以 得 到
01 1 ℃的分辨率 。
5 结 语
笔者应用该方法已设计出一款温度计 ,在范围 - 10~ 80 ℃时 ,分辨率达到 01 1 ℃,误差在 01 5 ℃以内 。本文充 分利用了 AVR 的捕获功能 ,使得电路简洁 ,成本低廉 。
void timer1 init (void) { TCCR1B = BV ( ICES1) | BV (CS10) ;
/ / 上升沿触发 ,时钟不分频 TIMS K1 = BV ( ICIE1) | BV ( TO IE1) ;
/ / 捕获中断和溢出中断允许 }
捕获中断函数代码如下 :
SIGNAL ( SIG IN PU T CA P TU R E1) { if (flag = = Tp) { timeL [ Tp ] = ICR1 ; time H[ Tp ] = co unter[ Tp ] ; el se { timeL [ Tt ] = ICR1 ; time H[ Tt ] = counter[ Tt ] ; } flag = 0xff ; } }
3 AVR 捕获
本文以 AVR 系列中高性价比的 A Tmage88 为例 ,利 用 16 位时钟单元 T/ C1 的捕获中断来实现电容充电时间 的测量 ,单片机时钟选择 8 M Hz 。输入捕获单元方框图如 图 4所示 。当引脚 ICP1 上的逻辑电平 ( 事件) 发生了变 化 ,并且这个电平变化为边沿检测器所证实 ,输入捕捉被 激发 :16 位 的 TCN T1 数 据 被 复 制 到 输 入 捕 捉 寄 存 器 ICR1 ,同时输入捕捉标志位 ICF1 置位 。如果此时 ICIE1 为 1 ,输入捕捉标志将产生输入捕获中断 。
}
完成一次测量后 ,根据
Rt
=
Tt Tp
R
p
,得
:
Rt
=
time H[ Tt ] time H[ T p ]
×65 536 ×65 536
+ +
timeL [ time可以得到测量的温度 。查表温度
间隔一般为 1 ℃,如果忽略热敏电阻 1 ℃以内的非线性误
[ 3 ] AVR 8 - bit Microcont roller Data Sheet : en mega88. pdf [ Z] . A TM EL Corporatio n ,2004.
[ 4 ] 芝浦电子. P T - 25 E2 - H1 Data sheet [ Z] . 2000.
作者简介 田开坤 男 ,1978 年出生 ,湖北五峰县人 ,讲师 。主要从事电子 、通信与自动控制技术方向的研究 。
关键词 :热敏电阻 ;温度测量 ;AV R 单片机 ;捕获中断 中图分类号 : TP391 文献标识码 :B 文章编号 :1004 373X(2008) 03 138 03
Temperature Measurement Based on AVR Capture Interrupt and Thermistor
TIAN Kaikun ,XU Haixia
( Elect rician and Elect ronics Experiment Center , Hubei Normal University , Huangshi ,435002 ,China)
Abstract : The paper int roduces a met hod of measuring t hermistor temperat ure t he similar to R - F co nvert f requency met hod ,high level or low level outp ut f ro m AV R MCU charges up capacitance t hrough t hermistor and standard resistance , o ut side inp ut capt ure interrupt measures charged time ,and calculates resistance value of t hermistor according to charged time and t he value of standard resistance ,get temperat ure value by means of table loo k - up . It discusses t he measuring t heorem , gives main p rogram flowchart and key code. And t his met hod is successf ully launched in designing t hermometer ,realized lower - co st ,high - p recision temperat ure measurement .