简易数字式温度计设计.docx

上传人:b****7 文档编号:26379174 上传时间:2023-06-18 格式:DOCX 页数:13 大小:146.23KB
下载 相关 举报
简易数字式温度计设计.docx_第1页
第1页 / 共13页
简易数字式温度计设计.docx_第2页
第2页 / 共13页
简易数字式温度计设计.docx_第3页
第3页 / 共13页
简易数字式温度计设计.docx_第4页
第4页 / 共13页
简易数字式温度计设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

简易数字式温度计设计.docx

《简易数字式温度计设计.docx》由会员分享,可在线阅读,更多相关《简易数字式温度计设计.docx(13页珍藏版)》请在冰豆网上搜索。

简易数字式温度计设计.docx

简易数字式温度计设计

摘要

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该高精度数字式温度计采用了由DALLAS公司生产的单线数字温度传感器DS18B20,它具有独特的单线总线接口方式。

本毕业论文详细的介绍了单线数字温度传感器DS18B20的测量原理、特性以及在温度测量中的硬件和软件设计,该温度计具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点。

关键词:

DS18B20温度传感器STC89C51

 

 

第一章绪论

1.1课题背景及研究意义

随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。

传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。

温度是工业对象中的一个重要的被控参数。

然而所采用的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不相同。

本系统所使用的加热器件是电炉丝,功率为三千瓦,要求温度在400~1000℃。

静态控制精度为2.43℃。

本设计使用单片机作为核心进行控制。

单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。

1.2国外的现状

温度控制系统在国各行各业的应用虽然已经十分广泛,但从国生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。

成熟的温控产品主要以“点位”控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。

随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

1.3设计的目的

1.巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。

2.培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。

3.通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、容及步骤。

1.4设计实现的目标

本课题的研究重点是设计一种基于单片机的数字温度计控制系统。

利用数字温度传感器DS18B20,此传感器可读取被测量温度值,进行转换。

主要工作如下:

1.温度测试基本围-55℃—125℃。

2.精度误差等于1℃。

3.0.56寸的三位共阳极数码管显示。

4.可以设定温度的上下限报警功能。

5.实现超温报警提示。

1.5数字温度计简介

数字温度计采用进口芯片组装精度高、高稳定性,误差≤0.5%,电源、微功耗、不锈钢外壳,防护坚固,美观精致。

数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,置高能量电池连续工作≥5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。

是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院校,科研院所。

数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。

这样就完成了数字温度计的基本测温功能。

数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温围等都有区别,这就要根据实际情况选择符合规格的数字温度计。

二、总体方案设计

1、数字温度计设计方案论证

2.1.1方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

2.1.2方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

2.2方案二的总体设计框图

温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。

 

2、硬件设计

1.1工作原理及硬件框图

基于DS18B20的温度测量装置电路图如图1所示,包括单片机最小系统、温度传感器、和显示电路。

温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),单片机对接收到的数字信号进行标度变换,转换成实际的温度值并送数码管显示。

DS18B20传感器可置于离装置150米以的任何地方。

STC89C51是整个电路装置的控制核心,STC89C51带4K字节的FlashROM,用户程序存放在此。

图2系统硬件框图

3、系统分析:

  本设计主要的任务是单片机软件的设计,而软件中的核心在于单片机与集成温度传感器DS18B20接口程序的设计,另外一点便是对数码管扫描显示的理解与运用。

由于DS18B20集成了温度数据采集、模数转换于一体,因此外围电路非常简单。

在进行软件设计前,须对该芯片反复研究,掌握其核心容,其实程序在厂家提供的应用资料中也可以找到,关键是要对其工作过程的理解。

对数码管扫描显示的程序设计,只要理解了其显示的工作原理,也不是可以掌握的。

3.1、制作重点:

★读取DS18B20的时序

由于对DS18B20传感器数据的读取有一定的时序要求,因此在编写软件时要特别注意,先反复读懂该器件的读、写时序,然后根据所选用的晶振计算出机器周期的时间,为了使计算简单,在设计时将晶振选用12M,因为51系列单片机一个机器周期正好是12个时钟周期,因此选用12M晶振时,一个机器周期正好是1微秒,这样计算时间比较方便。

★对读取数据的处理

从DS18B20芯片的资料中可以看出,其数据存储器的分配为:

存储数据与温度的对应关系见下表:

从以上的分析可以看出,温度值存储于两个字节单元中,温度与存储器的对应关系为:

整个温度值由16位二进制数表示,最高的5位为符号为,为零时代表正的温度值,为“1”时,代表的是负温度值,真正表示温度的是后11位数据,最低的四位表示小数位,其中0单元的高四位和1单元的低四位组合正好形成测得的温度整数值,这样我们在对读取的数据在进行处理时,只需将0单元的高四位和1单元的低四位通过重新组合,形成一个新的8位数据,这个数据便是测得的温度数值,但这是个16进制的数据,要输出10进制数进行显示,要进行相应的转换操作,至于将16进制数转换成10进制数据的汇编程序。

