您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子体温计9733602481
1电子体温计摘要:随着时代的进步和发展,单片机技术已经普及到我们的生活、工作、科研等各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字电子体温计,是一种多功能体温计。该电子体温计利用AD590温度传感器完成温度的测量,再把测量温度的模拟量通过ADC0809A/D转换芯片进行A/D转换,将转换的结果用3位共阳极LED数码管以串口传送数据,实现温度显示。其中该电子体温计设计控制器采用了单片机AT89C2051芯片,本芯片最大的优点是低功耗,并且可以通过程序来控制测温时间,当测温完毕后实现蜂鸣器提示。该电子体温计测温精确度高,达到精度为+/-0.1度,测温时间短,是一个智能化程度较高的电子体温计。关键词:单片机,数字控制,体温计,AD590,AT89C20511引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字电子体温计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对体温的测试,该设计控制器使用单片机AT89C2051,测温传感器使用AD590,用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。2总体设计方案2.1数字温度计设计方案论证2.1.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。2.1.2方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,该电路控制器可以采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。2.1.3方案三由于考虑到低功耗和测温精度的问题,本方案采用AT89C2051和AD590温度传感器,利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后送入数码管显示。对比以上三种方案,因为DS18B20温度传感器只能达到测温精度为+/-0.5度,而且AT89S51达不到低功耗。然而方案三中采用了AT89C2051和AD590刚好能达到测温精度+/-0.1和低功耗的要求。所以采用方案三。2.2方案三的总体设计框图体温计电路设计总体设计方框图如图1所示,控制器采用单片机AT89C2051,温度传感器采用AD590,用3位LED数码管以串口传送数据实现温度显示。2图1总体设计方框图2.2.1主控制器单片机AT89C2051具有低电压供电和体积小等特点,端口也能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。2.2.2显示电路显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码。2.2.3温度传感器AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。AD590温度与电流的关系如下表所示摄氏温度AD590电流经10KΩ电压0℃273.2uA2.732V10℃283.2uA2.832V20℃293.2uA2.932V30℃303.2uA3.032V40℃313.2uA3.132V50℃323.2uA3.232V60℃333.2uA3.332V100℃373.2uA3.732VAD590是美国模拟器件公司的电流输出型温度传感器,供电电压范围为3~30V,输出电流223μA(-50℃)~423μA(+150℃),灵敏度为1μA/℃。当在电路中串接采样电阻R时,R两端的电压可作为喻出电压。注意R的阻值不能取得太大,以保证AD590两端电压不低于3V。AD590输出电流信号传输距离可达到1km以上。作为一种高阻电流源,最高可达20MΩ,所以它不必考虑选择开关或CMOS多路转换器所引入的附加电阻造成的误差。适用于多点温度测量和远距离温度测量的控制。利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后送入数码管显示。主控制器LED显示温度传感器单片机复位时钟振荡报警点按键调整3其内部结构框图如图2所示。图2传感器内部结构第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。传感器工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置传感器在工作模式还是在测试模式,R1和R0决定温度转换的精度位数,来设置分辨率。TMR11R01111....图3传感器字节定义由表1可见,传感器温度转换的时间比较短,而且分辨率越高,测量电流很小。因此,在实际应用中要将分辨率和转换时间权衡考虑。温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCI/OC64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器VddAD590传感器4当AD590接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。表1AD590温度转换时间表R0R1000101119101112分辨率/位温度最大转向时间/ms93.75187.5375750....AD590完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只AD590同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入AD590的CRC值作比较,以判断主机收到的ROM数据是否正确。AD590的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,AD590就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将32所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在32所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表2一部分温度对应值表温度/℃二进制表示十六进制表示44001011002CH42001010102AH400010100028H39.50010011127H38.80010011026H37.70010010125H36.60010010024H350010001123H340010001022H320010000020H另外,由于AD590单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对AD590的各种操作按协议进行。操作协议为:初使化AD590(发复位脉冲)→5发ROM功能命令→发存储器操作命令→处理数据。图4AD590与单片机的接口电路2.3AD590温度传感器与单片机的接口电路AD590可以采用两种方式供电,一种是采用电源供电方式,此时AD590的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4所示单片机端口接单线总线,为保证在有效的AD590时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当AD590处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.4系统整体硬件电路2.4.1主板电路系统整体硬件电路包括传感器数据采集电路、温度显示电路、报警电路、单片机主板电路等,如图5所示。图中有三个独立式按键可以分别控制温度计的报警功能,图中蜂鸣器可以在被测温度完成后,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示,这时可以知道被测的温度值。图中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。2.4.2显示电路显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用p3口的RXD,和TXD,串口的发送和接收,四只数码管采用74LS164右移寄存器驱动,显示比较清晰。3系统软件算法分析系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。3.1主程序主程序的主要功能是负责温度的实时显示、读出并处理AD590的测量的当前温度值,温度测量大约每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图66发AD590复位命令发跳过ROM命令发温度转换开始命令结束所示。图6主程序流程图图7读温度流程图3.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图7示图8温度转换流程图3.3温度转换命令子程序初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNYY发AD590位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY7温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图8所示3.3.4显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位,具体如下图所示。4总结与体会该电子体温计的设计综合了多方面的知识,采用单片机主体控制实现计时和温度检测功能及其两部分的相关功能,另外实现测量完毕后用蜂鸣器提示、低功耗、测温电流小于1mA等功能。该系统的设计是我们运用单片机、数、模电路等基础课程知识的结晶。这是我们理论联系实际的一次很好的机会,在这个过程中我们发现很多的问题,但是我们也解决了很多的问题,所以经历过这个项目的设计后我们长进了很多。给与了我们很多挑战困难的勇气和信心。通过此次电子体温计的设计,我们真真正正的意识到在以后的学习中要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我们在这次设计中的最大收获。参考文献[1]李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998[2]李广弟.单片机基础[M].北京:北京航空航天大学出版
本文标题:电子体温计9733602481
链接地址:https://www.777doc.com/doc-74053 .html