电子温度计的设计.docx

上传人:b****5 文档编号:11815100 上传时间:2023-04-03 格式:DOCX 页数:29 大小:136.40KB
下载 相关 举报
电子温度计的设计.docx_第1页
第1页 / 共29页
电子温度计的设计.docx_第2页
第2页 / 共29页
电子温度计的设计.docx_第3页
第3页 / 共29页
电子温度计的设计.docx_第4页
第4页 / 共29页
电子温度计的设计.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

电子温度计的设计.docx

《电子温度计的设计.docx》由会员分享,可在线阅读,更多相关《电子温度计的设计.docx(29页珍藏版)》请在冰豆网上搜索。

电子温度计的设计.docx

电子温度计的设计

引言.1

1.概述.1

1.1设计的目的及意义1

1.2单片机简介.1

2.方案论证.2

3系统元件选择2

3.1主控制器选择2

3.2温度传感器DS18B203

3.2.1DS18B20的特性3

3.2.2DS18B20的外形和内部结构4

3.2.3DS18B20与单片机的接口电路4

3.3数码管.5

4.系统硬件设计.5

4.1总体设计5

4.2各部分电路分析6

4.1.1温度采集部分6

4.2.2复位电路6

4.2.3晶振电路6

4.2.4超限报警电路7

4.2.5数据显示数码管电路部分7

4.2.6电源部分8

5系统软件部分的设计8

5.1温度的采集.8

5.1.1时序及协议8

5.1.2设计流程10

5.2温度数据的处理11

5.3数值的显示.11

总结.12

致谢.13

参考文献:

.14

附录.15

附录一源程序.15

附录二系统原理图26

电子温度计的设计

摘要:

该设计介绍了DS18B20型数字温度传感器内部结构及工作时序,并提出了以

DS18B20和AT89C51为核心设计的数字温度计设计方案。

实践证明,该数字式温度计的测温范围为-50〜+110C,精度误差在0.1C以内,具有测温精度高,控制性能良好等特点设计还介绍了一种基于51单片机和DS18B20数字温度传感器来进行温度测量的方法,包括温度传感器芯片的选取、单片机与温度传感器接口电路的设计,以及实现温度信息采集和数据传输的软件设计。

该温度计完全适用于一般的应用场合,也可在高低温报警、远距离多点测温控制等方面进行应用。

关键词:

数字温度计,单片机,温度传感器

TheDesignofElectronicThermometer

Abstract:

ThispaperintroducedtheinnerstructureandjobsequenceofthedigitaltemperaturesensorDS18B20,andputforwardadigitaltemperaturedesignofthecoredesignaccordingtoDS18B20andAT89C51.Practicetestifiesthatthedigitaltemperature'smeasurementrangeis-5~+110°C,andaccuracyerroriswithinO.TC.Ithashighmeasurementtemperatureaccurac,yfinecontrollingcharacteristic,andsoon.ApracticaltemperaturemeasuringmethodbasedonmicrocontrollerandDS18B20digitaltemperaturesensorwaspresented.Theselectionoftemperaturesensorchipwasdiscussedandthedesignofhardwareinterfacecircuitandrelatedsoftwareweredealtwithinmoredetail.sThetemperaturecompletelyfitstobeusedfortheaverageapplicatio,nalsomaybeusedtothefieldofhighorlowtemperaturealarm,controllingoftheremoteandmultiplespot'stemperaturemeasureme,ntandsoon.

KEYWORD:

SDigitalThermometer,Microcontroller,Temperaturesensor

引言

在传统的温度测量系统中,一般采用热电偶或铂电阻进行温度测量。

在这些电路中,有这样一些问题必须解决:

为了进行准确的温度测量,必须给铂电阻提供一个良好的恒流源;由于热电偶出来的信号是模拟信号,所以此信号在送给CPU之前必须先进行A/D转

换,然后再送给CPU进行处理;并且热电偶的信号很微弱,只有十几个mA,因此在A/D