★数码扫描输出的处理

为了节省单片机端口,输出显示采用扫描的方式进行。

利用人眼对光的停留效应,通过电子开关的控制,节合显示数据的配合,完成三位数码管的扫描显示。

4、温度测量电路

目前市面上的数字温度传感器有很多,比如DS18B20、MAX6575、DS1722、MAX6635等。

用DS18B20可使系统结构更简单,可靠性更高。

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

DS18B20的外形如图2所示,有三个引脚,引脚定义:

DQ为数字信号输入/输出端,GND为电源地,VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

DS18B20与单片机的接口电路很简单,如下图3所示。

DS18B20的DQ即2号端于单片机P26口相接,另外两个管脚一个接5V电源,另外一个管脚接地。

上拉电阻为5.1K的上拉电阻,分别接于单片机的EA/VP端与P2.7口。

上拉电阻作用主要是若温度传感器开路或没接时,能起到上拉作用,使之为高电平,使后读电路保护作用。

4.3单片机最小系统4.3.1单片机选型

在本次设计中,主要用单片机STC89C51来控制。

STC89C51是与8051兼容的CHMOS微控制器。

其FLASH存储器容量为2KB。

与CHMOS工艺的89C51一样,支持软件选择的空闲和掉电两种节电运行方式。

性能如下:

8位CPU

工作电压围2.7~6V

全静态工作方式:

0Hz~24Hz;

一个可编程串行口;

有片精密模拟比较器;

2KB的FLASH存储;

128B的数据存储器;

15根输入/输出线;

2个16位定时/计数器;

5个中断源,2个优先级。

STC89C51的FLASH存储器编程:

STC89C51单片机提供了2KB的片FLASH程序存储器,它允许在系统改写或用非易失性存储器编程器编程。

FLASH存储器加密位:

STC89C51单片机有2个加密位。

可以编程(P)或不编程(U)以获得不同的加密功能。

4.3.2最小系统

图4单片机最小系统

时钟复位电路如图4所示,采用12MHz的晶振。

复位电路采用了微分型复位电路。

复位电路的基本功能是:

系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。

4.4显示电路

主要采用四位一体共阳极LED数码管组成,采用动态法显示,直接显示当前环境温度。

P0口接数码管的段码,P1.0-P1.3接数码管的位线。

按钮开关可选择小数点后显示一位或两位。

4.5电源电路

市电220V经过变压器T1降压,得到一个交流的16v电压,再经过四个整流二极管整流、C5滤波得到直流电压,最后经过三端集成稳压管稳压,得到一个稳定的5V直流电压。

2软件设计

在此系统中,主要包括温度测量、显示、键盘。

最主要的程序是温度测量部分。

2.1系统主流程图

系统上电后,首先对DS18B20进行初始化设置,接着对DS18B20发出SKIPROM指令(即跳过ROM存储器)延时5ms后,对DS18B20发出启动温度转换命令,然后,从DS18B20的暂存储器中读出温度数据,接着对该数据进行转换,转换成当前环境温度。

最后将实际温度与设置温度比较,超过限制则发出报警。

2.2温度测量设计

通过STC89C51芯片的一个通用I/O口就可以实现对智能温度测量模块DS18B20的控制。

读取DS18B20测量的温度主要是通过初始化命令、ROM功能命令、存储器功能命令、温度转换命令、读存储器命令等组成。

冷端温度补偿

 

三、系统软件算法分析

程序命令时序

总线命令序列如下:

第一步:

初始化

第二步:

ROM命令(跟随需要交换的数据)

第三步:

功能命令(跟随需要交换的数据)

每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则一线器件不会响应单片机。

基于一线上的所有传输过程都时以初始化开始的,初始化过程由单片机发出的复位脉冲和DS18B20的响应的应答脉冲组成。

应答脉冲使单片机知道,总线上有1-WIRE设备,且准备就绪。

系统中CPU采用12MHz晶振,DQ端接P2.6。

RESET子程序

RESET:

CLRP2.6;拉低总线至少480us,否则在温度较高时会无法完成复位。

MOVR2,#130;在调试过程中发现延时520uS,测温值可到110℃,达到

D1:

DJNZR2,D1;DS18B20的技术参数。

SETBP2.6;释放总线

MOVR2,#20

D4:

DJNZR2,D4

P2.6,D0;总线若为低,则复位成功;否则复位失败,返回。

MOVR2,#110

D2:

DJNZR2,D2;延时等待复位过程结束

RET

在单片机检测到应答(presence)脉冲后,就可以发ROM命令,命令长度为8位。

