基于51单片机的便捷式测温电路设计.docx
《基于51单片机的便捷式测温电路设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的便捷式测温电路设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于51单片机的便捷式测温电路设计
电子与电气工程学院
毕业设计(论文)
题目:
基于51单片机的便携式测温电路设计
院(部):
电子与电气工程学院
专业:
电子工程系
姓名:
学号:
指导教师:
1.2温度测控技术的发展和状况2
1.3设计目标3
2.2主控制器4
2.3时钟电路4
2.4复位电路5
2.6温度测量电路6
2.7键盘电路7
2.8A/D转换电路7
2.9硬件电路.8
3软件设计9
3.1主程序流程设计10
3.2温度测量子程序流程设计10
3.3温度转换子程序设计10
3.4温度显示子程序设计10
3.5DS18B20的各个指示10
3.6温度数据的计算处理处理方法13
4.硬件调试13
5设计结论13
6.心得体会14
中文摘要
本论文研究了一种便携式温度测量仪,该测温仪采用DS18B20数字温度传感器和热电阻温度传感器,以及T|(德州仪器)公司生产的SCT89C52单片机、模拟运算放大器、电源等集成电路。
具有集成度高、功耗低、实时效强、操作简单的特点,实现了对温度信号的采集和处理。
同时采用LCD12864液晶显示屏及其配套的控制驱动电路显示测量结果,具有广泛的使用价值,例如医疗卫生、工农业生产、科学技术研究、公共交通和活动场所等领域温度数据的收集。
关键词:
单片机SCT89C52;温度传感器;热电阻温度传感器;液晶显示器
Abstract(英文摘要)
Inourcurrenteducationalenvironmentforthedevelopmentofinformation
technologyboom,thebuildingshouldbetoeducatethecampusnetworkneedsasapreconditiontosystemtheoryasa
guide,followthepromulgationofnationaltechnicalstandards,inthelargercontextofopennessandsharingofresources.
Thisarticleisbasedontheaboveconcept,fromthestatusofthecampusnetwork,onthecampusnetworkplanning,and
campusnetworkbuildinglinks,andconcreterealizationofthedesign,safetystrategiesforthefive-buildingcampusnetworkhasdonesomepreliminaryresearch.
Keywords:
ampusnetworks,safetystrategy
便携式测温电路设计
前言
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。
自然界中任何物理、化学过程都紧密的与温度相联系。
在很多生产过程中,温度的测量和控制度直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。
因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。
为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。
根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用--个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔
另外,在大部分实际的环境中,增温要比降温方便得多。
因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不应许实际温度超过控制的目标温度。
特别是隔热效果很好的环境。
温度一旦出现过冲,将难以很快把温度降下来。
这是因为很多应用中只有加热环节,而没有冷却的装置。
同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。
一、需求分析
1.1单片机STC89C52
STC89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图1.1STC89C52单片机示意图
1.2温度测控技术的发展与现状
近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确地控制,仍然是目前需要解决的问题。
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测量发展较早,这种测量方法的优点是:
简单、可靠、低廉、测量精度较高,一般能够测得真实温度,但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确地测量,并且该方法不适于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物度。
另外的非接触式测量方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:
不破坏被测温度,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。
但也存在测量误差腐蚀性介质测温,个能用于超高温测量,难于测量运动物度。
另外的非接触式测量方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:
不破坏被测温度,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。
但也存在测量误差较大,仪表指示值--般仅代表物体表现温度,测温装置结构复杂,价格昂贵等缺点。
因此,在实际的温度测量中,要根据具体对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
1.3设计目标
(1)基本目标
1.使用2路数字温度传感器;
2.测温范围0100°C,误差不大于+0.5°C;
3.同时显示A路和B路两路的温度值;
4.具有按日期和时间记忆相应温度数据的功能,并能够显示查询的结果。
(2)改进目标
1.使用2路热电阻温度传感器,测温范围0100°C,误差不大于+0.2°C;
2.同时显示C路和D路两路的温度值;
3.在四路温度传感器都接入的条件下,可同时显示A、B、C、D各路的温度值;
4.可通过显示屏显示温度时间曲线;5.可打印显示的温度时间曲线;
(3)方案要求
本数字温度计设计采用DALL_AS半导体公司继DS18B20之后推出的一种可改进型智能温度传感器DS18B20作为检测元件,测温范围为0-100摄氏度,误差不大于+0.2°C。
DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
按照系统设计功能的要求,确定系统由7个模块组成:
主控制器、键盘电路、温度传感器DS18B20、LCD显示电路、A/D转换器、时钟电路及信号放大电路。
温控系统如下:
二、硬件电路设计
2.1电路原理图
电源电路
AT89C51工作电压为+5V,数字温度传感器DS18B20工作电压3.0~5.5V。
电源电压设定为+5V。
Im317可调稳压电路图:
LM317是普通的可调集成稳压器,最大输出电流为2.2A,输出电压范围为1.25~37V,复合电压要求。
电路图如下:
1,2脚之间为1.25V电压基准。
为保证稳压器的输出性能,R1应小于240欧姆。
改变R2阻值即可调整稳压电压值。
D1,D2用于保护LM317。
2.2主控制器
单片机AT89C51是一-种带4K字节闪烁可编程可擦除只读存储器的低电压供电、高性能微处理器,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可用二节电池供电。
如图3.1
2.3时钟电路
单片机工作需要时钟信号,AT89C51内部有一个用于构成振荡器的单级反相放大
器,引脚XTAL1为反相输入端,XTAL2为反相器输出端,当在放大器两个弓|脚_上外接.一个晶振和电容组成的并联谐振电路作为反馈元件时,便构成一一个自激振荡器,此振荡器有XTAL1端向内部时钟电路提供一定.的频率时钟源。
如图3.2所示。
图3.2时钟电路图
2.4复位电路
单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死机循环状态等情况下都需要复位。
复位的作用是使中央处理器以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
AT89C51的复位电路靠外部电路实现,信号有RST引脚输入,高电平有效,在振荡器工作时,只要保持RST弓|脚高电平两个机器周期,单片机即复位。
复位电路一般有.上电复位、手动开关复位、自动复位电路等。
本设计采用手动上电复位电路。
如图3.3所示。
图3.3复位电路
2.5LCD显示电路
显示用4位共阳LCD数码管,从P1口输出段码,列扫描用P2.0至P2.3口来实现,列驱动用NOT非门]。
如图3.4所示。
图3.4LCD显示电路
2.6温度测量电路
DS18B20的主要特性
2.6.1、适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
如图
262、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
2.6.3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
2.6.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内
2.6.5、温范围一55°C~+125°C,在-10~+85°C时精度为+0.5°C
2.6.6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5°C、0.25°C、0.125°C和0.0625°C,可实现高精度测温
2.6.7、在9位分辨率时最多在93.75ms内把,温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
2.6.8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU].同时可传送
2.6.9、负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.7键盘电路
键盘是实现人机对话的重要手动之一,为了控制系统的工作状态,人们需要通过键盘或按键向系统输入数据或发送命令。
本设计中用户对系统的设置及控制包括以下两方面内容:
1.设置温度阀值;
2.查看系统设定;
三个功能按键分别是:
设置S2、十位加S3、个位加S4;当没有按键按下时,所有引脚都为高电平,代表无键按下。
一旦有键按下,则相应的输入线就被拉低。
通过读入输入线的状态,判断是否有键按下当检测到有按键按下后,调用延时程序消除机械抖动,再做下一-步按键判断,防止抖动误操作。
直到按键松开,引脚被拉高。
才进入相应功能程序。
2.8A/D转换电路
ADC0809是一个典型的A/D转换芯片,为逐次逼近式8位CMOS型A/D转换器,片内有8路模拟选通开关、三态输出锁存器以及相.应的通道地址锁存与译码电路。
ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作,输入输出与TTl兼容。
8路8位A/D转换器,即分辨率8位。
具有转换起停控制端。
转换时间为100μs,单个十5V电源供电,模拟输入电压范围0~+5V,不需零点和满刻度校准。
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START.上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入,高电平时,输出三态门门打开,转换结果的数字量输出到数据总线上。
A/D转换是把从热电偶接收到的温度模拟量转换成温度数字量输送到单片机里,以便可以用单片机进行控制。
2.9硬件电路
三.系统程序设计
系统程序主要包括主程序、温度测量子程序、温度转换子程序、温度设置子程序、温度显示子程序、加1子程序、温度上、下限比较子程序、当前温度与.上限温度比较子程序、当前温度与下限温度比较子程序等。
3.1.1主程序
主程序的主要功能是负责中断初始化、各寄存器的初始化和各子程序的调用。
3.2温度测量子程序
主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
3.3温度转换子程序
此子程序主要功能是进行BCD转换,因单片机输入端接受的是16位的二进制数,显示时必须化成BCD码才能显示正确结果。
3.4温度显示子程序
温度显示包括测量温度显示和设置温度显示,都是通过四个LED数码管显示。
子程序除了显示功能外,还包括温度比较的调用,通过测量温度与设置温度的比较来检测温度。
3.5DS18B20的各个ROM指令
1)ReadROM[33H]
这个命令应许总线控制器读到DS18B20的8位系列编码,唯一的序列号和8位CRC码。
只有在总线上存在单只DS18B20的时候才能使用这个命令。
如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突。
2)MatchROM[55H]
这个是匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线.上定位一只特定的DS18B20。
只有和64位ROM序列完全匹配的DS18B20才能响应随后的存储器操作。
所有和64位ROM序列不匹配的从机都将等待复位脉冲。
这条命令在总线上有单个或多个器件时都可以使用。
3)SkipROM[0CCH]
这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下,可以节省时间。
如果总线上不止一个从机,在SkipROM命令之后跟着发一条读命令,由于多个从机同时传送信号。
总线.上就会发生数据冲突。
4)SearchROM[0F0]
当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64位ROM编码。
搜索ROM命令允许总线控.制器用排除法识别总线上的所有从机的64位编码。
5)AlarmSearch[0ECH]
这条命令的流程和SearchROM相同。
然而,只有在最近一次测温后遇到符合报警条件的情况,DS18B20才会响应这条命令。
报警条件定义为温度高于TH或低于TL。
只要DS18B20不掉电,报警状态将一3)SkipROM[0CCH]
这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下,可以节省时间。
如果总线上不止一个从机,在SkipROM命令之后跟着发一条读命令,由于多个从机同时传送信号。
总线.上就会发生数据冲突。
4)SearchROM[0F0]
当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64位ROM编码。
搜索ROM命令允许总线控.制器用排除法识别总线上的所有从机的64位编码。
5)AlarmSearch[0ECH]
这条命令的流程和SearchROM相同。
然而,只有在最近一次测温后遇到符合报警条件的情况,DS18B20才会响应这条命令。
报警条件定义为温度高于TH或低于TL。
只要DS18B20不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。
6)WriteScrachpab[4EH]
这个命令向DS18B20的暂存器TH和TL中写人数据。
可以在任何时刻发出复位命令来中止写人。
7)ReadScreatchpad[0BEH]
这个命令读取暂存器的内容。
读取将从第1个字节开始,一直进行下去,直到第9字节读完。
如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。
8)CopyScratchpad[48H]
这个命令把暂存器的内容拷贝到DS18B20的EEROM存储器里,即把温度报警触发字节存入非易失性存储器里,如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于把暂存器拷贝到EEROM存生电源,总线控制器必须在这条命令发出后立即启动强上拉并最少保持10ms。
9)ConvertT[44H]
这条命令启动--次温度转换而无需其它数据。
温度转换命令被执行,而后DS18B20保持等待状态。
如果总线控制器在这条命令之后跟着发出时间间隙,而DS18B20又忙于做时间转换的话,DS18B20将在总线上输出0,若温度转换完成,则输出1。
如果使用寄生电源,总线控制器必须在发出这条命令后立即启动强上拉,并保持者一号500ms以上时间。
10)RecallEE[0B8H]
这条命令把报警触发器里的值拷贝回暂存器。
这种拷贝操作在DS18B20上电时自动执行,这样器件一-上电暂存器里马上就存在有效的数据了。
若在这条命令发出之后读数据隙,器件会输出温度转换忙的标识:
0为忙,1为完成。
11)ReadPowerSupply[0B4H]
若把这条命令发给DS18B20后发出读时间隙,器件会返回它的电源模式:
0为寄生电源,1为外部电源。
3.6温度数据的计算处理方法
从DS18B20读取出的二进制比须先转换成十进制值,才能用于字符的显示,因为DS18B20的转换精度为9至12位可选的,为了提高精度采用12位。
在采用12位转换精度时,0。
0625为步进的,即温度值为温度寄存器里的二进制乘以0.0625,就是实际的十进制温度值。
通过观察表可以发现一个十进制和二进制之间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一一个字节,这个字节的二进制化为十进制后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。
小数部分因为是半个字节,所以二进制值范围是0至F,转换成十进制小数值就是0.0625的倍数(0至15)。
这样需要4位的数码管来显示小数部分,实际应用不必有这么高的精度,采用1位数码管来显示小数,可以精确到0.1摄氏度。
五.硬件调试
系统的调试以程序为主,硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。
软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、温度测量子程序、温度转换子程序、温度设置子程序、温度显示子程序的编程及调试,由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。
本程序采用单片机汇编编写,用Kei|编译器编程调试。
软件调试到能显示温度值,而且在有温度变化时(如用手去接触)显示温度能改变就基本完成。
数码管来显示小数部分,实际应用不必有这么高的精度,采用1位数码管来显示小数,可以精确到0.1摄氏度。
六、设计结论
1.DS18B20工作时电流高达1.5mA,总线上挂接点数较多且同时进行转换时,要考虑.增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET供电。
2.连接DS18B20的总线电缆是有长度限制的,因此在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配等问题。
3.在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时要给予-定的重视。
七.心得体会
随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识越来越深,著名科学家王大珩,杨家墀、金国藩就曾指出“仪器仪表是信息产业的重要部分,是信息工业的源头。
仪器仪表在生产发展、科学研究以及人们的日常生活中有着十分重要的作用。
随着微型计算机技术及嵌入式系统的发展,仪器仪表朝着高集成度、低功耗、可编程以及数字化的方向发展。
单片机开发过程是一个非常严谨,复杂,科学,周密和细致,及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。
能以细致和科学的头脑去考察、分析和解决问题。
同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实是求是,一丝不苟的精神,才能开发出理想的设计出来。
在这次方案设计中,我们大家齐心协力,共同攻克难关,并最终敲定我们的作品方案。
从这次设计中,我们获得了许多的经验和知识,在以后的学习中我们将用这种专注精神和创新精神不断地提高自我。
然而本设计仍然存在不少不完善和有待改进的地方,因此在今后的各种设计中,都会继续考虑这些问题并力图解决。
特别感谢给予我们大力支持的指导老师,以及参赛机会。
八.参考文献
[1]默少丽,邓鹏.基于MSP430的低功耗便携式测温仪设计[J].电子工程师,2018(03):
18-20.
[2]李彤,胡彧.智能定位便携式测温仪[J].传感器与微系统,2018.33(04):
95-98.
[3]杜尚丰.一种便携式测温仪的研制[J].仪器仪表学报,2010(S2):
588-589.
[4]陈文亮,施涌潮,梁福平.便携式高精度测温仪的设计[J].北京机械工业学院学报,2019(04):
29-33.
[5]刘月峰,江杰.便携式多功能低功耗数字测温仪的设计[J].微计算机信息,2019(32):
122-124+138.
[6]李福山,李黎军,王淑文.基于80C31BH单片机的便携式多功能钢水测温仪的研制[J].传感器世界,2020(06):
19-23.
[7]郝天佑,王显庭.光导纤维耦合双差动部分辐射式测温仪的设计和研究[J].仪器仪表学报,2020(04):
17-24.