转换之前通常还需要进行增益放大。

因此,采用热电偶和铂电阻进行温度测量,需要考虑很多问题,构成的系统也比较复杂。

DALLAS公司推出的数字式温度传感器DS18B20很好地解决了这样一些问题,DS18B20采用一线接口,只需占用单片机的一个I/O口位,其外围电路也非常简单;并且DS18B20将测得的温度信号转换为数字量输出,可以与单片机

直接相连,而不需进行信号放大和A/D转换,大大简化了电路的设计,因此系统采用了DS18B20作为温度传感器进行温度采集。

1.概述

1.1设计的目的及意义

单片机实现的电子温度计的毕业设计是在学习单片机,汇编语言,PROTEUS软件等基

础上,综合应用所学的理论知识完成。

虽然该设计题目类似于课程设计题目,但因涉及原理图、硬件的选型、软件语言的选择等的要求,已经符合毕业设计的要求。

设计目的:

整个系统以单片机AT89C51为核心,结合数字温度传感器DS18B20,数码管显示等,实现温度的示数。

单片机应用系统具有体积小、功耗低、功能强、性能价格比高、易于开发和推广等优点,在自动化控制、仪器仪表和家用电器等领域中得到了广泛的应用。

单片机应用系统设计主要包含以下两方面内容:

(1)深入研究单片机的芯片功能,掌握与其相关的接口电路,熟练掌握与其相关的软件语言和设计方法,学习和了解现有系统的设计原理和方法。

(2)学习和掌握传感器技术,掌握电子技术的一般设计原理和方法。

1.2单片机简介

微型计算机可分为普通微型计算机和单片微型计算机,前一种指我们通常所用的PC机,后者正是这次设计所使用的,简称单片机。

所谓单片机(SingleChipMicro-computer)就是把中央处理器CPU、随机存储器RAM、只读存储器ROM、定时器/计数器及I/O接口等主要功能部件集成在一片大规模或超大规模集成电路芯片上的微型计算机,即在一个芯片上实现一台微型计算机的基本功能。

近年来随着超大规模集成电路工艺的发展,单片机作为微型计算机的一个分支而获得飞速发展。

由于它具有体积小、价格低、功能强、应用方便、可靠性高等优点,因而广泛渗透于实时控制、智能报警(如汽车防撞报警器)、仪器仪表、通讯导航、家用电器等各个领域,从尖端科学到日常用具,单片机几乎无处不在。

随着设备向小型智能化方向的发展和计算机在控制系统中的作用,单片机作为高新技术之一,发展空间是相当大的。

如果是简单控制对象,只需利用这样的单片机作为控制核心,不需要增加别的外部设备和扩展某些接口就能实现;对于复杂的系统,单片机的应用和接口扩展也很方便。

单片机系统归纳起来有以下特点:

(1)由于系统规模较小,本身不具有自我开发能力,需借助专用开发工具进行系统的开发和调试,使得实际应用系统简单实用,成本低,效果好。

(2)系统配置以满足对象的控制要求为出发点,使得系统有较高的性能价格比。

(3)应用系统通常将程序驻留在ROM中,无需软硬磁盘作软件载体,使系统不易受到干扰,可靠性高,使用方便。

(4)应用系统所用存储器芯片可选用EPROM、EEROM、OTP芯片或利用掩膜形式生产,便于成批开发和应用。

(5)由于系统小巧玲珑,控制能力强,体积小,便于安装于被控设备之内,大大推动了机电一体化产品的开发。

(6)系统是超大规模集成电路,它的工作电压10V左右,功耗小,使得系统具有更好

的性价比。

2.方案论证

方案一:

热电偶的实现办法,需要比较多的外部硬件支持,电路复杂,软件调试复杂,制作成本高。

实现上需要温度的补偿,在满足精度时有一定的难度。

方案二:

智能传感器DS18B20作为检测元件,测温范围-55C~125°C,分辨率最大可达0.0625C。