该命令字要通过1-WIRE通信协议规定的严格的写时隙(Writetimeslots),逐位写到一线上,DS18B20会自动接收到这些命令,并准备响应相应的操作。

本系统是单点使用,故只须用到SKIMROMMAND(0CCH),这样单片机可以同时访问总线上的所有设备,而无须发出任何ROM代码信息。

例如,单片机在发出SKIPROM命令后跟随CONVENTT(功能MAND)即启动温度转换命令(44H),值得注意的是:

若SKIPROM命令后跟的是READSCRATCHPAD(0BEH)命令(包含其他读操作命令),则该系统只能用于单点系统,否则将由于多个节点都响应该命令而引起数据冲突。

在单片机发出ROM命令后,接着就可以发送功能命令,然后DS18B20就开始执行命令,本单点应用系统中主要用到CONVENTT和READSCRATCHPAD在执行READSCRATCHPAD命令时,单片机可以通过发送RESET脉冲在任何时候中断数据传输。

读、写时序

在对DS18B20进行ROM或功能命令字的写入及对其进行读出操作时,都要求按照严格的1-WIRE通信协议(时序),以保证数据的完整性。

其中有写0、写1、读0和读1时序。

在这些时序中,都由单片机发出同步信号,并且所有的命令字和数据在传输的过程中都是字节的LSb在前,这一点于基于其他总线协议的串行通信格式(比如SPI、等)不同,它们通常是字节的MSb在前。

读时序

DS18B20仅在单片机发送读时隙(READSLOT)时才发送数据,所以单片机在发送READSCRATCHPAD命令后必须立即产生读时隙。

所有的读时隙都要至少保持60us,并且在两个读时隙间至少要有1us的恢复时间。

单片机通过把总线拉低至少1us来做为一个读时隙的开始,DS18B20的输出数据在读时序下降沿过后15us有效,所以在此期间单片机应释放总线,进入读数据状态以便读取数据,15us后一线总线被上拉电阻拉为高电平,程序延时等待读时隙结束。

读一字节子程序出口条件:

读出字节数据在A中

RE1W:

MOVR6,#8;从1-Wire总线读出1字节数据的子程序

RE1:

CLRP2.6;拉低总线,发出读时序

NOP

SETBP2.6;释放总线,等待输入

MOVR4,#02H

RE2:

DJNZR4,RE2

MOVC,P2.6;通过RRCA指令,从低位开始依次读入数据

RRCA

MOVR5,#20

RE3:

DJNZR5,RE3;延时,等待读时隙结束

SETBP2.6;恢复时间DJNZR6,RE1

SETBP2.6

RET

写时隙

写时隙也有两种,写0和写1。

主要用于单片机通过1-WIRE总线向DS18B20

写入命令字。

所有的写时隙也至少要保持60us,且在两个写周期之间至少要有1us的恢复时间。

单片机通过拉低一线总线至少1us来产生写时隙。

当写1时,单片机拉低总线,然后必须在15us释放总线,总线被上拉电阻拉高。

当写0时,单片机拉低总线后,然后必须继续保持总线为低(至少60us)。

DS18B20在单片机发出写时隙后的15—60us之间开始采样,在这期间,若总线为高,则1被写入进DS18B20;若总线为低,则0被写入DS18B20。

写一字节子程序入口条件:

写入的字节在A

WR1W:

MOVR3,#08H;向1-Wire总线写入1字节数据的位数

W1:

SETBP2.6;恢复时间

MOVR4,#02

RRCA;通过RRCA指令依次向总线写入1字节的数据

CLRP2.6;拉低总线,发出写时隙

W2:

DJNZR4,W2

MOVP2.6,C

MOVR4,#20

W3:

DJNZR4,W3

DJNZR3,W1

SETBP2.6

RET

结论通过这次高精高精度数字式温度的设计和制作,让我感觉到在大学三年里,掌握了一定的专业知识和动手能力,在制作计的过程中学到了很多东西。

比如了解了温度传感器DS18B20的功能,如何编写单片机STC89C51的程序来实现数码管直接显示环境温度。

还有巩固了以前学过的知识,比如用制图Protel99SE等等。

最主要的还是使我能利用硬件和软件的结合,来完成一个产品的设计和制作!

总之,在这个毕业论文的完成过程中,让我感觉一种对知识的一种重温,让我知道如何有步骤和计划的完成一项任务,不过在这个其中也让我感觉到自己所学的知识还是有限的和解决问题的不够完善,希望自己今后做好每一件事情。

参考文献

[1] 朝青.单片机原理及接口技术:

航空航天大学,1998

[2] 广弟.单片机基础[M].:

航空航天大学,1994

[3] 阎石.数字电子技术基础(第三版).:

高等教育,1989

[4] 廖常初.现场总线概述[J].电工技术,1999.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1