DS18B20可以直接读出被测温度值。

而且采用3线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。

LED数码管作为显示器件,通过89C51构建最小系统。

综上所述,权衡各方面的利弊,我采用方案二。

3系统元件选择

3.1主控制器选择

AT89C51

3.2温度传感器DS18B20

3.2.1DS18B20的特性

(1)适应电压范围更宽,电压范围:

3.0〜5.5V,寄生电源方式下可由数据线供。

(2)独特的单线接口方式,DS18B2C在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(3)DS18B20支持多点组网功能,多个DS18B2削以并联在唯一的三线上,实现组网多点测温。

(4)DS18B2C在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

(5)温范围—55E〜+125C,在-10〜+85C时精度为土0.5C。

(6)可编程的分辨率为9〜12位,对应的可分辨温度分别为0.5C、0.25C、0.125C和0.0625C,可实现高精度测温。

(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU同时可传送CRC校验码,具有极强的抗干扰纠错能力。

9)负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作

322DS18B20的外形和内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的管脚排列如图3-1:

引脚定义:

(1)DQ为数字信号输入/输出端;

⑵GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)内部结构如下图

ft

接口

DS18B20内部结构图

磁灵敏元件

3.2.3DS18B20与单片机的接口电路

确保DS18B20在其变换期得到足够的电源电流,在I/O线上提供一强的上拉。

连接图如下图

GND

l>O

DC

S3-3上拉疾接圉

而此处采用外部电源供电方式,即在DQ与单片机接口处必须填加上拉电阻,该电阻一般为4.7K。

3.3数码管

常见的LED显示具有清晰明亮的特点。

是显示接口也是绝大多数单片机应用系统必备的部件之一。

发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。

它由若干个发光二极管按一定的规律排列而成。

当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。

显示器的结构常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。

1位显示器由8个发光二极管组成,其

中7个发光二极管a〜g控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。

t

a

>*hc

4

d

Z3

3*

0

ZV

3O

A/

O1

>i

>J

3i

nbcdcfa

共阳

共阴

4.系统硬件设计

4.1总体设计

该系统是以AT89C51芯片为核心,通过检测DS18B20的工作与否,然后将其内部的数字量温度读到单片机,通过相应的数码管显示,当温度超出设定的温度时用蜂鸣器报警。

其外围电路包括复位电路、晶振电路。

系统框图如下图:

系统框图

4.2各部分电路分析

4.1.1温度采集部分

a)温度采集电路的功能是采集传感器周围的温度,并将其转换成数字信号输出

b).电路原理图

4.2.2复位电路

a).电路的功能是完成对单片机的复位,具有上电复位功能和按键复位功能。

b).电路原理图

单片机的复位就是对单片机的初始化,就是让程序重新开始执行,也就是说让单片机的PC寄存器初始化为0000H。

一般的初始化是指进入程序的正常初始化,但是当程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境也需要按复位键使系统重新启动。

复位方式有自动复位和手动。

我们在本设计中采用自动复位的上电复位方式。

晶振为12MHZ。

复位电路如图

4.2.3晶振电路

a).电路功能是产生稳定的时钟脉冲供单片机工作,

b).电路原理图

AT89C5l中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,

我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。

用户也可以采用外部时钟。

采用外部时钟的电路如下图所示。

这种情况下,外部时钟脉冲接到XTAL1端,

即内部时钟发生器的输入端,XTAL2则悬空。

囹3百品振外詡时忡电昭

5CFAL1

CMD

4.2.4超限报警电路

报警电路设置的原因是,该电子温度计的限定范围为0—100度。

当超出这个范围时就要求有报警指示。

该处采用PNP三极管9015进行驱动蜂鸣器,三极管工作在开关状态原理图如下图

囹报晉电踣

4.2.5数据显示数码管电路部分

a).数据显示电路电路的功能是显示传感器检测到的温度数据。

b).因为要显示0C〜100C,分辨率0.1C,该部分至少有四个数码管来显示数值。

单片机的资源有限,在这里只能采用动态扫描的方法。

在该接法中,单片机使用的口线为P0

口,作为输出口,需要上拉,图中的电阻均为10K。

数码管采用共阳管。

电路接口电路如下图

426电源部分

a)电源部分的功能是使单片机工作稳定,各时序要求严格,所以其电源要求比较高。

最好采用开关电源,这里使用的是自制电源。

b)变压器变压输出,把高电压变成低电压,输出的电压值是正弦图形。

桥堆全桥整流后输出的电压是波浪一样的图形,就是把正弦的负半周转到正半周,C1整流后输出一个衰减的波浪图形,因为C1充电了,7805是稳压模块,输出一个恒定的5V电压,C3和C2滤出杂散波和公频,7805的输出端不能高于输入端,所以加二极管保护7805。

原理图如下

电源原理图

5系统软件部分的设计

软件部分主要有三部分构成:

(1)温度的采集;

(2)温度数据的处理(3)数值的显示。

5.1温度的采集

5.1.1时序及协议

该部分设计时主要考虑DSI8B20工作过程及时序

DSI8B20工作过程中的协议如下:

初始化ROM操作命令存储器操作命令处理数据

⑴初始化

单总线上的所有处理均从初始化开始

(2)ROM操作品令

总线主机检测到DSI820的存在便可以发出ROM操作命令之一

(3)存储器操作命令

指令代码

WriteScratchpad;写暂存存储器)[4EH]

ReadScratchpad读暂存存储器)[BEH]

CopyScratchpad复制暂存存储器)[48H]

ConvertTemperature温度变换)[44H]

RecallEPROM;重新调出)[B8H]

ReadPowersupply读电源)[B4H]

⑷时序

主机使用时间隙(timeslots)来读写DSI8B20的数据位和写命令字的位

a).初始化

时序见下图•主机总线发送一复位脉冲(最短为480us的低电平信号)接着在释放总线并进入接收状态,DSl8B20在检测到总线的上升沿之后等待15-60us,接着DS18B20发出

存在脉冲(低电平持续60-240u9如图中虚线所示:

BUS

UNCTYF*ELEOEMO:

By#nwBtertucliwbw

iRABlflnrpu^-iip

初始化时序

b).写时间隙

当主机总线从高拉至低电平时就产生写时间隙,从开始15us之内应将所需写的位送到

总线上DSl8B20,在15-60us间对总线采样若低电平写入的位是0见下图4-2左;若高电

平写入的位是1见下图4-2右,连续写2位间的间隙应大于1us

写时隙图

c).读时间隙

见下图4-3主机总线从高拉至低电平时总线只须保持低电平15卩之后在t1时刻将总线拉高产生读时间隙读时间隙在t1时刻后t2时刻前有效tz距to为15卩也就是说tz时刻前主机必须完成读位并在to后的60卩S20^s内释放总线

读时隙图

5.1.2设计流程

该设计软件部分的灵魂就在于DS18B20的使用:

温度读取,需严格时序。

该模块的设计主程序流程图如下图;温度转换子程序下图:

主程序框图温度转换子程序

5.2温度数据的处理

该部分是在将温度传感器的数字量读入单片机后的处理内容。

主要包括正负号的处理、负数、正数、小数点的处理以及温度的比较,最终决定是否报警。

5.3数值的显示

P0口接数码管的七段显示及小数点,P2的前四个口接数码管的公共端,作为片选信号。

这里采用动态扫描的方式,在软件仿真时比较容易通过,但硬件焊接后难以出结果。

总结

本次毕业设计是对以往知识的综合应用,不但了解了AT89C51型单片机及其相关芯片的系统结构、工作原理,设计是按照单片机应用系统的开发步骤,开发硬件电路和软件开发的基本思路和方法进行的。

硬件系统的设计完成后,就要在其基础上设计系统所需要的软件系统,系统功能是软硬件共同实现的,两者缺一不可。

由于软件的可伸缩性,最终实现的系统功能可强可弱,差别很大。

因此,在硬件结构确定后,软件是系统功能强弱的决定性因素。

对于单片机如果没有软件系统,系统功能无法实现。

所以软件系统的正确与否是实现系统功能的关键。

软件系统不仅要正确还要能准确实现系统的功能要求。

本设计的软件系统采用模块化的设计思想来实现。

模块化设计是将一个大的程序按功能分割成一些小的模块,各个模块相对独立、结构清晰、接口简单。

利用这种模块化设计有许多优点;减少了程序设计的复杂性;提高了元件的可靠性;缩短了开发周期;避免程序开发的重复劳动;易于维护和功能扩展。

本设计的软件功能模块分为:

温度采集,温度数据处理,主程序模块,延时子程序等。

在整个系统设计过程中,严格按照硬件电路的设计规程,各个步骤都按计划有条不紊的进行,做到了设计工作分配合理,进程安排得当,文档资料充分,使整个系统的设计获得了圆满的成功。

总体来说这次所设计的电子温度计符合设计要求,能够达到预期的目标。

同时我也看到,由于时间和技术上的一些原因,系统中还有很多需要完善的地方,有待于以后工作中改进。

致谢

在本设计即将完成之际,首先我要对导师致意和衷心的感谢!

在整个毕业设计的过程中,翻阅了大量有关论文的书籍和相关资料,一点一点的分类、整理,丰富了自己的知识,也拓宽了视野。

从整理资料到形成论文的过程不是件容易的事情。

在撰写论文中,也遇到了很多不懂的知识点和失误,但是都得到了解决。

毕业设计的过程是一个自我总结,自我学习的过程,但也和老师、同学的帮助分不开的。

最后,再次感谢本次毕业设计的导师,使我完成了这次毕业设计。

感谢各位同学对我的帮助,只要我们不断的努力,不断的学习,我们的前途就是美好的!

参考文献:

[1]马忠梅等•单片机的C语言应用程序设计(第三版)•北京航空航天大学出版社.2004.

[2]先锋工作室.单片机程序设计实例.清华大学出版社.2003.

[3]万光毅等.单片机实验与实践教程.北京航空航天大学出版社.2004.

[4]李叶紫等.MCS-51单片机应用教程.清华大学出版社.2004.

[5]潘永雄著.新编单片机原理与应用.西安电子科技大学出版社.2005.

⑹汪德彪著.MCS-51单片机原理及接口技术.电子工业出版社.2003.

[7]汪建校、杨建国等.51系列单片机及C51程序设计.科学出版社.2002.

[8]何宏等、单片机原理与接口技术.国防工业出版社.2006.

//头函数

//0--4

//5--9

//'-'

//0.--4.

//5.--9.

初始化

voidinit(void)

附录

附录一源程序

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeLED_CODE[]={

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

ucharcodeLED_POINT_CODE[]={

0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};

ucharTemp_H,Temp_L;

uchardisp_ds18b20[6];

ucharnum;

ucharalarm_num;

chartemp_max;

chartemp_min;

sbitDQ=P3A7;

sbitSPEAK=P1A0;

sbitmotor=P1A1;

sbitled=P1A2;

bitalarm_flag;

voiddisplay(void);

floatds18b20_float_date(uchartempl);

voiddisp_float(floatdate);

num=0;

alarm_flag=0;

alarm_num=0;

temp_max=99;

//设置温度上限值

temp_min=0;

//设置温度下限值

TMOD=0x01;

//定时器T0工作于方式1

TH0=(65536-50000)/256;

//定时器T0赋初值

TL0=(65536-50000)%256;

EA=1;

//

开总允许中断

ET0=1;

//

开定时器T0中断

TR0=1;

//

启动定时器T0

 

/******1us的延时(12M)延时子程序*******/

voiddelay_us(ucharx)

while(--x);

//whencrystalis12M,a*2+5us,//子程序调用要

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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